Fixed bug#1044. Use of --fingerprint with --with-fingerprint.
authorWerner Koch <wk@gnupg.org>
Wed, 20 May 2009 10:23:33 +0000 (10:23 +0000)
committerWerner Koch <wk@gnupg.org>
Wed, 20 May 2009 10:23:33 +0000 (10:23 +0000)
g10/ChangeLog
g10/gpg.c

index 67a49f9..60c9d8c 100644 (file)
@@ -1,5 +1,8 @@
 2009-05-20  Werner Koch  <wk@g10code.com>
 
+       * gpg.c (main): Fix --fingerprint/--with-fingerprint command
+       detection.  Fixes bug#1044.
+
        * keygen.c (ask_keysize): Allow selection of DSA key size even
        without --enable-dsa2.
        (gen_dsa): Remove size check.
index f4f2940..1fe7a77 100644 (file)
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -1892,7 +1892,7 @@ main (int argc, char **argv)
     int eyes_only=0;
     int multifile=0;
     int pwfd = -1;
-    int with_fpr = 0; /* make an option out of --fingerprint */
+    int fpr_maybe_cmd = 0; /* --fingerprint maybe a command.  */
     int any_explicit_recipient = 0;
     int require_secmem=0,got_secmem=0;
 
@@ -2241,8 +2241,13 @@ main (int argc, char **argv)
 
          case oWithFingerprint:
             opt.with_fingerprint = 1;
-            with_fpr=1; /*fall thru*/
-         case oFingerprint: opt.fingerprint++; break;
+            opt.fingerprint++;
+            break;
+         case oFingerprint:
+            opt.fingerprint++;
+            fpr_maybe_cmd = 1;
+            break;
+
          case oSecretKeyring:
             append_to_strlist( &sec_nrings, pargs.r.ret_str);
             break;
@@ -3299,9 +3304,12 @@ main (int argc, char **argv)
        xfree(p);
     }
 
-    if( !cmd && opt.fingerprint && !with_fpr ) {
-       set_cmd( &cmd, aListKeys);
-    }
+    /* If there is no command but the --fingerprint is given, default
+       to the --list-keys command.  */
+    if (!cmd && fpr_maybe_cmd)
+      {
+       set_cmd (&cmd, aListKeys);
+      }
 
 
     if( opt.verbose > 1 )