]> git.saurik.com Git - redis.git/commitdiff
command table size calculated with sizeof
authorantirez <antirez@gmail.com>
Fri, 28 May 2010 21:44:32 +0000 (23:44 +0200)
committerantirez <antirez@gmail.com>
Fri, 28 May 2010 21:44:32 +0000 (23:44 +0200)
redis.c

diff --git a/redis.c b/redis.c
index 6ba7a3b9deae6cb3c6997e753bb4902cdb914b2c..92ae07b7f60e847daf87e9b623e6837db8c5ab72 100644 (file)
--- a/redis.c
+++ b/redis.c
@@ -753,7 +753,6 @@ static void unwatchCommand(redisClient *c);
 /* Global vars */
 static struct redisServer server; /* server global state */
 static struct redisCommand *commandTable;
-static unsigned int commandTableSize;
 static struct redisCommand readonlyCommandTable[] = {
     {"get",getCommand,2,REDIS_CMD_INLINE,NULL,1,1,1},
     {"set",setCommand,3,REDIS_CMD_BULK|REDIS_CMD_DENYOOM,NULL,0,0,0},
@@ -862,8 +861,7 @@ static struct redisCommand readonlyCommandTable[] = {
     {"punsubscribe",punsubscribeCommand,-1,REDIS_CMD_INLINE,NULL,0,0,0},
     {"publish",publishCommand,3,REDIS_CMD_BULK|REDIS_CMD_FORCE_REPLICATION,NULL,0,0,0},
     {"watch",watchCommand,-2,REDIS_CMD_INLINE,NULL,0,0,0},
-    {"unwatch",unwatchCommand,1,REDIS_CMD_INLINE,NULL,0,0,0},
-    {NULL,NULL,0,0,NULL,0,0,0}
+    {"unwatch",unwatchCommand,1,REDIS_CMD_INLINE,NULL,0,0,0}
 };
 
 /*============================ Utility functions ============================ */
@@ -2256,16 +2254,12 @@ static int qsortRedisCommands(const void *r1, const void *r2) {
 }
 
 static void sortCommandTable() {
-    int i = 0, size = 0;
-
-    /* Determine and store the size of the command table */
-    while(readonlyCommandTable[i++].name != NULL) size++;
-    commandTableSize = size;
-
     /* Copy and sort the read-only version of the command table */
     commandTable = (struct redisCommand*)malloc(sizeof(readonlyCommandTable));
     memcpy(commandTable,readonlyCommandTable,sizeof(readonlyCommandTable));
-    qsort(commandTable,size,sizeof(struct redisCommand),qsortRedisCommands);
+    qsort(commandTable,
+        sizeof(readonlyCommandTable)/sizeof(struct redisCommand),
+        sizeof(struct redisCommand),qsortRedisCommands);
 }
 
 static struct redisCommand *lookupCommand(char *name) {
@@ -2273,7 +2267,7 @@ static struct redisCommand *lookupCommand(char *name) {
     return bsearch(
         &tmp,
         commandTable,
-        commandTableSize,
+        sizeof(readonlyCommandTable)/sizeof(struct redisCommand),
         sizeof(struct redisCommand),
         qsortRedisCommands);
 }