diff --git a/src/db.c b/src/db.c index 913e03a0024a39eab9f36fd5e0d107702c6b27e3..128abd1aab124feba1a5270875fef28faec4cc94 100644 --- a/src/db.c +++ b/src/db.c @@ -951,12 +951,18 @@ int *getKeysUsingCommandTable(struct redisCommand *cmd,robj **argv, int argc, in return keys; } -/* Return keys as an heap allocated array of integers. The length of the array - * is returned by reference into *numkeys. +/* Return all the arguments that are keys in the command passed via argc / argv. + * + * The command returns the positions of all the key arguments inside the array, + * so the actual return value is an heap allocated array of integers. The + * length of the array is returned by reference into *numkeys. + * + * 'cmd' must be point to the corresponding entry into the redisCommand + * table, according to the command name in argv[0]. * * This function uses the command table if a command-specific helper function * is not required, otherwise it calls the command-specific function. */ -int *getKeysFromCommand(struct redisCommand *cmd,robj **argv, int argc, int *numkeys) { +int *getKeysFromCommand(struct redisCommand *cmd, robj **argv, int argc, int *numkeys) { if (cmd->getkeys_proc) { return cmd->getkeys_proc(cmd,argv,argc,numkeys); } else {