summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'util.c')
-rw-r--r--util.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/util.c b/util.c
index 6cd56ac..020485c 100644
--- a/util.c
+++ b/util.c
@@ -1,5 +1,6 @@
#include <string.h>
#include <stdlib.h>
+#include "util.h"
#define SLMAX 100
@@ -25,3 +26,23 @@ char * alloc_build_string(const char *ss[])
res[cur] = 0;
return res;
}
+
+const char *json_gets(json_object *j, const char *key)
+{
+ json_object *val;
+
+ if (json_object_object_get_ex(j, key, &val)) {
+ if (json_object_is_type(val, json_type_string))
+ return json_object_get_string(val);
+ }
+ return NULL;
+}
+
+char *json_gets_dup(json_object *j, const char *key)
+{
+ const char *t = json_gets(j, key);
+ if (t == NULL)
+ return NULL;
+ else
+ return strdup(t);
+}