tools/mesh-cfgclient: Overwrite config values when adding new ones
authorInga Stotland <inga.stotland@intel.com>
Thu, 23 Sep 2021 03:25:49 +0000 (20:25 -0700)
committerAyush Garg <ayush.garg@samsung.com>
Fri, 11 Mar 2022 13:38:37 +0000 (19:08 +0530)
This changes common utilities used in mesh-db.c to replace old values
by default whenever a new value is written.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
tools/mesh/mesh-db.c

index e635f61..5b161bc 100644 (file)
@@ -56,6 +56,9 @@ static bool add_string(json_object *jobj, const char *desc, const char *str)
        if (!jstring)
                return false;
 
+       /* Overwrite old value if present */
+       json_object_object_del(jobj, desc);
+
        json_object_object_add(jobj, desc, jstring);
        return true;
 }
@@ -71,8 +74,6 @@ static bool set_timestamp(json_object *jobj)
 
        strftime(buf, 80, "%FT%TZ", tp);
 
-       json_object_object_del(jobj, "timestamp");
-
        return add_string(jobj, "timestamp", buf);
 }
 
@@ -192,12 +193,13 @@ static bool write_int(json_object *jobj, const char *keyword, int val)
 {
        json_object *jval;
 
-       json_object_object_del(jobj, keyword);
-
        jval = json_object_new_int(val);
        if (!jval)
                return false;
 
+       /* Overwrite old value if present */
+       json_object_object_del(jobj, keyword);
+
        json_object_object_add(jobj, keyword, jval);
        return true;
 }
@@ -224,12 +226,13 @@ static bool write_bool(json_object *jobj, const char *keyword, bool val)
 {
        json_object *jval;
 
-       json_object_object_del(jobj, keyword);
-
        jval = json_object_new_boolean(val);
        if (!jval)
                return false;
 
+       /* Overwrite old value if present */
+       json_object_object_del(jobj, keyword);
+
        json_object_object_add(jobj, keyword, jval);
        return true;
 }
@@ -264,6 +267,9 @@ static bool write_uint16_hex(json_object *jobj, const char *desc,
        if (!jstring)
                return false;
 
+       /* Overwrite old value if present */
+       json_object_object_del(jobj, desc);
+
        json_object_object_add(jobj, desc, jstring);
        return true;
 }
@@ -329,6 +335,9 @@ static bool add_u8_8(json_object *jobj, const char *desc,
        if (!jstring)
                return false;
 
+       /* Overwrite old value if present */
+       json_object_object_del(jobj, desc);
+
        json_object_object_add(jobj, desc, jstring);
        return true;
 }
@@ -344,6 +353,9 @@ static bool add_u8_16(json_object *jobj, const char *desc,
        if (!jstring)
                return false;
 
+       /* Overwrite old value if present */
+       json_object_object_del(jobj, desc);
+
        json_object_object_add(jobj, desc, jstring);
        return true;
 }