summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2013-08-06 19:01:54 +0200
committerantirez <antirez@gmail.com>2013-08-07 11:22:33 +0200
commit46c1bafeab81412472bf8eeb390f2d71fdc21e99 (patch)
tree61b58fc596fe1858b1a213318a3a6a97a50195f7
parent151ad68540dbf799e1f964ca61fda17a4888ff69 (diff)
downloadredis-46c1bafeab81412472bf8eeb390f2d71fdc21e99.tar.gz
redis-benchmark: fix db selection when :rand: feature is used.
-rw-r--r--src/redis-benchmark.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/redis-benchmark.c b/src/redis-benchmark.c
index a1c7b78b6..f53b333b1 100644
--- a/src/redis-benchmark.c
+++ b/src/redis-benchmark.c
@@ -205,10 +205,16 @@ static void readHandler(aeEventLoop *el, int fd, void *privdata, int mask) {
freeReplyObject(reply);
if (c->selectlen) {
+ int j;
+
/* This is the OK from SELECT. Just discard the SELECT
* from the buffer. */
c->pending--;
sdsrange(c->obuf,c->selectlen,-1);
+ /* We also need to fix the pointers to the strings
+ * we need to randomize. */
+ for (j = 0; j < c->randlen; j++)
+ c->randptr[j] -= c->selectlen;
c->selectlen = 0;
continue;
}