From c08c805ecd8f2000a35cdeae7b16244d0b3c0528 Mon Sep 17 00:00:00 2001 From: Björn Esser Date: Thu, 14 Dec 2017 01:30:54 +0100 Subject: Adaptions for API change in json-c v0.13 Lift restriction on json-c <= 0.12.1 ipc-server: Acquire ownership of referenced json_object properly When adding a referenced json_object with an unknown lifetime to another json_object, it must be done with a wrapped call to json_object_get() to acquire the ownership of that json_object. --- include/sway_json_helper.h | 16 ++++++++++++++++ include/swaygrab/json.h | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 include/sway_json_helper.h (limited to 'include') diff --git a/include/sway_json_helper.h b/include/sway_json_helper.h new file mode 100644 index 00000000..66f9cff1 --- /dev/null +++ b/include/sway_json_helper.h @@ -0,0 +1,16 @@ +#ifndef _SWAY_JSON_HELPER_H +#define _SWAY_JSON_HELPER_H + +#include + +// Macros for checking a specific version. +#define JSON_C_VERSION_013 (13 << 8) + +// json-c v0.13 uses size_t for array_list_length(). +#if defined(JSON_C_VERSION_NUM) && JSON_C_VERSION_NUM >= JSON_C_VERSION_013 +typedef size_t json_ar_len_t; +#else +typedef int json_ar_len_t; +#endif + +#endif // _SWAY_JSON_HELPER_H diff --git a/include/swaygrab/json.h b/include/swaygrab/json.h index c1093ef1..c0bd8587 100644 --- a/include/swaygrab/json.h +++ b/include/swaygrab/json.h @@ -1,4 +1,4 @@ -#include +#include "sway_json_helper.h" #include "wlc/wlc.h" void init_json_tree(int socketfd); -- cgit v1.2.3-70-g09d2