瀏覽代碼

modules/app_lua: Added registrar:save_uri support

- Feature by Hugh Waite @ Crocodile RCS Ltd
Peter Dunkley 13 年之前
父節點
當前提交
0aae547c7f
共有 1 個文件被更改,包括 11 次插入1 次删除
  1. 11 1
      modules/app_lua/app_lua_exp.c

+ 11 - 1
modules/app_lua/app_lua_exp.c

@@ -1262,6 +1262,7 @@ static int lua_sr_registrar_save(lua_State *L)
 	int ret;
 	int ret;
 	int flags;
 	int flags;
 	char *table;
 	char *table;
+	str uri ={NULL, 0};
 	sr_lua_env_t *env_L;
 	sr_lua_env_t *env_L;
 
 
 	flags = 0;
 	flags = 0;
@@ -1283,6 +1284,11 @@ static int lua_sr_registrar_save(lua_State *L)
 	} else if(lua_gettop(L)==2) {
 	} else if(lua_gettop(L)==2) {
 		table  = (char*)lua_tostring(L, -2);
 		table  = (char*)lua_tostring(L, -2);
 		flags = lua_tointeger(L, -1);
 		flags = lua_tointeger(L, -1);
+	} else if(lua_gettop(L)==3) {
+		table  = (char*)lua_tostring(L, -3);
+		flags = lua_tointeger(L, -2);
+		uri.s = (char*)lua_tostring(L, -1);
+		uri.len = strlen(uri.s);
 	} else {
 	} else {
 		LM_WARN("invalid number of parameters from Lua\n");
 		LM_WARN("invalid number of parameters from Lua\n");
 		return app_lua_return_error(L);
 		return app_lua_return_error(L);
@@ -1292,7 +1298,11 @@ static int lua_sr_registrar_save(lua_State *L)
 		LM_WARN("invalid parameters from Lua\n");
 		LM_WARN("invalid parameters from Lua\n");
 		return app_lua_return_error(L);
 		return app_lua_return_error(L);
 	}
 	}
-	ret = _lua_registrarb.save(env_L->msg, table, flags);
+	if (lua_gettop(L)==3) {
+		ret = _lua_registrarb.save_uri(env_L->msg, table, flags, &uri);
+	} else {
+		ret = _lua_registrarb.save(env_L->msg, table, flags);
+	}
 
 
 	return app_lua_return_int(L, ret);
 	return app_lua_return_int(L, ret);
 }
 }