Commit 42ba5d37 authored by antirez's avatar antirez
Browse files

redis-cli: raise error on bad command line switch.

Previously redis-cli never tried to raise an error when an unrecognized
switch was encountered, as everything after the initial options is to be
transmitted to the server.

However this is too liberal, as there are no commands starting with "-".
So the new behavior is to produce an error if there is an unrecognized
switch starting with "-". This should not break past redis-cli usages
but should prevent broken options to be silently discarded.

As far the first token not starting with "-" is encountered, all the
rest is considered to be part of the command, so you cna still use
strings starting with "-" as values, like in:

    redis-cli --port 6380 set foo --my-value
parent 0d7b10ee
...@@ -728,7 +728,15 @@ static int parseOptions(int argc, char **argv) { ...@@ -728,7 +728,15 @@ static int parseOptions(int argc, char **argv) {
sdsfree(version); sdsfree(version);
exit(0); exit(0);
} else { } else {
break; if (argv[i][0] == '-') {
fprintf(stderr,
"Unrecognized option or bad number of args for: '%s'\n",
argv[i]);
exit(1);
} else {
/* Likely the command name, stop here. */
break;
}
} }
} }
return i; return i;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment