void Profiles::loadProfiles() { char **vals; Redis *redis = ntop->getRedis(); int rc; rc = (redis ? redis->hashKeys(CONST_PROFILES_PREFS, &vals) : -1); if(rc > 0) { rc = min_val(rc, MAX_NUM_PROFILES); for(int i = 0; i < rc; i++) { if(vals[i] != NULL) { char contents[2048]; if(redis->hashGet((char*)CONST_PROFILES_PREFS, vals[i], contents, sizeof(contents)) != -1) { Profile *c = addProfile(vals[i], contents); if(c) profiles[numProfiles++] = c; } free(vals[i]); } } free(vals); } }
static int ntop_get_hash_redis(lua_State* vm) { char *key, *member, rsp[4096]; Redis *redis = ntop->getRedis(); if(ntop_lua_check(vm, __FUNCTION__, 1, LUA_TSTRING)) return(CONST_LUA_ERROR); if((key = (char*)lua_tostring(vm, 1)) == NULL) return(CONST_LUA_PARAM_ERROR); if((member = (char*)lua_tostring(vm, 2)) == NULL) return(CONST_LUA_PARAM_ERROR); lua_pushfstring(vm, "%s", (redis->hashGet(key, member, rsp, sizeof(rsp)) == 0) ? rsp : (char*)""); return(CONST_LUA_OK); }