diff options
author | Ingo Klöcker <[email protected]> | 2023-08-14 09:39:27 +0000 |
---|---|---|
committer | Ingo Klöcker <[email protected]> | 2023-08-14 10:23:55 +0000 |
commit | d72811a2c09411f8fdc821eb78d16ce8fbd5a184 (patch) | |
tree | 5cab642519d813601f39972cf0a29f8c23a76f15 /src | |
parent | cpp: Expose gpgme_decrypt_result_t.is_mime through cpp API (diff) | |
download | gpgme-d72811a2c09411f8fdc821eb78d16ce8fbd5a184.tar.gz gpgme-d72811a2c09411f8fdc821eb78d16ce8fbd5a184.zip |
core: Store engine's version string in gpgsm engine
* src/engine-gpgsm.c (struct engine_gpgsm): Add field 'version'.
(gpgsm_new): Copy version string.
(gpgsm_release): Free VERSION.
--
GnuPG-bug-id: 6648
Diffstat (limited to 'src')
-rw-r--r-- | src/engine-gpgsm.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/engine-gpgsm.c b/src/engine-gpgsm.c index 07c76e9b..cfbef315 100644 --- a/src/engine-gpgsm.c +++ b/src/engine-gpgsm.c @@ -68,6 +68,7 @@ typedef struct struct engine_gpgsm { assuan_context_t assuan_ctx; + char *version; int lc_ctype_set; int lc_messages_set; @@ -254,6 +255,9 @@ gpgsm_release (void *engine) gpgsm_cancel (engine); + if (gpgsm->version) + free (gpgsm->version); + gpgme_data_release (gpgsm->diagnostics); free (gpgsm->colon.attic.line); @@ -281,12 +285,20 @@ gpgsm_new (void **engine, const char *file_name, const char *home_dir, char *optstr; unsigned int connect_flags; - (void)version; /* Not yet used. */ - gpgsm = calloc (1, sizeof *gpgsm); if (!gpgsm) return gpg_error_from_syserror (); + if (version) + { + gpgsm->version = strdup (version); + if (!gpgsm->version) + { + err = gpg_error_from_syserror (); + goto leave; + } + } + gpgsm->status_cb.fd = -1; gpgsm->status_cb.dir = 1; gpgsm->status_cb.tag = 0; |