diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-12-17 15:52:34 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2017-12-17 15:52:34 -0500 |
commit | d0bd0ed59887fdbcbe0630c23e5d1cc6a254340c (patch) | |
tree | 4444227f247f9b7cdb854144eb4332e607c34987 | |
parent | Merge remote-tracking branch 'besser82/bugfix/json-c' into 0.15 (diff) | |
download | sway-d0bd0ed59887fdbcbe0630c23e5d1cc6a254340c.tar.gz sway-d0bd0ed59887fdbcbe0630c23e5d1cc6a254340c.tar.zst sway-d0bd0ed59887fdbcbe0630c23e5d1cc6a254340c.zip |
Revert "Merge remote-tracking branch 'besser82/bugfix/json-c' into 0.15"
This reverts commit 1c4a086e7556475139960a25cb642f115d057c23, reversing
changes made to 1263ea6497c732bfa1835eea4a8ffe2e6ea6e377.
-rw-r--r-- | .travis.yml | 7 | ||||
-rw-r--r-- | CMakeLists.txt | 11 | ||||
-rw-r--r-- | include/sway_json_helper.h | 16 | ||||
-rw-r--r-- | include/swaygrab/json.h | 2 | ||||
-rw-r--r-- | sway/ipc-server.c | 7 | ||||
-rw-r--r-- | swaybar/status_line.c | 5 | ||||
-rw-r--r-- | swaygrab/json.c | 9 | ||||
-rw-r--r-- | swaylock/main.c | 4 | ||||
-rw-r--r-- | swaymsg/main.c | 4 |
9 files changed, 17 insertions, 48 deletions
diff --git a/.travis.yml b/.travis.yml index 3eeb1682..69634765 100644 --- a/.travis.yml +++ b/.travis.yml | |||
@@ -6,11 +6,6 @@ compiler: | |||
6 | - gcc | 6 | - gcc |
7 | - clang | 7 | - clang |
8 | 8 | ||
9 | env: | ||
10 | - BUILD_TYPE=Release | ||
11 | - BUILD_TYPE=Debug | ||
12 | - BUILD_TYPE=ASAN | ||
13 | |||
14 | arch: | 9 | arch: |
15 | packages: | 10 | packages: |
16 | - cmake | 11 | - cmake |
@@ -24,7 +19,7 @@ arch: | |||
24 | - wlc-git | 19 | - wlc-git |
25 | - libcap | 20 | - libcap |
26 | script: | 21 | script: |
27 | - "cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE ." | 22 | - "cmake ." |
28 | - "make" | 23 | - "make" |
29 | 24 | ||
30 | script: | 25 | script: |
diff --git a/CMakeLists.txt b/CMakeLists.txt index dc521570..99081dca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
@@ -9,17 +9,6 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) | |||
9 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) | 9 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) |
10 | add_compile_options(-Wall -Wextra -Wno-unused-parameter -Wno-unused-result -Werror) | 10 | add_compile_options(-Wall -Wextra -Wno-unused-parameter -Wno-unused-result -Werror) |
11 | 11 | ||
12 | # Add Address Sanitiezed build type | ||
13 | set(CMAKE_C_FLAGS_ASAN | ||
14 | "${CMAKE_C_FLAGS_DEBUG} -fsanitize=address -fno-omit-frame-pointer" | ||
15 | CACHE STRING "Flags used by the C compiler during address sanitizer builds." | ||
16 | FORCE ) | ||
17 | mark_as_advanced( | ||
18 | CMAKE_C_FLAGS_ASAN | ||
19 | CMAKE_EXE_LINKER_FLAGS_DEBUG | ||
20 | CMAKE_SHARED_LINKER_FLAGS_DEBUG | ||
21 | ) | ||
22 | |||
23 | list(INSERT CMAKE_MODULE_PATH 0 | 12 | list(INSERT CMAKE_MODULE_PATH 0 |
24 | ${CMAKE_CURRENT_SOURCE_DIR}/CMake | 13 | ${CMAKE_CURRENT_SOURCE_DIR}/CMake |
25 | ) | 14 | ) |
diff --git a/include/sway_json_helper.h b/include/sway_json_helper.h deleted file mode 100644 index 66f9cff1..00000000 --- a/include/sway_json_helper.h +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | #ifndef _SWAY_JSON_HELPER_H | ||
2 | #define _SWAY_JSON_HELPER_H | ||
3 | |||
4 | #include <json-c/json.h> | ||
5 | |||
6 | // Macros for checking a specific version. | ||
7 | #define JSON_C_VERSION_013 (13 << 8) | ||
8 | |||
9 | // json-c v0.13 uses size_t for array_list_length(). | ||
10 | #if defined(JSON_C_VERSION_NUM) && JSON_C_VERSION_NUM >= JSON_C_VERSION_013 | ||
11 | typedef size_t json_ar_len_t; | ||
12 | #else | ||
13 | typedef int json_ar_len_t; | ||
14 | #endif | ||
15 | |||
16 | #endif // _SWAY_JSON_HELPER_H | ||
diff --git a/include/swaygrab/json.h b/include/swaygrab/json.h index c0bd8587..c1093ef1 100644 --- a/include/swaygrab/json.h +++ b/include/swaygrab/json.h | |||
@@ -1,4 +1,4 @@ | |||
1 | #include "sway_json_helper.h" | 1 | #include <json-c/json.h> |
2 | #include "wlc/wlc.h" | 2 | #include "wlc/wlc.h" |
3 | 3 | ||
4 | void init_json_tree(int socketfd); | 4 | void init_json_tree(int socketfd); |
diff --git a/sway/ipc-server.c b/sway/ipc-server.c index e10445cf..b560b930 100644 --- a/sway/ipc-server.c +++ b/sway/ipc-server.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <stdlib.h> | 15 | #include <stdlib.h> |
16 | #include <sys/ioctl.h> | 16 | #include <sys/ioctl.h> |
17 | #include <fcntl.h> | 17 | #include <fcntl.h> |
18 | #include <json-c/json.h> | ||
18 | #include <list.h> | 19 | #include <list.h> |
19 | #include <libinput.h> | 20 | #include <libinput.h> |
20 | #ifdef __linux__ | 21 | #ifdef __linux__ |
@@ -24,7 +25,6 @@ struct ucred { | |||
24 | gid_t gid; | 25 | gid_t gid; |
25 | }; | 26 | }; |
26 | #endif | 27 | #endif |
27 | #include "sway_json_helper.h" | ||
28 | #include "sway/ipc-json.h" | 28 | #include "sway/ipc-json.h" |
29 | #include "sway/ipc-server.h" | 29 | #include "sway/ipc-server.h" |
30 | #include "sway/security.h" | 30 | #include "sway/security.h" |
@@ -724,7 +724,7 @@ void ipc_client_handle_command(struct ipc_client *client) { | |||
724 | } | 724 | } |
725 | 725 | ||
726 | // parse requested event types | 726 | // parse requested event types |
727 | for (json_ar_len_t i = 0; i < json_object_array_length(request); i++) { | 727 | for (int i = 0; i < json_object_array_length(request); i++) { |
728 | const char *event_type = json_object_get_string(json_object_array_get_idx(request, i)); | 728 | const char *event_type = json_object_get_string(json_object_array_get_idx(request, i)); |
729 | if (strcmp(event_type, "workspace") == 0) { | 729 | if (strcmp(event_type, "workspace") == 0) { |
730 | client->subscribed_events |= event_mask(IPC_EVENT_WORKSPACE); | 730 | client->subscribed_events |= event_mask(IPC_EVENT_WORKSPACE); |
@@ -1126,8 +1126,7 @@ static void ipc_event_binding(json_object *sb_obj) { | |||
1126 | sway_log(L_DEBUG, "Sending binding::run event"); | 1126 | sway_log(L_DEBUG, "Sending binding::run event"); |
1127 | json_object *obj = json_object_new_object(); | 1127 | json_object *obj = json_object_new_object(); |
1128 | json_object_object_add(obj, "change", json_object_new_string("run")); | 1128 | json_object_object_add(obj, "change", json_object_new_string("run")); |
1129 | // sb_obj gets owned by the temporary json_object, too. | 1129 | json_object_object_add(obj, "binding", sb_obj); |
1130 | json_object_object_add(obj, "binding", json_object_get(sb_obj)); | ||
1131 | 1130 | ||
1132 | const char *json_string = json_object_to_json_string(obj); | 1131 | const char *json_string = json_object_to_json_string(obj); |
1133 | ipc_send_event(json_string, IPC_EVENT_BINDING); | 1132 | ipc_send_event(json_string, IPC_EVENT_BINDING); |
diff --git a/swaybar/status_line.c b/swaybar/status_line.c index e3cc0bf4..87e90caf 100644 --- a/swaybar/status_line.c +++ b/swaybar/status_line.c | |||
@@ -2,8 +2,8 @@ | |||
2 | #include <stdlib.h> | 2 | #include <stdlib.h> |
3 | #include <string.h> | 3 | #include <string.h> |
4 | #include <unistd.h> | 4 | #include <unistd.h> |
5 | #include <json-c/json.h> | ||
5 | 6 | ||
6 | #include "sway_json_helper.h" | ||
7 | #include "swaybar/config.h" | 7 | #include "swaybar/config.h" |
8 | #include "swaybar/status_line.h" | 8 | #include "swaybar/status_line.h" |
9 | #include "log.h" | 9 | #include "log.h" |
@@ -70,7 +70,8 @@ static void parse_json(struct bar *bar, const char *text) { | |||
70 | 70 | ||
71 | bar->status->block_line = create_list(); | 71 | bar->status->block_line = create_list(); |
72 | 72 | ||
73 | for (json_ar_len_t i = 0; i < json_object_array_length(results); ++i) { | 73 | int i; |
74 | for (i = 0; i < json_object_array_length(results); ++i) { | ||
74 | json_object *full_text, *short_text, *color, *min_width, *align, *urgent; | 75 | json_object *full_text, *short_text, *color, *min_width, *align, *urgent; |
75 | json_object *name, *instance, *separator, *separator_block_width; | 76 | json_object *name, *instance, *separator, *separator_block_width; |
76 | json_object *background, *border, *border_top, *border_bottom; | 77 | json_object *background, *border, *border_top, *border_bottom; |
diff --git a/swaygrab/json.c b/swaygrab/json.c index f0e8fa90..286085c3 100644 --- a/swaygrab/json.c +++ b/swaygrab/json.c | |||
@@ -50,7 +50,8 @@ static json_object *get_focused_container_r(json_object *c) { | |||
50 | } else { | 50 | } else { |
51 | json_object *nodes, *node, *child; | 51 | json_object *nodes, *node, *child; |
52 | json_object_object_get_ex(c, "nodes", &nodes); | 52 | json_object_object_get_ex(c, "nodes", &nodes); |
53 | for (json_ar_len_t i = 0; i < json_object_array_length(nodes); i++) { | 53 | int i; |
54 | for (i = 0; i < json_object_array_length(nodes); i++) { | ||
54 | node = json_object_array_get_idx(nodes, i); | 55 | node = json_object_array_get_idx(nodes, i); |
55 | 56 | ||
56 | if ((child = get_focused_container_r(node))) { | 57 | if ((child = get_focused_container_r(node))) { |
@@ -59,7 +60,7 @@ static json_object *get_focused_container_r(json_object *c) { | |||
59 | } | 60 | } |
60 | 61 | ||
61 | json_object_object_get_ex(c, "floating_nodes", &nodes); | 62 | json_object_object_get_ex(c, "floating_nodes", &nodes); |
62 | for (json_ar_len_t i = 0; i < json_object_array_length(nodes); i++) { | 63 | for (i = 0; i < json_object_array_length(nodes); i++) { |
63 | node = json_object_array_get_idx(nodes, i); | 64 | node = json_object_array_get_idx(nodes, i); |
64 | 65 | ||
65 | if ((child = get_focused_container_r(node))) { | 66 | if ((child = get_focused_container_r(node))) { |
@@ -82,7 +83,7 @@ char *get_focused_output() { | |||
82 | if (!outputs) { | 83 | if (!outputs) { |
83 | sway_abort("Unabled to get focused output. No nodes in tree."); | 84 | sway_abort("Unabled to get focused output. No nodes in tree."); |
84 | } | 85 | } |
85 | for (json_ar_len_t i = 0; i < json_object_array_length(outputs); i++) { | 86 | for (int i = 0; i < json_object_array_length(outputs); i++) { |
86 | output = json_object_array_get_idx(outputs, i); | 87 | output = json_object_array_get_idx(outputs, i); |
87 | 88 | ||
88 | if (get_focused_container_r(output)) { | 89 | if (get_focused_container_r(output)) { |
@@ -130,7 +131,7 @@ json_object *get_output_container(const char *output) { | |||
130 | json_object *outputs, *json_output, *name; | 131 | json_object *outputs, *json_output, *name; |
131 | json_object_object_get_ex(tree, "nodes", &outputs); | 132 | json_object_object_get_ex(tree, "nodes", &outputs); |
132 | 133 | ||
133 | for (json_ar_len_t i = 0; i < json_object_array_length(outputs); i++) { | 134 | for (int i = 0; i < json_object_array_length(outputs); i++) { |
134 | json_output = json_object_array_get_idx(outputs, i); | 135 | json_output = json_object_array_get_idx(outputs, i); |
135 | json_object_object_get_ex(json_output, "name", &name); | 136 | json_object_object_get_ex(json_output, "name", &name); |
136 | 137 | ||
diff --git a/swaylock/main.c b/swaylock/main.c index 3208a45b..4b486461 100644 --- a/swaylock/main.c +++ b/swaylock/main.c | |||
@@ -3,6 +3,7 @@ | |||
3 | #include <xkbcommon/xkbcommon.h> | 3 | #include <xkbcommon/xkbcommon.h> |
4 | #include <xkbcommon/xkbcommon-names.h> | 4 | #include <xkbcommon/xkbcommon-names.h> |
5 | #include <security/pam_appl.h> | 5 | #include <security/pam_appl.h> |
6 | #include <json-c/json.h> | ||
6 | #include <stdio.h> | 7 | #include <stdio.h> |
7 | #include <stdlib.h> | 8 | #include <stdlib.h> |
8 | #include <string.h> | 9 | #include <string.h> |
@@ -13,7 +14,6 @@ | |||
13 | #include <signal.h> | 14 | #include <signal.h> |
14 | #include <stdbool.h> | 15 | #include <stdbool.h> |
15 | #include <unistd.h> | 16 | #include <unistd.h> |
16 | #include "sway_json_helper.h" | ||
17 | #include "client/window.h" | 17 | #include "client/window.h" |
18 | #include "client/registry.h" | 18 | #include "client/registry.h" |
19 | #include "client/cairo.h" | 19 | #include "client/cairo.h" |
@@ -583,7 +583,7 @@ int main(int argc, char **argv) { | |||
583 | 583 | ||
584 | for (i = 0; i < registry->outputs->length; ++i) { | 584 | for (i = 0; i < registry->outputs->length; ++i) { |
585 | if (displays_paths[i * 2] != NULL) { | 585 | if (displays_paths[i * 2] != NULL) { |
586 | for (json_ar_len_t j = 0;; ++j) { | 586 | for (int j = 0;; ++j) { |
587 | if (j >= json_object_array_length(json_outputs)) { | 587 | if (j >= json_object_array_length(json_outputs)) { |
588 | sway_log(L_ERROR, "%s is not an extant output", displays_paths[i * 2]); | 588 | sway_log(L_ERROR, "%s is not an extant output", displays_paths[i * 2]); |
589 | exit(EXIT_FAILURE); | 589 | exit(EXIT_FAILURE); |
diff --git a/swaymsg/main.c b/swaymsg/main.c index 0ee7c76f..2f9cfb14 100644 --- a/swaymsg/main.c +++ b/swaymsg/main.c | |||
@@ -9,7 +9,7 @@ | |||
9 | #include <sys/socket.h> | 9 | #include <sys/socket.h> |
10 | #include <ctype.h> | 10 | #include <ctype.h> |
11 | #include <unistd.h> | 11 | #include <unistd.h> |
12 | #include "sway_json_helper.h" | 12 | #include <json-c/json.h> |
13 | #include "stringop.h" | 13 | #include "stringop.h" |
14 | #include "ipc-client.h" | 14 | #include "ipc-client.h" |
15 | #include "readline.h" | 15 | #include "readline.h" |
@@ -149,7 +149,7 @@ static void pretty_print_version(json_object *v) { | |||
149 | static void pretty_print_clipboard(json_object *v) { | 149 | static void pretty_print_clipboard(json_object *v) { |
150 | if (success(v, true)) { | 150 | if (success(v, true)) { |
151 | if (json_object_is_type(v, json_type_array)) { | 151 | if (json_object_is_type(v, json_type_array)) { |
152 | for (json_ar_len_t i = 0; i < json_object_array_length(v); ++i) { | 152 | for (int i = 0; i < json_object_array_length(v); ++i) { |
153 | json_object *o = json_object_array_get_idx(v, i); | 153 | json_object *o = json_object_array_get_idx(v, i); |
154 | printf("%s\n", json_object_get_string(o)); | 154 | printf("%s\n", json_object_get_string(o)); |
155 | } | 155 | } |