diff --git a/TODO b/TODO index 39937d2ba..bb2c7f918 100644 --- a/TODO +++ b/TODO @@ -3,6 +3,8 @@ Pre 1.1 todo * For now only the last argument gets integer encoded, so make sure that: 1) every multi bulk commands implemented will have the last arg that is indeed a value, and not used otherwise. 2) to explicitly call the function to encode the object in MSET and other commands where there are multiple "values". * Man pages for MSET MSETNX and SRANDMEMBER. * Hashes (HSET, HGET, HEXISTS, HLEN, ...). +* ZSETs +* An utility able to export an .rdb file into a text-only JSON dump, we can't live anymore without such a tool. Probably an extension to redis-cli. After 1.1 todo diff --git a/redis.c b/redis.c index 41ebe18a0..2b0c44891 100644 --- a/redis.c +++ b/redis.c @@ -307,7 +307,7 @@ typedef struct _redisSortOperation { typedef struct zset { dict *dict; - tree *tree; + /* tree *tree; */ } zset; struct sharedObjectsStruct { @@ -639,11 +639,13 @@ static void redisLog(int level, const char *fmt, ...) { * keys and radis objects as values (objects can hold SDS strings, * lists, sets). */ +#if 0 static void dictVanillaFree(void *privdata, void *val) { DICT_NOTUSED(privdata); zfree(val); } +#endif static int sdsDictKeyCompare(void *privdata, const void *key1, const void *key2) @@ -721,6 +723,7 @@ static dictType setDictType = { NULL /* val destructor */ }; +#if 0 static dictType zsetDictType = { dictEncObjHash, /* hash function */ NULL, /* key dup */ @@ -729,6 +732,7 @@ static dictType zsetDictType = { dictRedisObjectDestructor, /* key destructor */ dictVanillaFree /* val destructor */ }; +#endif static dictType hashDictType = { dictObjHash, /* hash function */ @@ -1831,11 +1835,13 @@ static robj *createSetObject(void) { return createObject(REDIS_SET,d); } +#if 0 static robj *createZsetObject(void) { dict *d = dictCreate(&zsetDictType,NULL); if (!d) oom("dictCreate"); return createObject(REDIS_ZSET,d); } +#endif static void freeStringObject(robj *o) { if (o->encoding == REDIS_ENCODING_RAW) { @@ -4745,7 +4751,7 @@ static void *getMcontextEip(ucontext_t *uc) { #elif defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_6) return (void*) uc->uc_mcontext->__ss.__eip; #elif defined(__APPLE__) && defined(MAC_OS_X_VERSION_10_6) - #ifdef _STRUCT_X86_THREAD_STATE64 + #if defined(_STRUCT_X86_THREAD_STATE64) && !defined(__i386__) return (void*) uc->uc_mcontext->__ss.__rip; #else return (void*) uc->uc_mcontext->__ss.__eip;