X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=json.c;h=6145ee489dbd2c6077dfa3a8913fa3935cc49c0c;hp=cdc3b2185fa428e3a68842c44b7079448607108b;hb=89c176baca1170db809d4f46416e262851d00874;hpb=1e5324e723116a5faf9da686993cc79c14d62d4b diff --git a/json.c b/json.c index cdc3b218..6145ee48 100644 --- a/json.c +++ b/json.c @@ -8,18 +8,12 @@ struct json_object *json_create_object(void) { - struct json_object *obj = malloc(sizeof(struct json_object)); - if (obj) - memset(obj, 0, sizeof(struct json_object)); - return obj; + return calloc(1, sizeof(struct json_object)); } struct json_array *json_create_array(void) { - struct json_array *array = malloc(sizeof(struct json_array)); - if (array) - memset(array, 0, sizeof(struct json_array)); - return array; + return calloc(1, sizeof(struct json_array)); } static struct json_pair *json_create_pair(const char *name, struct json_value *value) @@ -35,7 +29,7 @@ static struct json_pair *json_create_pair(const char *name, struct json_value *v return pair; } -static struct json_value *json_create_value_int(long number) +static struct json_value *json_create_value_int(long long number) { struct json_value *value = malloc(sizeof(struct json_value)); @@ -84,7 +78,7 @@ static char *strdup_escape(const char *str) } /* - * Valid JSON strings must escape '"' and '/' with a preceeding '/' + * Valid JSON strings must escape '"' and '/' with a preceding '/' */ static struct json_value *json_create_value_string(const char *str) { @@ -212,7 +206,7 @@ int json_object_add_value_type(struct json_object *obj, const char *name, int ty if (type == JSON_TYPE_STRING) value = json_create_value_string(va_arg(args, char *)); else if (type == JSON_TYPE_INTEGER) - value = json_create_value_int(va_arg(args, long)); + value = json_create_value_int(va_arg(args, long long)); else if (type == JSON_TYPE_FLOAT) value = json_create_value_float(va_arg(args, double)); else if (type == JSON_TYPE_OBJECT) @@ -248,7 +242,7 @@ int json_array_add_value_type(struct json_array *array, int type, ...) if (type == JSON_TYPE_STRING) value = json_create_value_string(va_arg(args, char *)); else if (type == JSON_TYPE_INTEGER) - value = json_create_value_int(va_arg(args, long)); + value = json_create_value_int(va_arg(args, long long)); else if (type == JSON_TYPE_FLOAT) value = json_create_value_float(va_arg(args, double)); else if (type == JSON_TYPE_OBJECT) @@ -350,7 +344,7 @@ static void json_print_value(struct json_value *value) log_info("\"%s\"", value->string); break; case JSON_TYPE_INTEGER: - log_info("%ld", value->integer_number); + log_info("%lld", value->integer_number); break; case JSON_TYPE_FLOAT: log_info("%.2f", value->float_number);