diff --git a/src/output.c b/src/output.c index 5a8df36..e5c2fcd 100644 --- a/src/output.c +++ b/src/output.c @@ -37,7 +37,7 @@ static size_t _rjp__write_value(char* dest, RJP_value* val){ size_t ret; switch(val->type){ case json_integer: - ret = sprintf(dest, "%li", val->integer); + ret = sprintf(dest, "%lli", val->integer); break; case json_dfloat: ret = sprintf(dest, "%lf", val->dfloat); diff --git a/src/rjp.c b/src/rjp.c index 2962789..50275dc 100644 --- a/src/rjp.c +++ b/src/rjp.c @@ -85,7 +85,7 @@ void rjp_set_value(RJP_value* dest, RJP_value value){ *dest = value; dest->parent = p; } -RJP_value rjp_integer(long i){ +RJP_value rjp_integer(RJP_int i){ return (RJP_value){.integer = i, .type = json_integer}; } RJP_value rjp_boolean(char b){ diff --git a/src/strings.c b/src/strings.c index 218b543..46f7186 100644 --- a/src/strings.c +++ b/src/strings.c @@ -301,7 +301,7 @@ size_t _rjp__array_strlen(RJP_value* arr){ for(;element_list;element_list = element_list->next){ switch(element_list->value.type){ case json_integer: - count += snprintf(NULL, 0, "%li", element_list->value.integer); + count += snprintf(NULL, 0, "%lli", element_list->value.integer); break; case json_dfloat: count += snprintf(NULL, 0, "%lf", element_list->value.dfloat); @@ -350,7 +350,7 @@ size_t _rjp__object_strlen(RJP_value* root){ size_t _rjp__value_strlen(RJP_value* root){ switch(root->type){ case json_integer: - return snprintf(NULL, 0, "%li", root->integer); + return snprintf(NULL, 0, "%lli", root->integer); case json_dfloat: return snprintf(NULL, 0, "%lf", root->dfloat); case json_boolean: