/* 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},
{"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 ============================ */
}
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) {
return bsearch(
&tmp,
commandTable,
- commandTableSize,
+ sizeof(readonlyCommandTable)/sizeof(struct redisCommand),
sizeof(struct redisCommand),
qsortRedisCommands);
}