1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

* 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.
This commit is contained in:
David Shaw 2003-05-31 21:44:31 +00:00
parent d6e7a14fa7
commit c8abff498a
5 changed files with 60 additions and 72 deletions

View file

@ -86,13 +86,7 @@ static int merge_keysigs( KBNODE dst, KBNODE src, int *n_sigs,
int
parse_import_options(char *str,unsigned int *options)
{
char *tok;
int hit=0;
struct
{
char *name;
unsigned int bit;
} import_opts[]=
struct parse_options import_opts[]=
{
{"allow-local-sigs",IMPORT_ALLOW_LOCAL_SIGS},
{"repair-hkp-subkey-bug",IMPORT_REPAIR_PKS_SUBKEY_BUG},
@ -100,34 +94,7 @@ parse_import_options(char *str,unsigned int *options)
{NULL,0}
};
while((tok=strsep(&str," ,")))
{
int i,rev=0;
if(ascii_strncasecmp("no-",tok,3)==0)
{
rev=1;
tok+=3;
}
for(i=0;import_opts[i].name;i++)
{
if(ascii_strcasecmp(import_opts[i].name,tok)==0)
{
if(rev)
*options&=~import_opts[i].bit;
else
*options|=import_opts[i].bit;
hit=1;
break;
}
}
if(!hit && !import_opts[i].name)
return 0;
}
return hit;
return parse_options(str,options,import_opts);
}
void *