From 883e07403ddd058db3c66718eb59715e3baa0cab Mon Sep 17 00:00:00 2001
From: Jakob Olsson <jakob.olsson@iopsys.eu>
Date: Wed, 2 Oct 2019 13:14:06 +0200
Subject: [PATCH] change argument order

---
 api.c           | 12 +++++-----
 api.h           |  6 ++---
 test/api_test.c | 60 +++++++++++++++++++++++++------------------------
 3 files changed, 40 insertions(+), 38 deletions(-)

diff --git a/api.c b/api.c
index cd46a5d..9048ccd 100644
--- a/api.c
+++ b/api.c
@@ -232,7 +232,7 @@ int add_val(struct json_object *ptr, char *key, char *val, enum json_type type)
 	return 0;
 }
 
-int set_by_string(char *fmt, struct json_object **src, char *val, enum json_type type)
+int set_by_string(struct json_object **src, char *fmt, char *val, enum json_type type)
 {
 	struct json_object *ptr, *tmp;
 	const char *delimiter = ".";
@@ -338,7 +338,7 @@ printf("%s %d\n", __func__, __LINE__);
 	return 0;
 }
 
-int set(char *fmt, struct json_object *src, struct json_object *val)
+int set(struct json_object *src, char *fmt, struct json_object *val)
 {
 	const char *delimiter = ".";
 	char fmt_cpy[1024] = {0};
@@ -349,7 +349,7 @@ int set(char *fmt, struct json_object *src, struct json_object *val)
 		return -1;
 	}
 
-	src = get(fmt, src);
+	src = get(src, fmt);
 
 	strcpy(fmt_cpy, fmt);
 
@@ -372,7 +372,7 @@ int set(char *fmt, struct json_object *src, struct json_object *val)
 	return 0;
 }
 
-struct json_object *get(char *fmt, struct json_object *src)
+struct json_object *get(struct json_object *src, char *fmt)
 {
 	struct json_object *ptr, *tmp = src;
 	const char *delimiter = ".";
@@ -403,11 +403,11 @@ int main()
 
 	printf("original obj=%s\n", json_object_get_string(obj));
 
-	ptr = get("nested", obj);
+	ptr = get(obj, "nested");
 
 	printf("%s\n", json_object_get_string(ptr));
 
-	set_by_string("test.asd[-1].test.tested", &obj, "{\"api_test\":\"hej\"}", json_type_object);
+	set_by_string(&obj, "test.asd[-1].test.tested", "{\"api_test\":\"hej\"}", json_type_object);
 
 	printf("result: %s\n", json_object_get_string(obj));
 
diff --git a/api.h b/api.h
index 418688c..9737738 100644
--- a/api.h
+++ b/api.h
@@ -10,7 +10,7 @@
 
 char *get_file(const char *path);
 struct json_object *path_to_obj(const char *path);
-int set_by_string(char *fmt, struct json_object **src, char *val, enum json_type type);
-int set(char *fmt, struct json_object *src, struct json_object *val);
+int set_by_string( struct json_object **src, char *fmt, char *val, enum json_type type);
+int set(struct json_object *src, char *fmt, struct json_object *val);
 
-struct json_object *get(char *fmt, struct json_object *src);
+struct json_object *get(struct json_object *src, char *fmt);
diff --git a/test/api_test.c b/test/api_test.c
index 73bb48d..5fdc6a4 100644
--- a/test/api_test.c
+++ b/test/api_test.c
@@ -43,7 +43,7 @@ static void test_build_from_scratch(void **state)
 	struct json_object *file = path_to_obj("/home/jakob/git/json-editor-api/test.json");
     struct json_object *jobj = NULL;
 
-    set_by_string(NULL, &jobj, "{ \"test\":\"success\", \"nested\": { \"api\":\"test2\"} }", json_type_object);
+    set_by_string(&jobj, NULL, "{ \"test\":\"success\", \"nested\": { \"api\":\"test2\"} }", json_type_object);
 
     printf("file_obj=%s\n", json_object_get_string(file));
     printf("modify_obj=%s\n", json_object_get_string(jobj));
@@ -60,7 +60,7 @@ static void test_json_add_object(void **state)
     json_object_object_add(file_obj, "string", obj);
     //json_object_object_add(file_obj, "string", json_object_new_string("1"));
 
-    set_by_string("string", &modify_obj, "{\"test2\":\"success\"}", json_type_object);
+    set_by_string(&modify_obj, "string", "{\"test2\":\"success\"}", json_type_object);
 
     printf("file_obj=%s\n", json_object_get_string(file_obj));
     printf("modify_obj=%s\n", json_object_get_string(modify_obj));
@@ -80,7 +80,7 @@ static void test_json_add_array(void **state)
     json_object_object_add(file_obj, "ints", arr);
     //json_object_object_add(file_obj, "string", json_object_new_string("1"));
 
-    set_by_string("ints", &modify_obj, "[ 1, 2, 3 ]", json_type_array);
+    set_by_string(&modify_obj, "ints", "[ 1, 2, 3 ]", json_type_array);
 
     printf("file_obj=%s\n", json_object_get_string(file_obj));
     printf("modify_obj=%s\n", json_object_get_string(modify_obj));
@@ -109,10 +109,10 @@ static void test_json_add_multi_types(void **state)
     json_object_object_add(file_obj, "string", json_object_new_string("1"));
     json_object_object_add(file_obj, "integer", json_object_new_int(1));
 
-    set_by_string("nested0.nested1.integer", &modify_obj, "1", json_type_int);
-    set_by_string("ints", &modify_obj, "[ 1, 2, 3 ]", json_type_array);
-    set_by_string("string", &modify_obj, "1", json_type_string);
-    set_by_string("integer", &modify_obj, "1", json_type_int);
+    set_by_string(&modify_obj, "nested0.nested1.integer", "1", json_type_int);
+    set_by_string(&modify_obj, "ints", "[ 1, 2, 3 ]", json_type_array);
+    set_by_string(&modify_obj, "string", "1", json_type_string);
+    set_by_string(&modify_obj, "integer", "1", json_type_int);
 
     printf("file_obj=%s\n", json_object_get_string(file_obj));
     printf("modify_obj=%s\n", json_object_get_string(modify_obj));
@@ -141,7 +141,7 @@ static void test_json_add_multi_obj(void **state)
     json_object_object_add(file_obj, "string", json_object_new_string("1"));
     json_object_object_add(file_obj, "integer", json_object_new_int(1));
 
-    set_by_string(NULL, &modify_obj, "{ \"nested0\": {\"nested1\": {\"integer\": 1}}, \"ints\": [1, 2, 3], \"string\":\"1\", \"integer\": 1}", json_type_object);
+    set_by_string(&modify_obj, NULL, "{ \"nested0\": {\"nested1\": {\"integer\": 1}}, \"ints\": [1, 2, 3], \"string\":\"1\", \"integer\": 1}", json_type_object);
 
     printf("file_obj=%s\n", json_object_get_string(file_obj));
     printf("modify_obj=%s\n", json_object_get_string(modify_obj));
@@ -157,7 +157,7 @@ static void test_json_add_string(void **state)
 
     json_object_object_add(file_obj, "string", json_object_new_string("1"));
 
-    set_by_string("string", &modify_obj, "1", json_type_string);
+    set_by_string(&modify_obj, "string", "1", json_type_string);
 
     printf("file_obj=%s\n", json_object_get_string(file_obj));
     printf("modify_obj=%s\n", json_object_get_string(modify_obj));
@@ -173,7 +173,7 @@ static void test_json_overwrite_string(void **state)
 	//struct json_object *obj = json_object_new_object();
 
     json_object_object_add(file_obj, "test", json_object_new_string("1"));
-    set_by_string("test", &modify_obj, "1", json_type_string);
+    set_by_string(&modify_obj, "test", "1", json_type_string);
 
     printf("file_obj    = %s\n", json_object_get_string(file_obj));
     printf("modify_obj  = %s\n", json_object_get_string(modify_obj));
@@ -186,7 +186,7 @@ static void test_json_overwrite_string(void **state)
     json_object_object_get_ex(nested, "api", &obj);
     json_object_set_string(obj, "2");
 
-    set_by_string("nested.api", &modify_obj, "2", json_type_string);
+    set_by_string(&modify_obj, "nested.api", "2", json_type_string);
 
     printf("file_obj=%s\n", json_object_get_string(file_obj));
     printf("modify_obj=%s\n", json_object_get_string(modify_obj));
@@ -202,7 +202,7 @@ static void test_json_add_int(void **state)
 
     json_object_object_add(file_obj, "integer", json_object_new_int(1));
 
-    set_by_string("integer", &modify_obj, "1", json_type_int);
+    set_by_string(&modify_obj, "integer", "1", json_type_int);
 
     printf("file_obj=%s\n", json_object_get_string(file_obj));
     printf("modify_obj=%s\n", json_object_get_string(modify_obj));
@@ -221,7 +221,7 @@ static void test_json_add_int_nested(void **state)
     json_object_object_add(obj, "nested1", nested);
     json_object_object_add(file_obj, "nested0", obj);
 
-    set_by_string("nested0.nested1.integer", &modify_obj, "1", json_type_int);
+    set_by_string(&modify_obj, "nested0.nested1.integer", "1", json_type_int);
 
     printf("file_obj=%s\n", json_object_get_string(file_obj));
     printf("modify_obj=%s\n", json_object_get_string(modify_obj));
@@ -241,8 +241,8 @@ static void test_json_add_array_int(void **state)
     json_object_object_add(obj, "array", json_object_get(arr));
     json_object_object_add(file_obj, "inner", obj);
 
-    set_by_string("array[-1]", &modify_obj, "1", json_type_int);
-    set_by_string("inner.array[-1]", &modify_obj, "1", json_type_int);
+    set_by_string(&modify_obj, "array[-1]", "1", json_type_int);
+    set_by_string(&modify_obj, "inner.array[-1]", "1", json_type_int);
 
     printf("file_obj=%s\n", json_object_get_string(file_obj));
     printf("modify_obj=%s\n", json_object_get_string(modify_obj));
@@ -265,9 +265,9 @@ static void test_json_add_array_object(void **state)
     json_object_array_add(arr, json_object_get(obj)); // array will now hold two references to the same object (will double free otherwise)
     json_object_object_add(file_obj, "array", arr);
 
-    set_by_string("array[-1].integer", &modify_obj, "1", json_type_int);
-    set_by_string("array[0].string", &modify_obj, "test", json_type_string);
-    set_by_string("array[-1]", &modify_obj, "{\"integer\": 1, \"string\":\"test\"}", json_type_object);
+    set_by_string(&modify_obj, "array[-1].integer", "1", json_type_int);
+    set_by_string(&modify_obj, "array[0].string", "test", json_type_string);
+    set_by_string(&modify_obj, "array[-1]", "{\"integer\": 1, \"string\":\"test\"}", json_type_object);
 
     printf("file_obj=%s\n", json_object_get_string(file_obj));
     printf("modify_obj=%s\n", json_object_get_string(modify_obj));
@@ -294,11 +294,11 @@ static void test_json_add_array_nested_object(void **state)
     json_object_array_add(arr, json_object_get(obj));
     json_object_object_add(file_obj, "array", arr);
 
-    set_by_string(NULL, &modify_obj, "{\"array\": [{\"nested\": {\"nested1\": {\"integer\": 1}}}]}", json_type_object);
-    set_by_string("array[5].nested.nested1.integer", &modify_obj, "1", json_type_int);
-    set_by_string("array[-1].nested.nested1", &modify_obj, "{\"integer\": 1}", json_type_object);
-    set_by_string("array[-1].nested", &modify_obj, "{\"nested1\": {\"integer\": 1}}", json_type_object);
-    set_by_string("array[-1]", &modify_obj, "{\"nested\": {\"nested1\": {\"integer\": 1}}}", json_type_object);
+    set_by_string(&modify_obj, NULL, "{\"array\": [{\"nested\": {\"nested1\": {\"integer\": 1}}}]}", json_type_object);
+    set_by_string(&modify_obj, "array[5].nested.nested1.integer", "1", json_type_int);
+    set_by_string(&modify_obj, "array[-1].nested.nested1", "{\"integer\": 1}", json_type_object);
+    set_by_string(&modify_obj, "array[-1].nested", "{\"nested1\": {\"integer\": 1}}", json_type_object);
+    set_by_string(&modify_obj, "array[-1]", "{\"nested\": {\"nested1\": {\"integer\": 1}}}", json_type_object);
 
     printf("file_obj=%s\n", json_object_get_string(file_obj));
     printf("modify_obj=%s\n", json_object_get_string(modify_obj));
@@ -327,17 +327,19 @@ static void test_json_add_array_nested_array(void **state)
     json_object_object_add(file_obj, "array", arr);
 
     //set_by_string("array[0][0].test", &modify_obj, "1", json_type_int);
-    set_by_string("array[0][0]", &modify_obj, "1", json_type_int);
-    set_by_string("array[0][1]", &modify_obj, "2", json_type_int);
-    set_by_string("array[0][2]", &modify_obj, "3", json_type_int);
+    set_by_string(&modify_obj, "array[0][0]", "1", json_type_int);
+    set_by_string(&modify_obj, "array[0][1]", "2", json_type_int);
+    set_by_string(&modify_obj, "array[0][2]", "3", json_type_int);
 
-    set_by_string("array[1][-1]", &modify_obj, "5", json_type_int);
-    set_by_string("array[1][-1]", &modify_obj, "6", json_type_int);
-    set_by_string("array[1][-1]", &modify_obj, "7", json_type_int);
+    set_by_string(&modify_obj, "array[1][-1]", "5", json_type_int);
+    set_by_string(&modify_obj, "array[1][-1]", "6", json_type_int);
+    set_by_string(&modify_obj, "array[1][-1]", "7", json_type_int);
 
     printf("file_obj=%s\n", json_object_get_string(file_obj));
     printf("modify_obj=%s\n", json_object_get_string(modify_obj));
 
+
+
     assert_int_equal(1, json_object_equal(modify_obj, file_obj));
 }
 
-- 
GitLab