mirror of
https://github.com/json-c/json-c.git
synced 2026-03-29 01:49:06 +08:00
Set error codes for truncating int conversions
json_object_get_int/int64/uint64() now sets errno to ERANGE when the source value can't be represented in the target type.
This commit is contained in:
@@ -743,7 +743,8 @@ JSON_EXPORT struct json_object *json_object_new_uint64(uint64_t i);
|
||||
* which return INT32_MIN and the errno is set to EINVAL.
|
||||
* Strings will be parsed as an integer. If no conversion exists then 0 is
|
||||
* returned and errno is set to EINVAL. null is equivalent to 0 (no error values
|
||||
* set)
|
||||
* set).
|
||||
* Sets errno to ERANGE if the value exceeds the range of int.
|
||||
*
|
||||
* Note that integers are stored internally as 64-bit values.
|
||||
* If the value of too big or too small to fit into 32-bit, INT32_MAX or
|
||||
@@ -789,7 +790,8 @@ JSON_EXPORT int json_object_int_inc(struct json_object *obj, int64_t val);
|
||||
* which return INT64_MIN and the errno is set to EINVAL.
|
||||
* Strings will be parsed as an int64. If no conversion exists then 0 is
|
||||
* returned and errno is set to EINVAL. null is equivalent to 0 (no error values
|
||||
* set)
|
||||
* set).
|
||||
* Sets errno to ERANGE if the value exceeds the range of int64.
|
||||
*
|
||||
* NOTE: Set errno to 0 directly before a call to this function to determine
|
||||
* whether or not conversion was successful (it does not clear the value for
|
||||
@@ -807,7 +809,8 @@ JSON_EXPORT int64_t json_object_get_int64(const struct json_object *obj);
|
||||
* which return 0 and the errno is set to EINVAL.
|
||||
* Strings will be parsed as an uint64. If no conversion exists then 0 is
|
||||
* returned and errno is set to EINVAL. null is equivalent to 0 (no error values
|
||||
* set)
|
||||
* set).
|
||||
* Sets errno to ERANGE if the value exceeds the range of uint64.
|
||||
*
|
||||
* NOTE: Set errno to 0 directly before a call to this function to determine
|
||||
* whether or not conversion was successful (it does not clear the value for
|
||||
|
||||
Reference in New Issue
Block a user