aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-05-21 08:22:57 +0000
committerWerner Koch <[email protected]>2016-05-21 08:31:20 +0000
commitdac2c5441d418536632f014c8b0e1359580279d1 (patch)
tree69cc2a97cb78fa8b44df5a79e36b4a6a0c64b9f3
parentcore: New functions to help parsing of status lines. (diff)
downloadgpgme-dac2c5441d418536632f014c8b0e1359580279d1.tar.gz
gpgme-dac2c5441d418536632f014c8b0e1359580279d1.zip
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 <[email protected]>
-rw-r--r--doc/gpgme.texi6
-rw-r--r--src/context.h5
-rw-r--r--src/gpgme.c13
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);