diff options
| -rw-r--r-- | doc/gpgme.texi | 6 | ||||
| -rw-r--r-- | src/context.h | 5 | ||||
| -rw-r--r-- | src/gpgme.c | 13 | 
3 files changed, 22 insertions, 2 deletions
| diff --git a/doc/gpgme.texi b/doc/gpgme.texi index 4d7a8746..8d666c3d 100644 --- a/doc/gpgme.texi +++ b/doc/gpgme.texi @@ -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  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  This function returns @code{0} on success. diff --git a/src/context.h b/src/context.h index 078f0cbd..de69a7a6 100644 --- a/src/context.h +++ b/src/context.h @@ -105,6 +105,11 @@ struct gpgme_context     * lines.  */    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.  */    gpgme_keylist_mode_t keylist_mode; diff --git a/src/gpgme.c b/src/gpgme.c index 3289be9d..e0cd9b05 100644 --- a/src/gpgme.c +++ b/src/gpgme.c @@ -93,11 +93,20 @@ gpgme_set_global_flag (const char *name, const char *value)  gpgme_error_t  gpgme_set_ctx_flag (gpgme_ctx_t ctx, const char *name, const char *value)  { +  int abool; +    if (!ctx || !name || !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 = abool; +    } +  else if (!strcmp (name, "raw-description"))      { -      ctx->full_status = *value? !!atoi (value) : 0; +      ctx->raw_description = abool;      }    else      return gpg_error (GPG_ERR_UNKNOWN_NAME); | 
