Skip to content

Commit

Permalink
redis-cli: raise error on bad command line switch.
Browse files Browse the repository at this point in the history
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 f8ae70c
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion src/redis-cli.c
Expand Up @@ -729,7 +729,15 @@ static int parseOptions(int argc, char **argv) {
sdsfree(version);
exit(0);
} 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;
Expand Down

0 comments on commit f8ae70c

Please sign in to comment.