api: Add new context flag "raw-description".

* src/context.h (struct gpgme_context): Add field raw_description.
* src/gpgme.c (gpgme_set_ctx_flag): New flag.

Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2016-05-21 10:22:57 +02:00
parent a92946a8ca
commit dac2c5441d
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
3 changed files with 22 additions and 2 deletions

View File

@ -2752,6 +2752,12 @@ gpgme_set_status_cb returns all status lines with the exception of
PROGRESS lines. With the default of "0" the status callback is only PROGRESS lines. With the default of "0" the status callback is only
called in certain situations. called in certain situations.
@item "raw-description"
Setting the @var{value} to "1" returns human readable strings in a raw
format. For example the non breaking space characters ("~") will not
be removed from the @code{description} field of the
@code{gpgme_tofu_info_t} object.
@end table @end table
This function returns @code{0} on success. This function returns @code{0} on success.

View File

@ -105,6 +105,11 @@ struct gpgme_context
* lines. */ * lines. */
unsigned int full_status : 1; unsigned int full_status : 1;
/* The Tofu info has a human readable string which is presented to
* the user in a directly usable format. By enabling this flag the
* unmodified string, as received form gpg, will be returned. */
unsigned int raw_description : 1;
/* Flags for keylist mode. */ /* Flags for keylist mode. */
gpgme_keylist_mode_t keylist_mode; gpgme_keylist_mode_t keylist_mode;

View File

@ -93,11 +93,20 @@ gpgme_set_global_flag (const char *name, const char *value)
gpgme_error_t gpgme_error_t
gpgme_set_ctx_flag (gpgme_ctx_t ctx, const char *name, const char *value) gpgme_set_ctx_flag (gpgme_ctx_t ctx, const char *name, const char *value)
{ {
int abool;
if (!ctx || !name || !value) if (!ctx || !name || !value)
return gpg_error (GPG_ERR_INV_VALUE); return gpg_error (GPG_ERR_INV_VALUE);
else if (!strcmp (name, "full-status"))
abool = *value? !!atoi (value) : 0;
if (!strcmp (name, "full-status"))
{ {
ctx->full_status = *value? !!atoi (value) : 0; ctx->full_status = abool;
}
else if (!strcmp (name, "raw-description"))
{
ctx->raw_description = abool;
} }
else else
return gpg_error (GPG_ERR_UNKNOWN_NAME); return gpg_error (GPG_ERR_UNKNOWN_NAME);