Add json_boolean() macro
Mostly for symmetry reasons. Makes it easier e.g. to: int ok = 0; if(something) ok = 1; json_object_set_new(obj, "ok", json_boolean(ok)); Fixes #86.
This commit is contained in:
parent
52924288b9
commit
b6a1d8cfd4
@ -255,8 +255,8 @@ returns an error status.
|
||||
True, False and Null
|
||||
====================
|
||||
|
||||
These values are implemented as singletons, so each of these functions
|
||||
returns the same value each time.
|
||||
These three values are implemented as singletons, so the returned
|
||||
pointers won't change between invocations of these functions.
|
||||
|
||||
.. function:: json_t *json_true(void)
|
||||
|
||||
@ -270,6 +270,15 @@ returns the same value each time.
|
||||
|
||||
Returns the JSON false value.
|
||||
|
||||
.. function:: json_t *json_boolean(val)
|
||||
|
||||
.. refcounting:: new
|
||||
|
||||
Returns JSON false if ``val`` is zero, and JSON true otherwise.
|
||||
This is a macro, and equivalent to ``val ? json_true() :
|
||||
json_false()``.
|
||||
|
||||
|
||||
.. function:: json_t *json_null(void)
|
||||
|
||||
.. refcounting:: new
|
||||
|
@ -86,6 +86,7 @@ json_t *json_integer(json_int_t value);
|
||||
json_t *json_real(double value);
|
||||
json_t *json_true(void);
|
||||
json_t *json_false(void);
|
||||
#define json_boolean(val) ((val) ? json_true() : json_false())
|
||||
json_t *json_null(void);
|
||||
|
||||
static JSON_INLINE
|
||||
|
@ -14,6 +14,22 @@ static void run_tests()
|
||||
{
|
||||
json_t *value;
|
||||
|
||||
value = json_boolean(1);
|
||||
if(!json_is_true(value))
|
||||
fail("json_boolean(1) failed");
|
||||
json_decref(value);
|
||||
|
||||
value = json_boolean(-123);
|
||||
if(!json_is_true(value))
|
||||
fail("json_boolean(-123) failed");
|
||||
json_decref(value);
|
||||
|
||||
value = json_boolean(0);
|
||||
if(!json_is_false(value))
|
||||
fail("json_boolean(0) failed");
|
||||
json_decref(value);
|
||||
|
||||
|
||||
value = json_integer(1);
|
||||
if(json_typeof(value) != JSON_INTEGER)
|
||||
fail("json_typeof failed");
|
||||
|
Loading…
Reference in New Issue
Block a user