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
  • Loading branch information...
antirez committed Apr 11, 2013
1 parent 0280c2f commit f8ae70cf7c514c14ca3d2b4d82d959b717d257af
Showing with 9 additions and 1 deletion.
  1. +9 −1 src/redis-cli.c
@@ -729,7 +729,15 @@ static int parseOptions(int argc, char **argv) {
} 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;

0 comments on commit f8ae70c

Please sign in to comment.