fix fsapi in verto, the json_api_function expects cmd & arg in the data object

This commit is contained in:
Seven Du 2015-01-03 16:06:35 +08:00
parent f0ec19315a
commit 0bec209a9b
1 changed files with 8 additions and 3 deletions

View File

@ -3571,10 +3571,15 @@ static switch_bool_t jsapi_func(const char *method, cJSON *params, jsock_t *jsoc
}
if (jsock->allowed_fsapi && !strcmp(function, "fsapi")) {
cJSON *cmd = cJSON_GetObjectItem(params, "cmd");
cJSON *arg = cJSON_GetObjectItem(params, "arg");
cJSON *data = cJSON_GetObjectItem(params, "data");
cJSON *cmd;
cJSON *arg;
if (cmd->type == cJSON_String && cmd->valuestring && !auth_api_command(jsock, cmd->valuestring, arg ? arg->valuestring : NULL)) {
if (data &&
(cmd = cJSON_GetObjectItem(data, "cmd")) &&
(arg = cJSON_GetObjectItem(data, "arg")) &&
cmd->type == cJSON_String && cmd->valuestring &&
!auth_api_command(jsock, cmd->valuestring, arg ? arg->valuestring : NULL)) {
return SWITCH_FALSE;
}
}