aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keyserver.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/keyserver.c')
-rw-r--r--g10/keyserver.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/g10/keyserver.c b/g10/keyserver.c
index 4f3c4e790..e2477c61d 100644
--- a/g10/keyserver.c
+++ b/g10/keyserver.c
@@ -66,25 +66,27 @@ struct kopts
void
parse_keyserver_options(char *options)
{
- char *tok="";
+ char *tok;
- do
+ while((tok=strsep(&options," ,")))
{
- struct kopts *kopts=keyserver_opts;
int i,hit=0;
- for(i=0,kopts=keyserver_opts;kopts[i].name;i++)
+ if(tok[0]=='\0')
+ continue;
+
+ for(i=0;keyserver_opts[i].name;i++)
{
- if(ascii_strcasecmp(tok,kopts[i].name)==0)
+ if(ascii_strcasecmp(tok,keyserver_opts[i].name)==0)
{
- *(kopts[i].flag)=1;
+ *(keyserver_opts[i].flag)=1;
hit=1;
break;
}
- else if(ascii_memcasecmp("no-",tok,3)==0 && strlen(tok)>3 &&
- ascii_strcasecmp(&tok[3],kopts[i].name)==0)
+ else if(ascii_memcasecmp("no-",tok,3)==0 &&
+ ascii_strcasecmp(&tok[3],keyserver_opts[i].name)==0)
{
- *(kopts[i].flag)=0;
+ *(keyserver_opts[i].flag)=0;
hit=1;
break;
}
@@ -111,10 +113,7 @@ parse_keyserver_options(char *options)
else if(strlen(tok)>0)
add_to_strlist(&opt.keyserver_options.other,tok);
}
-
- tok=strsep(&options," ,");
}
- while(tok!=NULL);
}
int