aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Crisci <tony@dubstepdish.com>2016-07-23 23:13:09 -0400
committerTony Crisci <tony@dubstepdish.com>2016-07-23 23:13:09 -0400
commit0d461ad98891bc60ea114765379587f42ad94a4d (patch)
tree6265109dc0030ad6e3a3ae120ba7a4ca5fd1f4e3
parent4637462a6860cebcbf0ff196f84363a452db651d (diff)
downloadsway-0d461ad98891bc60ea114765379587f42ad94a4d.tar.xz
Put ipc command result json in an array
For compatibility with i3, put the command result into an array. Returning multiple command results is still unsupported.
-rw-r--r--sway/commands.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sway/commands.c b/sway/commands.c
index 5cf93c53..ed561764 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -3657,6 +3657,7 @@ void free_cmd_results(struct cmd_results *results) {
}
const char *cmd_results_to_json(struct cmd_results *results) {
+ json_object *result_array = json_object_new_array();
json_object *root = json_object_new_object();
json_object_object_add(root, "success", json_object_new_boolean(results->status == CMD_SUCCESS));
if (results->input) {
@@ -3665,7 +3666,9 @@ const char *cmd_results_to_json(struct cmd_results *results) {
if (results->error) {
json_object_object_add(root, "error", json_object_new_string(results->error));
}
- const char *json = json_object_to_json_string(root);
+ json_object_array_add(result_array, root);
+ const char *json = json_object_to_json_string(result_array);
+ free(result_array);
free(root);
return json;
}