summaryrefslogtreecommitdiffstats
path: root/ctl-lib/ctl-lua.c
diff options
context:
space:
mode:
Diffstat (limited to 'ctl-lib/ctl-lua.c')
-rw-r--r--ctl-lib/ctl-lua.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/ctl-lib/ctl-lua.c b/ctl-lib/ctl-lua.c
index 08c9b85..b61885d 100644
--- a/ctl-lib/ctl-lua.c
+++ b/ctl-lib/ctl-lua.c
@@ -470,7 +470,7 @@ static int LuaAfbService(lua_State* luaState) {
// get api/verb+query
const char *api = lua_tostring(luaState, 3);
const char *verb = lua_tostring(luaState, 4);
- json_object *queryJ = LuaTableToJson(source, luaState, 5);
+ json_object *queryJ = LuaPopOneArg(source, luaState, LUA_FIRST_ARG + 3);
if (queryJ == JSON_ERROR) return 1;
LuaCbHandleT *handleCb = calloc(1, sizeof (LuaCbHandleT));
@@ -498,7 +498,9 @@ static int LuaAfbServiceSync(lua_State* luaState) {
}
// note: argument start at 2 because of AFB: table
- if (count != 5 || !lua_isstring(luaState, LUA_FIRST_ARG + 1) || !lua_isstring(luaState, LUA_FIRST_ARG + 2) || (!lua_istable(luaState, LUA_FIRST_ARG + 3) && !lua_isstring(luaState, LUA_FIRST_ARG +3))) {
+ if (count != 5 ||
+ ! lua_isstring(luaState, LUA_FIRST_ARG + 1) ||
+ ! lua_isstring(luaState, LUA_FIRST_ARG + 2)) {
lua_pushliteral(luaState, "ERROR: syntax AFB:servsync(source, api, verb, {[Lua Table]})");
lua_error(luaState);
return 1;
@@ -508,12 +510,9 @@ static int LuaAfbServiceSync(lua_State* luaState) {
// get source/api/verb+query
const char *api = lua_tostring(luaState, LUA_FIRST_ARG + 1);
const char *verb = lua_tostring(luaState, LUA_FIRST_ARG + 2);
- json_object *queryJ = NULL;
- if (lua_istable(luaState, LUA_FIRST_ARG + 3)) {
- queryJ = LuaTableToJson(source, luaState, LUA_FIRST_ARG + 3);
- } else {
- queryJ = json_object_new_string(lua_tostring(luaState, LUA_FIRST_ARG + 3));
- }
+
+ json_object *queryJ = LuaPopOneArg(source, luaState, LUA_FIRST_ARG + 3);
+ if (queryJ == JSON_ERROR) return 1;
int iserror = AFB_ServiceSync(source->api, api, verb, queryJ, &responseJ);