From 27f8cf6dfc1b25b3bf5d1b6e0038ec642546c8a9 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 10 Jan 2001 23:42:03 +0000 Subject: made "short options" possible to specify -m20 as well as -m 200. --- src/main.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main.c b/src/main.c index a4685acf5..f99c24538 100644 --- a/src/main.c +++ b/src/main.c @@ -510,6 +510,8 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ time_t now; int hit=-1; bool longopt=FALSE; + bool singleopt=FALSE; /* when true means '-o foo' used '-ofoo' */ + /* single-letter, long-name, @@ -640,7 +642,11 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ if(hit < 0) { return PARAM_OPTION_UNKNOWN; } - if((!nextarg || !*nextarg) && aliases[hit].extraparam) { + if(!longopt && flag[1]) { + nextarg=&flag[1]; /* this is the actual extra parameter */ + singleopt=TRUE; /* don't loop anymore after this */ + } + else if((!nextarg || !*nextarg) && aliases[hit].extraparam) { return PARAM_REQUIRES_PARAMETER; } else if(nextarg && aliases[hit].extraparam) @@ -1056,7 +1062,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ } hit = -1; - } while(*++parse && !*usedarg); + } while(!singleopt && *++parse && !*usedarg); return PARAM_OK; } -- cgit v1.2.3