* engine-gpgsm.c (_gpgme_gpgsm_op_keylist)
authorWerner Koch <wk@gnupg.org>
Tue, 21 May 2002 15:14:35 +0000 (15:14 +0000)
committerWerner Koch <wk@gnupg.org>
Tue, 21 May 2002 15:14:35 +0000 (15:14 +0000)
(_gpgme_gpgsm_op_keylist_ext):  Pass the keylist mode to gpgsm.

* configure.ac (NEED_GPGSM_VERSION): We need gpgsm 0.3.7.

trunk/ChangeLog
trunk/configure.ac
trunk/gpgme/ChangeLog
trunk/gpgme/engine-gpgsm.c

index 100a98ec5dc3222c6e2c9690d8341d5f5bf90c19..00aa55b92d2a75334867719384ec84a73dee0a92 100644 (file)
@@ -1,3 +1,7 @@
+2002-05-21  Werner Koch  <wk@gnupg.org>
+
+       * configure.ac (NEED_GPGSM_VERSION): We need gpgsm 0.3.7.
+
 2002-05-03  Werner Koch  <wk@gnupg.org>
 
        Released 0.3.6.
index b61ddb141a056bc586e5b79d38639747cb8ae466..3e160e1a9a34a2e25870a0721d91b347d044215b 100644 (file)
@@ -31,7 +31,7 @@ LIBGPGME_LT_CURRENT=8
 LIBGPGME_LT_AGE=2
 LIBGPGME_LT_REVISION=0
 NEED_GPG_VERSION=1.0.7
-NEED_GPGSM_VERSION=0.3.6
+NEED_GPGSM_VERSION=0.3.7
 ##############################################
 AC_PREREQ(2.52)
 AC_REVISION($Revision$)
index fc030153aefb0c3c2b9d371cca4c6f4700efac01..bf78bfa355d8a0aba3f8a69fde0c6639f6e69f01 100644 (file)
@@ -1,3 +1,8 @@
+2002-05-21  Werner Koch  <wk@gnupg.org>
+
+       * engine-gpgsm.c (_gpgme_gpgsm_op_keylist)
+       (_gpgme_gpgsm_op_keylist_ext):  Pass the keylist mode to gpgsm.
+
 2002-05-10  Werner Koch  <wk@gnupg.org>
 
        * key.h (gpgme_key_s): Add OTRUST.
index bb2e55308ea7d006152e1ea87792b3adf016e8fb..8d831a33795deaa1aa6857b38dd4b9c57a45f963 100644 (file)
@@ -713,10 +713,18 @@ _gpgme_gpgsm_op_keylist (GpgsmObject gpgsm, const char *pattern,
                         int secret_only, int keylist_mode)
 {
   char *line;
+  GpgmeError err;
 
   if (!pattern)
     pattern = "";
 
+  if (asprintf (&line, "OPTION list-mode=%d", (keylist_mode & 3)) < 0)
+    return mk_error (Out_Of_Core);
+  err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, line);
+  free (line);
+  if (err)
+    return err;
+
   /* Length is "LISTSECRETKEYS " + p + '\0'.  */
   line = xtrymalloc (15 + strlen (pattern) + 1);
   if (!line)
@@ -753,6 +761,13 @@ _gpgme_gpgsm_op_keylist_ext (GpgsmObject gpgsm, const char *pattern[],
   if (reserved)
     return mk_error (Invalid_Value);
 
+  if (asprintf (&line, "OPTION list-mode=%d", (keylist_mode & 3)) < 0)
+    return mk_error (Out_Of_Core);
+  err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, line);
+  free (line);
+  if (err)
+    return err;
+
   if (pattern && *pattern)
     {
       const char **pat = pattern;