X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=json.h;h=d98242638d4a186b13fa6ba2da86639454dc47b8;hp=09c2f18715c61911dfda6dacc860ef44475a9b3b;hb=HEAD;hpb=d3851529fc160bdf8cfa266d2e4b4f87bb76cef9 diff --git a/json.h b/json.h index 09c2f187..66bb06b1 100644 --- a/json.h +++ b/json.h @@ -57,9 +57,9 @@ static inline int json_object_add_value_int(struct json_object *obj, { struct json_value arg = { .type = JSON_TYPE_INTEGER, - .integer_number = val, }; + arg.integer_number = val; return json_object_add_value_type(obj, name, &arg); } @@ -68,9 +68,9 @@ static inline int json_object_add_value_float(struct json_object *obj, { struct json_value arg = { .type = JSON_TYPE_FLOAT, - .float_number = val, }; + arg.float_number = val; return json_object_add_value_type(obj, name, &arg); } @@ -80,9 +80,14 @@ static inline int json_object_add_value_string(struct json_object *obj, { struct json_value arg = { .type = JSON_TYPE_STRING, - .string = (char *)val, }; + union { + const char *a; + char *b; + } string; + string.a = val ? val : ""; + arg.string = string.b; return json_object_add_value_type(obj, name, &arg); } @@ -92,9 +97,9 @@ static inline int json_object_add_value_object(struct json_object *obj, { struct json_value arg = { .type = JSON_TYPE_OBJECT, - .object = val, }; + arg.object = val; return json_object_add_value_type(obj, name, &arg); } @@ -104,9 +109,9 @@ static inline int json_object_add_value_array(struct json_object *obj, { struct json_value arg = { .type = JSON_TYPE_ARRAY, - .array = val, }; + arg.array = val; return json_object_add_value_type(obj, name, &arg); } @@ -118,9 +123,9 @@ static inline int json_array_add_value_int(struct json_array *obj, { struct json_value arg = { .type = JSON_TYPE_INTEGER, - .integer_number = val, }; + arg.integer_number = val; return json_array_add_value_type(obj, &arg); } @@ -129,9 +134,9 @@ static inline int json_array_add_value_float(struct json_array *obj, { struct json_value arg = { .type = JSON_TYPE_FLOAT, - .float_number = val, }; + arg.float_number = val; return json_array_add_value_type(obj, &arg); } @@ -140,9 +145,9 @@ static inline int json_array_add_value_string(struct json_array *obj, { struct json_value arg = { .type = JSON_TYPE_STRING, - .string = (char *)val, }; + arg.string = (char *)val; return json_array_add_value_type(obj, &arg); } @@ -151,9 +156,9 @@ static inline int json_array_add_value_object(struct json_array *obj, { struct json_value arg = { .type = JSON_TYPE_OBJECT, - .object = val, }; + arg.object = val; return json_array_add_value_type(obj, &arg); } @@ -162,9 +167,9 @@ static inline int json_array_add_value_array(struct json_array *obj, { struct json_value arg = { .type = JSON_TYPE_ARRAY, - .array = val, }; + arg.array = val; return json_array_add_value_type(obj, &arg); }