|
@@ -169,8 +169,10 @@ extern void cJSON_Minify(char *json);
|
|
|
#define cJSON_AddRawToObject(object,name,s) cJSON_AddItemToObject(object, name, cJSON_CreateRaw(s))
|
|
|
|
|
|
/* When assigning an integer value, it needs to be propagated to valuedouble too. */
|
|
|
-#define cJSON_SetIntValue(object,val) ((object) ? (object)->valueint = (object)->valuedouble = (val) : (val))
|
|
|
-#define cJSON_SetNumberValue(object,val) ((object) ? (object)->valueint = (object)->valuedouble = (val) : (val))
|
|
|
+#define cJSON_SetIntValue(object, number) ((object) ? (object)->valueint = (object)->valuedouble = (number) : (number))
|
|
|
+/* helper for the cJSON_SetNumberValue macro */
|
|
|
+extern double cJSON_SetNumberHelper(cJSON *object, double number);
|
|
|
+#define cJSON_SetNumberValue(object, number) ((object) ? cJSON_SetNumberHelper(object, (double)number) : (number))
|
|
|
|
|
|
/* Macro for iterating over an array */
|
|
|
#define cJSON_ArrayForEach(pos, head) for(pos = (head)->child; pos != NULL; pos = pos->next)
|