diff options
author | Debarshi Ray <debarshir@gnome.org> | 2018-03-14 11:56:55 +0100 |
---|---|---|
committer | Debarshi Ray <debarshir@gnome.org> | 2018-03-14 11:59:20 +0100 |
commit | 0f601e4dbe011866cddf49cac36674573a3f8a5d (patch) | |
tree | 220df47295af9f09e0f7b019e932c4f7c7a77382 /json-glib/json-object.c | |
parent | 279de97716e28208cf2bede5d31123aadb47a1e0 (diff) | |
download | json-glib-0f601e4dbe011866cddf49cac36674573a3f8a5d.tar.gz |
docs: Clarify some expections of the json_object_get_*_member APIs
It is an error to use the following with a missing member:
• json_object_get_int_member
• json_object_get_double_member
• json_object_get_boolean_member
• json_object_get_null_member
• json_object_get_string_member
• json_object_get_array_member
• json_object_get_object_member
Doing so will lead to CRITICALs like these:
Json-CRITICAL **: json_object_get_string_member: assertion
'node != NULL' failed
Instead one of these should be used to determine the existence of the
member:
• json_object_get_member
• json_object_has_member
Or, when available, one can use the corresponding
json_object_get_<type>_member_with_default.
https://gitlab.gnome.org/GNOME/json-glib/issues/24
Diffstat (limited to 'json-glib/json-object.c')
-rw-r--r-- | json-glib/json-object.c | 38 |
1 files changed, 24 insertions, 14 deletions
diff --git a/json-glib/json-object.c b/json-glib/json-object.c index bb33ec0..8e6b293 100644 --- a/json-glib/json-object.c +++ b/json-glib/json-object.c @@ -567,7 +567,7 @@ object_get_member_internal (JsonObject *object, * a #JsonObject. * * Return value: (transfer none) (nullable): a pointer to the node for the - * requested object member, or %NULL + * requested object member, or %NULL if it does not exist. */ JsonNode * json_object_get_member (JsonObject *object, @@ -625,9 +625,11 @@ json_object_get_ ##type_name## _member_with_default (JsonObject *object, \ * @member_name: the name of the @object member * * Convenience function that retrieves the integer value - * stored in @member_name of @object + * stored in @member_name of @object. It is an error to specify a + * @member_name which does not exist. * - * See also: json_object_get_member() + * See also: json_object_get_int_member_with_default(), + * json_object_get_member() and json_object_has_member() * * Return value: the integer value of the object's member * @@ -660,9 +662,11 @@ JSON_OBJECT_GET_DEFAULT (gint64, int) * @member_name: the name of the member * * Convenience function that retrieves the floating point value - * stored in @member_name of @object + * stored in @member_name of @object. It is an error to specify a + * @member_name which does not exist. * - * See also: json_object_get_member() + * See also: json_object_get_double_member_with_default(), + * json_object_get_member() and json_object_has_member() * * Return value: the floating point value of the object's member * @@ -695,9 +699,11 @@ JSON_OBJECT_GET_DEFAULT (double, double) * @member_name: the name of the member * * Convenience function that retrieves the boolean value - * stored in @member_name of @object + * stored in @member_name of @object. It is an error to specify a + * @member_name which does not exist. * - * See also: json_object_get_member() + * See also: json_object_get_boolean_member_with_default(), + * json_object_get_member() and json_object_has_member() * * Return value: the boolean value of the object's member * @@ -730,9 +736,11 @@ JSON_OBJECT_GET_DEFAULT (gboolean, boolean) * @member_name: the name of the member * * Convenience function that retrieves the string value - * stored in @member_name of @object + * stored in @member_name of @object. It is an error to specify a + * @member_name that does not exist. * - * See also: json_object_get_member() + * See also: json_object_get_string_member_with_default(), + * json_object_get_member() and json_object_has_member() * * Return value: the string value of the object's member * @@ -765,9 +773,10 @@ JSON_OBJECT_GET_DEFAULT (const char *, string) * @member_name: the name of the member * * Convenience function that checks whether the value - * stored in @member_name of @object is null + * stored in @member_name of @object is null. It is an error to + * specify a @member_name which does not exist. * - * See also: json_object_get_member() + * See also: json_object_get_member() and json_object_has_member() * * Return value: %TRUE if the value is null * @@ -803,9 +812,10 @@ json_object_get_null_member (JsonObject *object, * @member_name: the name of the member * * Convenience function that retrieves the array - * stored in @member_name of @object + * stored in @member_name of @object. It is an error to specify a + * @member_name which does not exist. * - * See also: json_object_get_member() + * See also: json_object_get_member() and json_object_has_member() * * Return value: (transfer none): the array inside the object's member * @@ -839,7 +849,7 @@ json_object_get_array_member (JsonObject *object, * stored in @member_name of @object. It is an error to specify a @member_name * which does not exist. * - * See also: json_object_get_member() + * See also: json_object_get_member() and json_object_has_member() * * Return value: (transfer none) (nullable): the object inside the object’s * member, or %NULL if the value for the member is `null` |