summaryrefslogtreecommitdiff
path: root/src/shared/json.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2019-07-04 17:42:00 +0200
committerLennart Poettering <lennart@poettering.net>2019-12-02 09:47:00 +0100
commit15f1fb3e3e3fd603c245d97c62daa5292b289789 (patch)
tree2774ea5eec6756eb0558eb0f4a598c463d222914 /src/shared/json.c
parenta7f8c9ce60f9487b40f47189ea6a1cc590f3e188 (diff)
downloadsystemd-15f1fb3e3e3fd603c245d97c62daa5292b289789.tar.gz
json: add json_variant_set_field_string() and json_variant_set_field_unsigned()
Diffstat (limited to 'src/shared/json.c')
-rw-r--r--src/shared/json.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/shared/json.c b/src/shared/json.c
index e761037d34..294e4335ee 100644
--- a/src/shared/json.c
+++ b/src/shared/json.c
@@ -1814,6 +1814,28 @@ int json_variant_set_field(JsonVariant **v, const char *field, JsonVariant *valu
return 1;
}
+int json_variant_set_field_string(JsonVariant **v, const char *field, const char *value) {
+ _cleanup_(json_variant_unrefp) JsonVariant *m = NULL;
+ int r;
+
+ r = json_variant_new_string(&m, value);
+ if (r < 0)
+ return r;
+
+ return json_variant_set_field(v, field, m);
+}
+
+int json_variant_set_field_unsigned(JsonVariant **v, const char *field, uintmax_t u) {
+ _cleanup_(json_variant_unrefp) JsonVariant *m = NULL;
+ int r;
+
+ r = json_variant_new_unsigned(&m, u);
+ if (r < 0)
+ return r;
+
+ return json_variant_set_field(v, field, m);
+}
+
int json_variant_strv(JsonVariant *v, char ***ret) {
char **l = NULL;
size_t n, i;