From: Felix Fietkau Date: Sat, 16 Mar 2013 23:50:03 +0000 (+0100) Subject: jshn: add support for the double datatype X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=00a833c5b6f44c8cf2a7a9838de32d0dc5400a90;p=project%2Flibubox.git jshn: add support for the double datatype Signed-off-by: Felix Fietkau --- diff --git a/jshn.c b/jshn.c index 781861d..f71e6e6 100644 --- a/jshn.c +++ b/jshn.c @@ -112,6 +112,9 @@ static int add_json_element(const char *key, json_object *obj) case json_type_int: type = "int"; break; + case json_type_double: + type = "double"; + break; default: return -1; } @@ -141,6 +144,9 @@ static int add_json_element(const char *key, json_object *obj) case json_type_int: fprintf(stdout, "' %d;\n", json_object_get_int(obj)); break; + case json_type_double: + fprintf(stdout, "' %lf;\n", json_object_get_double(obj)); + break; default: return -1; } @@ -212,6 +218,8 @@ static void jshn_add_object_var(json_object *obj, bool array, const char *prefix new = json_object_new_string(var); } else if (!strcmp(type, "int")) { new = json_object_new_int(atoi(var)); + } else if (!strcmp(type, "double")) { + new = json_object_new_double(strtod(var, NULL)); } else if (!strcmp(type, "boolean")) { new = json_object_new_boolean(!!atoi(var)); } else { diff --git a/sh/jshn.sh b/sh/jshn.sh index 1d9fc80..b4bb1e1 100644 --- a/sh/jshn.sh +++ b/sh/jshn.sh @@ -182,6 +182,10 @@ json_add_boolean() { _json_add_generic boolean "$1" "$2" } +json_add_double() { + _json_add_generic double "$1" "$2" +} + # functions read access to json variables json_load() {