diff options
author | David Shaw <[email protected]> | 2003-05-31 21:52:16 +0000 |
---|---|---|
committer | David Shaw <[email protected]> | 2003-05-31 21:52:16 +0000 |
commit | ff43d07819d50c1b96f9034f5fbb5f5ce581f4bd (patch) | |
tree | 13e3845bc9b9392d862f4d9d335bc376016c5be6 /g10/export.c | |
parent | * keylist.c (list_one): Don't show the keyring filename when in (diff) | |
download | gnupg-ff43d07819d50c1b96f9034f5fbb5f5ce581f4bd.tar.gz gnupg-ff43d07819d50c1b96f9034f5fbb5f5ce581f4bd.zip |
* main.h, misc.c (parse_options): New general option line parser. Fix the
bug in the old version that did not handle report syntax errors after a
valid entry.
* import.c (parse_import_options), export.c (parse_export_options): Call
it here instead of duplicating the code.
Diffstat (limited to 'g10/export.c')
-rw-r--r-- | g10/export.c | 38 |
1 files changed, 2 insertions, 36 deletions
diff --git a/g10/export.c b/g10/export.c index e036e2520..5783f6ac1 100644 --- a/g10/export.c +++ b/g10/export.c @@ -42,13 +42,7 @@ static int do_export_stream( IOBUF out, STRLIST users, int secret, int parse_export_options(char *str,unsigned int *options) { - char *tok; - int hit=0; - struct - { - char *name; - unsigned int bit; - } export_opts[]= + struct parse_options export_opts[]= { {"include-non-rfc",EXPORT_INCLUDE_NON_RFC}, {"include-local-sigs",EXPORT_INCLUDE_LOCAL_SIGS}, @@ -58,34 +52,7 @@ parse_export_options(char *str,unsigned int *options) /* add tags for include revoked and disabled? */ }; - while((tok=strsep(&str," ,"))) - { - int i,rev=0; - - if(ascii_strncasecmp("no-",tok,3)==0) - { - rev=1; - tok+=3; - } - - for(i=0;export_opts[i].name;i++) - { - if(ascii_strcasecmp(export_opts[i].name,tok)==0) - { - if(rev) - *options&=~export_opts[i].bit; - else - *options|=export_opts[i].bit; - hit=1; - break; - } - } - - if(!hit && !export_opts[i].name) - return 0; - } - - return hit; + return parse_options(str,options,export_opts); } /**************** @@ -427,4 +394,3 @@ do_export_stream( IOBUF out, STRLIST users, int secret, log_info(_("WARNING: nothing exported\n")); return rc; } - |