|
|
@ -487,32 +487,33 @@ int main(int argc, char **argv) {
|
|
|
|
// pretty print the json
|
|
|
|
// pretty print the json
|
|
|
|
json_tokener *tok = json_tokener_new_ex(JSON_MAX_DEPTH);
|
|
|
|
json_tokener *tok = json_tokener_new_ex(JSON_MAX_DEPTH);
|
|
|
|
if (tok == NULL) {
|
|
|
|
if (tok == NULL) {
|
|
|
|
sway_log(SWAY_ERROR, "failed allocating json_tokener");
|
|
|
|
if (quiet) {
|
|
|
|
|
|
|
|
exit(EXIT_FAILURE);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
sway_abort("failed allocating json_tokener");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
json_object *obj = json_tokener_parse_ex(tok, resp, -1);
|
|
|
|
|
|
|
|
enum json_tokener_error err = json_tokener_get_error(tok);
|
|
|
|
|
|
|
|
json_tokener_free(tok);
|
|
|
|
|
|
|
|
if (obj == NULL || err != json_tokener_success) {
|
|
|
|
|
|
|
|
if (!quiet) {
|
|
|
|
|
|
|
|
sway_log(SWAY_ERROR, "failed to parse payload as json: %s",
|
|
|
|
|
|
|
|
json_tokener_error_desc(err));
|
|
|
|
|
|
|
|
}
|
|
|
|
ret = 1;
|
|
|
|
ret = 1;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
json_object *obj = json_tokener_parse_ex(tok, resp, -1);
|
|
|
|
if (!success(obj, true)) {
|
|
|
|
enum json_tokener_error err = json_tokener_get_error(tok);
|
|
|
|
ret = 2;
|
|
|
|
json_tokener_free(tok);
|
|
|
|
}
|
|
|
|
if (obj == NULL || err != json_tokener_success) {
|
|
|
|
if (!quiet && (type != IPC_SUBSCRIBE || ret != 0)) {
|
|
|
|
if (!quiet) {
|
|
|
|
if (raw) {
|
|
|
|
sway_log(SWAY_ERROR, "failed to parse payload as json: %s",
|
|
|
|
printf("%s\n", json_object_to_json_string_ext(obj,
|
|
|
|
json_tokener_error_desc(err));
|
|
|
|
JSON_C_TO_STRING_PRETTY | JSON_C_TO_STRING_SPACED));
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
ret = 1;
|
|
|
|
pretty_print(type, obj);
|
|
|
|
} else {
|
|
|
|
|
|
|
|
if (!success(obj, true)) {
|
|
|
|
|
|
|
|
ret = 2;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!quiet && (type != IPC_SUBSCRIBE || ret != 0)) {
|
|
|
|
|
|
|
|
if (raw) {
|
|
|
|
|
|
|
|
printf("%s\n", json_object_to_json_string_ext(obj,
|
|
|
|
|
|
|
|
JSON_C_TO_STRING_PRETTY | JSON_C_TO_STRING_SPACED));
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
pretty_print(type, obj);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
json_object_put(obj);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
json_object_put(obj);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
free(command);
|
|
|
|
free(command);
|
|
|
|
free(resp);
|
|
|
|
free(resp);
|
|
|
@ -531,9 +532,10 @@ int main(int argc, char **argv) {
|
|
|
|
|
|
|
|
|
|
|
|
json_tokener *tok = json_tokener_new_ex(JSON_MAX_DEPTH);
|
|
|
|
json_tokener *tok = json_tokener_new_ex(JSON_MAX_DEPTH);
|
|
|
|
if (tok == NULL) {
|
|
|
|
if (tok == NULL) {
|
|
|
|
sway_log(SWAY_ERROR, "failed allocating json_tokener");
|
|
|
|
if (quiet) {
|
|
|
|
ret = 1;
|
|
|
|
exit(EXIT_FAILURE);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
sway_abort("failed allocating json_tokener");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
json_object *obj = json_tokener_parse_ex(tok, reply->payload, -1);
|
|
|
|
json_object *obj = json_tokener_parse_ex(tok, reply->payload, -1);
|
|
|
|
enum json_tokener_error err = json_tokener_get_error(tok);
|
|
|
|
enum json_tokener_error err = json_tokener_get_error(tok);
|
|
|
|