aboutsummaryrefslogtreecommitdiffstats
path: root/g10/g10.c
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2004-02-12 18:32:09 +0000
committerDavid Shaw <[email protected]>2004-02-12 18:32:09 +0000
commit76f579b2336d3bd8b761dcd0133f8597cb4d1f9a (patch)
tree26652a12b38a8385a58faa97e81e93506c3d2128 /g10/g10.c
parent* import.c (import_one): Do the revocation check even in the case when a (diff)
downloadgnupg-76f579b2336d3bd8b761dcd0133f8597cb4d1f9a.tar.gz
gnupg-76f579b2336d3bd8b761dcd0133f8597cb4d1f9a.zip
* main.h, keyedit.c (keyedit_menu): Remove sign_mode and enhance the more
general command list functionality to replace it. * g10.c (main): Use the general command functionality to implement --sign-key, --lsign-key, --nrsign-key, and --nrlsign-key.
Diffstat (limited to '')
-rw-r--r--g10/g10.c54
1 files changed, 29 insertions, 25 deletions
diff --git a/g10/g10.c b/g10/g10.c
index 6393c522c..0749ff6dc 100644
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -2853,37 +2853,41 @@ main( int argc, char **argv )
}
break;
- case aSignKey: /* sign the key given as argument */
+ case aSignKey:
if( argc != 1 )
- wrong_args(_("--sign-key user-id"));
- username = make_username( fname );
- keyedit_menu(fname, locusr, NULL, 1 );
- m_free(username);
- break;
-
+ wrong_args(_("--sign-key user-id"));
+ /* fall through */
case aLSignKey:
if( argc != 1 )
- wrong_args(_("--lsign-key user-id"));
- username = make_username( fname );
- keyedit_menu(fname, locusr, NULL, 2 );
- m_free(username);
- break;
-
+ wrong_args(_("--lsign-key user-id"));
+ /* fall through */
case aNRSignKey:
if( argc != 1 )
- wrong_args(_("--nrsign-key user-id"));
- username = make_username( fname );
- keyedit_menu(fname, locusr, NULL, 3 );
- m_free(username);
- break;
-
+ wrong_args(_("--nrsign-key user-id"));
+ /* fall through */
case aNRLSignKey:
if( argc != 1 )
- wrong_args(_("--nrlsign-key user-id"));
+ wrong_args(_("--nrlsign-key user-id"));
+
+ sl=NULL;
+
+ if(cmd==aSignKey)
+ append_to_strlist(&sl,"sign");
+ else if(cmd==aLSignKey)
+ append_to_strlist(&sl,"lsign");
+ else if(cmd==aNRSignKey)
+ append_to_strlist(&sl,"nrsign");
+ else if(cmd==aNRLSignKey)
+ append_to_strlist(&sl,"nrlsign");
+ else
+ BUG();
+
+ append_to_strlist( &sl, "save" );
username = make_username( fname );
- keyedit_menu(fname, locusr, NULL, 4 );
- m_free(username);
- break;
+ keyedit_menu(fname, locusr, sl, 0, 0 );
+ m_free(username);
+ free_strlist(sl);
+ break;
case aEditKey: /* Edit a key signature */
if( !argc )
@@ -2893,11 +2897,11 @@ main( int argc, char **argv )
sl = NULL;
for( argc--, argv++ ; argc; argc--, argv++ )
append_to_strlist( &sl, *argv );
- keyedit_menu( username, locusr, sl, 0 );
+ keyedit_menu( username, locusr, sl, 0, 1 );
free_strlist(sl);
}
else
- keyedit_menu(username, locusr, NULL, 0 );
+ keyedit_menu(username, locusr, NULL, 0, 1 );
m_free(username);
break;