Fix JSON_INTEGER overflow on Windows by changing datatype to 'long long'
Signed-off-by: Jens Axboe <axboe@fb.com>
diff --git a/json.c b/json.c
index cba370a..7480a61 100644
--- a/json.c
+++ b/json.c
@@ -35,7 +35,7 @@
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));
@@ -212,7 +212,7 @@
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 +248,7 @@
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 +350,7 @@
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);