From: Tokunori Ikegami Date: Sat, 21 Dec 2024 14:13:41 +0000 (+0900) Subject: util: clean up json.h file X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=a065b9de99faa4390055ad3a9ac8c68d446152e1;p=users%2Fsagi%2Fnvme-cli.git util: clean up json.h file Since some json macros can be used without json as common. Signed-off-by: Tokunori Ikegami --- diff --git a/util/json.h b/util/json.h index 7d2208ff..b98d8a9b 100644 --- a/util/json.h +++ b/util/json.h @@ -11,34 +11,32 @@ #define json_create_object(o) json_object_new_object(o) #define json_free_object(o) json_object_put(o) #define json_free_array(a) json_object_put(a) -#define json_object_add_value_uint(o, k, v) \ - json_object_object_add(o, k, json_object_new_uint64(v)) -#define json_object_add_value_int(o, k, v) \ - json_object_object_add(o, k, json_object_new_int(v)) +#define json_object_add_value_uint(o, k, v) json_object_object_add(o, k, json_object_new_uint64(v)) +#define json_object_add_value_int(o, k, v) json_object_object_add(o, k, json_object_new_int(v)) #ifndef CONFIG_JSONC_14 #define json_object_new_uint64(v) util_json_object_new_uint64(v) #define json_object_get_uint64(v) util_json_object_get_uint64(v) -#endif +#endif /* CONFIG_JSONC_14 */ #define json_object_add_value_uint64(o, k, v) \ json_object_object_add(o, k, json_object_new_uint64(v)) #define json_object_add_value_uint128(o, k, v) \ json_object_object_add(o, k, util_json_object_new_uint128(v)) #define json_object_add_value_double(o, k, v) \ json_object_object_add(o, k, util_json_object_new_double(v)) -#define json_object_add_value_float(o, k, v) \ - json_object_object_add(o, k, json_object_new_double(v)) -static inline int json_object_add_value_string(struct json_object *o, const char *k, const char *v) { +#define json_object_add_value_float(o, k, v) json_object_object_add(o, k, json_object_new_double(v)) + +static inline int json_object_add_value_string(struct json_object *o, const char *k, const char *v) +{ return json_object_object_add(o, k, v ? json_object_new_string(v) : NULL); } -#define json_object_add_value_array(o, k, v) \ - json_object_object_add(o, k, v) -#define json_object_add_value_object(o, k, v) \ - json_object_object_add(o, k, v) -#define json_array_add_value_object(o, k) \ - json_object_array_add(o, k) -static inline int json_array_add_value_string(struct json_object *o, const char *v) { + +#define json_array_add_value_object(o, k) json_object_array_add(o, k) + +static inline int json_array_add_value_string(struct json_object *o, const char *v) +{ return json_object_array_add(o, v ? json_object_new_string(v) : NULL); } + #define json_print_object(o, u) \ printf("%s", json_object_to_json_string_ext(o, \ JSON_C_TO_STRING_PRETTY | \ @@ -62,13 +60,16 @@ struct json_object; #define json_object_add_value_uint128(o, k, v) #define json_object_add_value_double(o, k, v) #define json_object_add_value_float(o, k, v) -#define json_object_add_value_array(o, k, v) ((void)(v)) -#define json_object_add_value_object(o, k, v) ((void)(v)) #define json_array_add_value_object(o, k) ((void)(k)) #define json_print_object(o, u) ((void)(o)) +#define json_object_object_add(o, k, v) ((void)(v)) +#define json_object_new_int(v) #define json_object_new_array(a) NULL #define json_object_array_add(o, k) ((void)(k)) #endif /* CONFIG_JSONC */ + #define json_create_array(a) json_object_new_array(a) +#define json_object_add_value_array(o, k, v) json_object_object_add(o, k, v) +#define json_object_add_value_object(o, k, v) json_object_object_add(o, k, v) #endif /* __JSON__H */