| 7784 | }RedisModuleScanCursor; |
| 7785 | |
| 7786 | static void moduleScanCallback(void *privdata, const dictEntry *de) { |
| 7787 | ScanCBData *data = (ScanCBData*)privdata; |
| 7788 | sds key = (sds)dictGetKey(de); |
| 7789 | robj* val = (robj*)dictGetVal(de); |
| 7790 | RedisModuleString *keyname = createObject(OBJ_STRING,sdsdup(key)); |
| 7791 | |
| 7792 | /* Setup the key handle. */ |
| 7793 | RedisModuleKey kp = {0}; |
| 7794 | moduleInitKey(&kp, data->ctx, keyname, val, REDISMODULE_READ); |
| 7795 | |
| 7796 | data->fn(data->ctx, keyname, &kp, data->user_data); |
| 7797 | |
| 7798 | moduleCloseKey(&kp); |
| 7799 | decrRefCount(keyname); |
| 7800 | } |
| 7801 | |
| 7802 | /* Create a new cursor to be used with RedisModule_Scan */ |
| 7803 | RedisModuleScanCursor *RM_ScanCursorCreate() { |
nothing calls this directly
no test coverage detected