From b805430a9eb3905ded108e894878d36b54847f78 Mon Sep 17 00:00:00 2001 From: antirez Date: Wed, 22 Feb 2012 16:07:06 +0100 Subject: [PATCH] Fix for issue #306, thanks to tchajed (on github) for the pull request. The original patch was reworked a bit. --- src/redis-cli.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/redis-cli.c b/src/redis-cli.c index c38e479b..4433ce34 100644 --- a/src/redis-cli.c +++ b/src/redis-cli.c @@ -66,7 +66,7 @@ static struct config { char *auth; int raw_output; /* output mode per command */ sds mb_delim; - char prompt[32]; + char prompt[128]; } config; static void usage(); @@ -88,12 +88,19 @@ static long long mstime(void) { } static void cliRefreshPrompt(void) { - if (config.dbnum == 0) - snprintf(config.prompt,sizeof(config.prompt),"redis %s:%d> ", - config.hostip, config.hostport); + int len; + + if (config.hostsocket != NULL) + len = snprintf(config.prompt,sizeof(config.prompt),"redis %s", + config.hostsocket); else - snprintf(config.prompt,sizeof(config.prompt),"redis %s:%d[%d]> ", - config.hostip, config.hostport, config.dbnum); + len = snprintf(config.prompt,sizeof(config.prompt),"redis %s:%d", + config.hostip, config.hostport); + /* Add [dbnum] if needed */ + if (config.dbnum != 0) + len += snprintf(config.prompt+len,sizeof(config.prompt)-len,"[%d]", + config.dbnum); + snprintf(config.prompt+len,sizeof(config.prompt)-len,"> "); } /*------------------------------------------------------------------------------