From 699465c31e2f35b6be53b4da2aa27258e322e480 Mon Sep 17 00:00:00 2001 From: Pieter Noordhuis Date: Sun, 6 Mar 2011 20:46:40 +0100 Subject: [PATCH] Store SELECTed database for reconnect (issue #468) --- src/redis-cli.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/redis-cli.c b/src/redis-cli.c index 493d5e2856..5710c3d1d9 100644 --- a/src/redis-cli.c +++ b/src/redis-cli.c @@ -264,11 +264,9 @@ static int cliAuth() { /* Send SELECT dbnum to the server */ static int cliSelect() { redisReply *reply; - char dbnum[16]; if (config.dbnum == 0) return REDIS_OK; - snprintf(dbnum,sizeof(dbnum),"%d",config.dbnum); - reply = redisCommand(context,"SELECT %s",dbnum); + reply = redisCommand(context,"SELECT %d",config.dbnum); if (reply != NULL) { freeReplyObject(reply); return REDIS_OK; @@ -492,6 +490,10 @@ static int cliSendCommand(int argc, char **argv, int repeat) { if (cliReadReply(output_raw) != REDIS_OK) { free(argvlen); return REDIS_ERR; + } else { + /* Store database number when SELECT was successfully executed. */ + if (!strcasecmp(command,"select") && argc == 2) + config.dbnum = atoi(argv[1]); } }