* keylist.c (print_seckey_info, print_pubkey_info): --keyid-format
[gnupg.git] / g10 / revoke.c
index b6e9e63..b973ff6 100644 (file)
@@ -1,5 +1,6 @@
 /* revoke.c
- * Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003,
+ *               2004 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
@@ -89,7 +90,7 @@ export_minimal_pk(IOBUF out,KBNODE keyblock,
   node=find_kbnode(keyblock,PKT_PUBLIC_KEY);
   if(!node)
     {
-      log_error(_("key incomplete\n"));
+      log_error("key incomplete\n");
       return G10ERR_GENERAL;
     }
 
@@ -142,7 +143,7 @@ export_minimal_pk(IOBUF out,KBNODE keyblock,
            break;
          else
            {
-             log_error(_("key %08lX incomplete\n"),(ulong)keyid[1]);
+             log_error(_("key %s has no user IDs\n"),keystr(keyid));
              return G10ERR_GENERAL;
            }
        }
@@ -260,35 +261,16 @@ gen_desig_revoke( const char *uname )
        /* We have the revocation key */
        if(!rc)
          {
-           size_t n;
-           char *p;
-           u32 sk_keyid[2];
-           PKT_signature *revkey=NULL;
-
-           any=1;
-           keyid_from_sk(sk,sk_keyid);
-
-           tty_printf("\npub  %4u%c/%08lX %s   ",
-                      nbits_from_pk( pk ),
-                      pubkey_letter( pk->pubkey_algo ),
-                      (ulong)keyid[1], datestr_from_pk(pk) );
-
-           p = get_user_id( keyid, &n );
-           tty_print_utf8_string( p, n );
-           m_free(p);
-           tty_printf("\n\n");
-
-           tty_printf(_("To be revoked by:\n"));
-
-           tty_printf("\nsec  %4u%c/%08lX %s   ",
-                      nbits_from_sk( sk ),
-                      pubkey_letter( sk->pubkey_algo ),
-                      (ulong)sk_keyid[1], datestr_from_sk(sk) );
-
-           p = get_user_id( sk_keyid, &n );
-           tty_print_utf8_string( p, n );
-           m_free(p);
-           tty_printf("\n");
+           PKT_signature *revkey = NULL;
+
+           any = 1;
+
+            print_pubkey_info (NULL, pk);
+           tty_printf ("\n");
+
+           tty_printf (_("To be revoked by:\n"));
+            print_seckey_info (sk);
+
            if(pk->revkey[i].class&0x40)
              tty_printf(_("(This is a sensitive revocation key)\n"));
            tty_printf("\n");
@@ -313,7 +295,7 @@ gen_desig_revoke( const char *uname )
              goto leave;
 
            afx.what = 1;
-           afx.hdrlines = "Comment: A revocation certificate should follow\n";
+           afx.hdrlines = "Comment: A designated revocation certificate should follow\n";
            iobuf_push_filter( out, armor_filter, &afx );
 
            /* create it */
@@ -464,17 +446,8 @@ gen_revoke( const char *uname )
      * it's used all over the source */
     sk = node->pkt->pkt.secret_key;
     keyid_from_sk( sk, sk_keyid );
-    tty_printf("\nsec  %4u%c/%08lX %s   ",
-             nbits_from_sk( sk ),
-             pubkey_letter( sk->pubkey_algo ),
-             (ulong)sk_keyid[1], datestr_from_sk(sk) );
-    {
-       size_t n;
-       char *p = get_user_id( sk_keyid, &n );
-       tty_print_utf8_string( p, n );
-       m_free(p);
-       tty_printf("\n");
-    }
+    print_seckey_info (sk);
+
     pk = m_alloc_clear( sizeof *pk );
 
     /* FIXME: We should get the public key direct from the secret one */
@@ -549,7 +522,7 @@ gen_revoke( const char *uname )
        goto leave;
     }
 
-    if(opt.pgp2 || opt.pgp6 || opt.pgp7)
+    if(PGP2 || PGP6 || PGP7 || PGP8)
       {
        /* Use a minimal pk for PGPx mode, since PGP can't import bare
           revocation certificates. */
@@ -608,6 +581,7 @@ ask_revocation_reason( int key_rev, int cert_rev, int hint )
     const char *code_text = NULL;
 
     do {
+        code=-1;
        m_free(description);
        description = NULL;
 
@@ -635,7 +609,7 @@ ask_revocation_reason( int key_rev, int cert_rev, int hint )
              return NULL; /* cancel */
            if( hint && !*answer )
                n = hint;
-           else if(!isdigit( *answer ) )
+           else if(!digitp( answer ) )
                n = -1;
            else
                n = atoi(answer);