mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-09 14:28:12 +00:00
Fix json parsing in api.c
This commit is contained in:
parent
79521fe8f0
commit
65d9136dd5
17
api.c
17
api.c
@ -3673,7 +3673,7 @@ void api(int api_thr_id)
|
|||||||
bool addrok;
|
bool addrok;
|
||||||
char group;
|
char group;
|
||||||
json_error_t json_err;
|
json_error_t json_err;
|
||||||
json_t *json_config;
|
json_t *json_config = NULL;
|
||||||
json_t *json_val;
|
json_t *json_val;
|
||||||
bool isjson;
|
bool isjson;
|
||||||
bool did;
|
bool did;
|
||||||
@ -3848,21 +3848,18 @@ void api(int api_thr_id)
|
|||||||
message(io_data, MSG_INVJSON, 0, NULL, isjson);
|
message(io_data, MSG_INVJSON, 0, NULL, isjson);
|
||||||
send_result(io_data, c, isjson);
|
send_result(io_data, c, isjson);
|
||||||
did = true;
|
did = true;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
json_val = json_object_get(json_config, JSON_COMMAND);
|
json_val = json_object_get(json_config, JSON_COMMAND);
|
||||||
if (json_val == NULL) {
|
if (json_val == NULL) {
|
||||||
message(io_data, MSG_MISCMD, 0, NULL, isjson);
|
message(io_data, MSG_MISCMD, 0, NULL, isjson);
|
||||||
send_result(io_data, c, isjson);
|
send_result(io_data, c, isjson);
|
||||||
did = true;
|
did = true;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
if (!json_is_string(json_val)) {
|
if (!json_is_string(json_val)) {
|
||||||
message(io_data, MSG_INVCMD, 0, NULL, isjson);
|
message(io_data, MSG_INVCMD, 0, NULL, isjson);
|
||||||
send_result(io_data, c, isjson);
|
send_result(io_data, c, isjson);
|
||||||
did = true;
|
did = true;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
cmd = (char *)json_string_value(json_val);
|
cmd = (char *)json_string_value(json_val);
|
||||||
json_val = json_object_get(json_config, JSON_PARAMETER);
|
json_val = json_object_get(json_config, JSON_PARAMETER);
|
||||||
if (json_is_string(json_val))
|
if (json_is_string(json_val))
|
||||||
@ -3876,11 +3873,10 @@ void api(int api_thr_id)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
json_decref(json_config);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!did)
|
if (!did) {
|
||||||
for (i = 0; cmds[i].name != NULL; i++) {
|
for (i = 0; cmds[i].name != NULL; i++) {
|
||||||
if (strcmp(cmd, cmds[i].name) == 0) {
|
if (strcmp(cmd, cmds[i].name) == 0) {
|
||||||
sprintf(cmdbuf, "|%s|", cmd);
|
sprintf(cmdbuf, "|%s|", cmd);
|
||||||
@ -3896,11 +3892,14 @@ void api(int api_thr_id)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!did) {
|
if (!did) {
|
||||||
message(io_data, MSG_INVCMD, 0, NULL, isjson);
|
message(io_data, MSG_INVCMD, 0, NULL, isjson);
|
||||||
send_result(io_data, c, isjson);
|
send_result(io_data, c, isjson);
|
||||||
}
|
}
|
||||||
|
if (json_is_object(json_config))
|
||||||
|
json_decref(json_config);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CLOSESOCKET(c);
|
CLOSESOCKET(c);
|
||||||
|
Loading…
Reference in New Issue
Block a user