inline static int w_exec_dset(struct sip_msg* msg, char* p1, char* foo) { str cmd; str *uri; environment_t *backup; int ret; if (get_str_fparam(&cmd, msg, (fparam_t*)p1) < 0) { ERR("Error while obtaining command name\n"); return -1; } backup=0; if (setvars) { backup=set_env(msg); if (!backup) { LOG(L_ERR, "ERROR: w_exec_msg: no env created\n"); return -1; } } if (msg->new_uri.s && msg->new_uri.len) uri=&msg->new_uri; else uri=&msg->first_line.u.request.uri; ret=exec_str(msg, &cmd, uri->s, uri->len); if (setvars) { unset_env(backup); } return ret; }
bool configureHook() { os::MutexLock lock(m); if(!lua_string.empty()) exec_str(lua_string); if(!lua_file.empty()) exec_file(lua_file); return call_func(L, "configureHook", this); }
inline static int w_exec_dset(struct sip_msg* msg, char* cmd, char* foo) { str *uri; environment_t *backup; int ret; str command; if(msg==0 || cmd==0) return -1; backup=0; if (setvars) { backup=set_env(msg); if (!backup) { LM_ERR("no env created\n"); return -1; } } if (msg->new_uri.s && msg->new_uri.len) uri=&msg->new_uri; else uri=&msg->first_line.u.request.uri; if(fixup_get_svalue(msg, (gparam_p)cmd, &command)!=0) { LM_ERR("invalid command parameter"); return -1; } LM_DBG("executing [%s]\n", command.s); ret=exec_str(msg, command.s, uri->s, uri->len); if (setvars) { unset_env(backup); } return ret; }