X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/465b4189e6094170b3e7a025f665ce62e572e7b0..93666e583cf344ff97e87503c77d9b3020ab357b:/src/config.c diff --git a/src/config.c b/src/config.c index ea2dba15..48f90349 100644 --- a/src/config.c +++ b/src/config.c @@ -66,7 +66,7 @@ void loadServerConfig(char *filename) { } } else if (!strcasecmp(argv[0],"port") && argc == 2) { server.port = atoi(argv[1]); - if (server.port < 1 || server.port > 65535) { + if (server.port < 0 || server.port > 65535) { err = "Invalid port"; goto loaderr; } } else if (!strcasecmp(argv[0],"bind") && argc == 2) { @@ -285,6 +285,13 @@ void loadServerConfig(char *filename) { err = "Target command name already exists"; goto loaderr; } } + } else if (!strcasecmp(argv[0],"cluster-enabled") && argc == 2) { + if ((server.cluster_enabled = yesnotoi(argv[1])) == -1) { + err = "argument must be 'yes' or 'no'"; goto loaderr; + } + } else if (!strcasecmp(argv[0],"cluster-config-file") && argc == 2) { + zfree(server.cluster.configfile); + server.cluster.configfile = zstrdup(argv[1]); } else { err = "Bad directive or wrong number of arguments"; goto loaderr; } @@ -468,10 +475,12 @@ void configGetCommand(redisClient *c) { if (stringmatch(pattern,"dir",0)) { char buf[1024]; - buf[0] = '\0'; - getcwd(buf,sizeof(buf)); addReplyBulkCString(c,"dir"); - addReplyBulkCString(c,buf); + if (getcwd(buf,sizeof(buf)) == NULL) { + buf[0] = '\0'; + } else { + addReplyBulkCString(c,buf); + } matches++; } if (stringmatch(pattern,"dbfilename",0)) {