From 76b063e0ccf0f14e8a14a8f3172341452c66e6cc Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 8 Feb 2025 18:01:28 +0000 Subject: [PATCH] json: Add a convenience function to append strings to arrays Signed-off-by: Michael Tremer --- src/pakfire/json.c | 9 +++++++++ src/pakfire/json.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/src/pakfire/json.c b/src/pakfire/json.c index b9ad764d..ded6663c 100644 --- a/src/pakfire/json.c +++ b/src/pakfire/json.c @@ -235,6 +235,15 @@ int pakfire_json_add_array(struct json_object* json, const char* name, struct js return json_object_object_add(json, name, object); } +int pakfire_json_array_add_string(struct json_object* array, const char* s) { + // Make a new string object + struct json_object* object = json_object_new_string_len(s, strlen(s)); + if (!object) + return -errno; + + return json_object_array_add(array, object); +} + static int __pakfire_json_get_object(struct json_object* json, const char* key, const json_type type, struct json_object** o) { struct json_object* object = NULL; diff --git a/src/pakfire/json.h b/src/pakfire/json.h index 6dfcb682..438398c0 100644 --- a/src/pakfire/json.h +++ b/src/pakfire/json.h @@ -47,6 +47,8 @@ int pakfire_json_add_string_array(struct json_object* json, const char* name, ch int pakfire_json_add_object(struct json_object* json, const char* name, struct json_object** o); int pakfire_json_add_array(struct json_object* json, const char* name, struct json_object** array); +int pakfire_json_array_add_string(struct json_object* array, const char* s); + int pakfire_json_get_string(struct json_object* json, const char* key, const char** value); int pakfire_json_get_int64(struct json_object* json, const char* key, int64_t* value); int pakfire_json_get_object(struct json_object* json, const char* key, struct json_object** object); -- 2.39.5