From: Pieter Noordhuis Date: Sun, 30 May 2010 01:14:38 +0000 (+0200) Subject: fix LREM to remove *all* occurances when a zero argument is given X-Git-Url: https://git.saurik.com/redis.git/commitdiff_plain/3fbf9001ce88f2b3d154b099bcf2fd3783f24940?ds=inline fix LREM to remove *all* occurances when a zero argument is given --- diff --git a/redis.c b/redis.c index 1ae32797..2a488283 100644 --- a/redis.c +++ b/redis.c @@ -5196,12 +5196,12 @@ static void lremCommand(redisClient *c) { li = lInitIterator(subject,0); } - while (toremove && lIsEntry(li)) { + while (lIsEntry(li)) { if (lEqualTo(li,obj)) { lDelete(li,direction); server.dirty++; - toremove--; removed++; + if (toremove && removed == toremove) break; } else { lMove(li,direction); }