summaryrefslogtreecommitdiff
path: root/src/redis-cli.c
diff options
context:
space:
mode:
authorOzan Tezcan <ozantezcan@gmail.com>2022-03-30 21:16:02 +0300
committerGitHub <noreply@github.com>2022-03-30 21:16:02 +0300
commit7da1cc3e90e7c650790510961d46b7a3d11d14f8 (patch)
tree83ecb03abf90cc104e71c90919420655434ba0e1 /src/redis-cli.c
parent6075f5066334055dde1bd299d5f4954ad3de86ea (diff)
downloadredis-7da1cc3e90e7c650790510961d46b7a3d11d14f8.tar.gz
Use exit code 1 on error in redis-cli (#10468)
On error, redis-cli was returning `REDIS_ERR` on some cases by mistake. `REDIS_ERR` is `-1` which becomes `255` as exit code. This commit changes it and returns `1` on errors to be consistent.
Diffstat (limited to 'src/redis-cli.c')
-rw-r--r--src/redis-cli.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/redis-cli.c b/src/redis-cli.c
index 8bb83880f..1cd1ad85c 100644
--- a/src/redis-cli.c
+++ b/src/redis-cli.c
@@ -2758,7 +2758,7 @@ static int noninteractive(int argc, char **argv) {
retval = issueCommand(argc, sds_args);
sdsfreesplitres(sds_args, argc);
- return retval;
+ return retval == REDIS_OK ? 0 : 1;
}
/*------------------------------------------------------------------------------
@@ -2845,7 +2845,7 @@ static int evalMode(int argc, char **argv) {
break; /* Return to the caller. */
}
}
- return retval;
+ return retval == REDIS_OK ? 0 : 1;
}
/*------------------------------------------------------------------------------
@@ -9064,11 +9064,7 @@ int main(int argc, char **argv) {
if (cliConnect(0) != REDIS_OK) exit(1);
return evalMode(argc,argv);
} else {
- int connected = (cliConnect(CC_QUIET) == REDIS_OK);
- /* Try to serve command even we are not connected. e.g. help command */
- int retval = noninteractive(argc,argv);
- /* If failed to connect, exit with "1" for backward compatibility */
- if (retval != REDIS_OK && !connected) exit(1);
- return retval;
+ cliConnect(CC_QUIET);
+ return noninteractive(argc,argv);
}
}