X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/3688d7f308877dd2e2c0c786ffa1e46d6bb34a13..8fedd04dccd08e9a25652a22c2034d3f38f72d0f:/src/debug.c diff --git a/src/debug.c b/src/debug.c index ba183d72..76d18b21 100644 --- a/src/debug.c +++ b/src/debug.c @@ -119,16 +119,13 @@ void computeDatasetDigest(unsigned char *final) { } listTypeReleaseIterator(li); } else if (o->type == REDIS_SET) { - dict *set = o->ptr; - dictIterator *di = dictGetIterator(set); - dictEntry *de; - - while((de = dictNext(di)) != NULL) { - robj *eleobj = dictGetEntryKey(de); - - xorObjectDigest(digest,eleobj); + setTypeIterator *si = setTypeInitIterator(o); + robj *ele; + while((ele = setTypeNext(si)) != NULL) { + xorObjectDigest(digest,ele); + decrRefCount(ele); } - dictReleaseIterator(di); + setTypeReleaseIterator(si); } else if (o->type == REDIS_ZSET) { zset *zs = o->ptr; dictIterator *di = dictGetIterator(zs->dict);