aboutsummaryrefslogtreecommitdiffstats
path: root/g10/g10.c
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2002-11-08 03:31:21 +0000
committerDavid Shaw <[email protected]>2002-11-08 03:31:21 +0000
commit7911a5ed86925eb24ce2df962965ee3ee51c47ff (patch)
tree48d3b2dd2a040e006f23ca40e001a5605706e5ed /g10/g10.c
parent* options.h, g10.c (main), trustdb.c (ask_ownertrust): Add (diff)
downloadgnupg-7911a5ed86925eb24ce2df962965ee3ee51c47ff.tar.gz
gnupg-7911a5ed86925eb24ce2df962965ee3ee51c47ff.zip
* keyring.h, keyring.c (keyring_register_filename): Return the pointer if
a given keyring is registered twice. * keydb.h, keydb.c (keydb_add_resource): Use flags to indicate a default keyring. (keydb_locate_writable): Prefer the default keyring if possible. * g10.c (main): Add --default-keyring option.
Diffstat (limited to 'g10/g10.c')
-rw-r--r--g10/g10.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/g10/g10.c b/g10/g10.c
index 19c1828e6..d83589eb1 100644
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -141,6 +141,7 @@ enum cmd_and_opt_values { aNull = 0,
oAnswerNo,
oDefCertCheckLevel,
oKeyring,
+ oDefaultKeyring,
oSecretKeyring,
oShowKeyring,
oDefaultKey,
@@ -420,6 +421,7 @@ static ARGPARSE_OPTS opts[] = {
{ oAnswerYes, "yes", 0, N_("assume yes on most questions")},
{ oAnswerNo, "no", 0, N_("assume no on most questions")},
{ oKeyring, "keyring" ,2, N_("add this keyring to the list of keyrings")},
+ { oDefaultKeyring, "default-keyring",2, "@" },
{ oSecretKeyring, "secret-keyring" ,2, N_("add this secret keyring to the list")},
{ oShowKeyring, "show-keyring", 0, N_("show which keyring a listed key is on")},
{ oDefaultKey, "default-key" ,2, N_("|NAME|use NAME as default secret key")},
@@ -1368,6 +1370,10 @@ main( int argc, char **argv )
case oAnswerYes: opt.answer_yes = 1; break;
case oAnswerNo: opt.answer_no = 1; break;
case oKeyring: append_to_strlist( &nrings, pargs.r.ret_str); break;
+ case oDefaultKeyring:
+ sl=append_to_strlist( &nrings, pargs.r.ret_str);
+ sl->flags=2;
+ break;
case oShowKeyring: opt.show_keyring = 1; break;
case oDebug: opt.debug |= pargs.r.ret_ulong; break;
case oDebugAll: opt.debug = ~0; break;
@@ -2052,7 +2058,7 @@ main( int argc, char **argv )
if( !nrings || default_keyring ) /* add default ring */
keydb_add_resource ("pubring" EXTSEP_S "gpg", 0, 0);
for(sl = nrings; sl; sl = sl->next )
- keydb_add_resource ( sl->d, 0, 0 );
+ keydb_add_resource ( sl->d, sl->flags, 0 );
}
FREE_STRLIST(nrings);
FREE_STRLIST(sec_nrings);