From 5b39a48e22b95d23aa1066cf98cc0ad5f62eba4e Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 6 Oct 2000 12:45:05 +0000 Subject: corrected the --longoption parser --- src/main.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main.c b/src/main.c index 7c16e8ae8..6b596c3de 100644 --- a/src/main.c +++ b/src/main.c @@ -504,23 +504,26 @@ static int getparameter(char *flag, /* f or -long-flag */ if('-' == flag[0]) { /* try a long name */ int fnam=strlen(&flag[1]); + int numhits=0; for(j=0; j< sizeof(aliases)/sizeof(aliases[0]); j++) { if(strnequal(aliases[j].lname, &flag[1], fnam)) { longopt = TRUE; + numhits++; if(strequal(aliases[j].lname, &flag[1])) { parse = aliases[j].letter; hit = j; + numhits = 1; /* a single unique hit */ break; } - if(parse) { - /* this is the second match, we can't continue! */ - helpf("option --%s is ambiguous\n", &flag[1]); - return CURLE_FAILED_INIT; - } parse = aliases[j].letter; hit = j; } } + if(numhits>1) { + /* this is at least the second match! */ + helpf("option --%s is ambiguous\n", &flag[1]); + return CURLE_FAILED_INIT; + } if(hit < 0) { helpf("unknown option -%s.\n", flag); return CURLE_FAILED_INIT; -- cgit v1.2.3