Hi, 
I am using the 
If(err) way to check if there is an error as GPG_ERR_NO_ERR is 0. But actually 
the gpgme_op_decrypt operation is successful. However, when I do something like 
: int len = gpgme_data_seek(plaintextdata, 0, SEEK_END); len is equal to zero. 
So I assume that the data haven't been decrypted or written to the buffer.

Thanks. 
F. 







Le 15 avr. 2016 19:05, à 19:05, Werner Koch <[email protected]> a écrit:
>On Thu, 14 Apr 2016 22:41, [email protected] said:
>
>> I'm trying to decrypt a cipher using gpgme. I have a correct cipher
>and
>> have imported the private key but the plain result of
>gpgme_op_decrypt
>> is empty. The error returned is GPG_ERR_NO_ERROR...
>
>Which means success.  In general you test for an error this way:
>
>      err = gpgme_foo (&data);
>      if (err)
>
>Of course you could also do
>
>      if (err != 0)
>         report_error_foo (gpg_strerror (err));
>      else
>         process_returned_data (data);
>
>which is identical to the above or
>
>      if (err != GPG_ERR_NO_ERROR)
>         report_error_foo (gpg_strerror (err));
>      else
>         process_returned_data (data);
>
>which is also identical because GPG_ERR_NO_ERROR expands to 0.  I would
>prefer the first becuase it is easier to read.
>
>If you need more help, I suggest to post a snippet of your code.
>
>
>Salam-Shalom,
>
>   Werner
>
>
>ps.
>And yes, some put the constant first like
>      if (0 == err)
>to detect an unintentional assignment to the lvalue.  However, modern
>compilers are pretty good in warning about unintentional assignments
>and
>thus _I_ do not use that.  Comparing false or true is anyway better
>done
>without an explicit compare operator - that pattern is easier to parse
>for the brain.
>
>--
>Die Gedanken sind frei.  Ausnahmen regelt ein Bundesgesetz.
_______________________________________________
Gnupg-users mailing list
[email protected]
http://lists.gnupg.org/mailman/listinfo/gnupg-users

Reply via email to