diff options
| -rw-r--r-- | configure.ac | 2 | ||||
| -rw-r--r-- | json-glib/json-object.c | 25 |
2 files changed, 26 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 50ea8ac..8a242a4 100644 --- a/configure.ac +++ b/configure.ac @@ -15,7 +15,7 @@ m4_define([lt_revision], [json_interface_age]) m4_define([lt_age], [m4_eval(json_binary_age - json_interface_age)]) -m4_define([glib_req_version], [2.14]) +m4_define([glib_req_version], [2.12]) AC_PREREQ(2.59) AC_INIT([json-glib], [json_version], [], [json-glib]) diff --git a/json-glib/json-object.c b/json-glib/json-object.c index 8eb41fc..736df6a 100644 --- a/json-glib/json-object.c +++ b/json-glib/json-object.c @@ -160,6 +160,31 @@ json_object_add_member (JsonObject *object, g_hash_table_replace (object->members, g_strdup (member_name), node); } +/* FIXME: yuck */ +#if GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION < 14 +static void +get_keys (gpointer key, + gpointer value, + gpointer user_data) +{ + GList **keys = user_data; + + *keys = g_list_prepend (*keys, key); +} + +static GList * +g_hash_table_get_keys (GHashTable *hash_table) +{ + GList *retval = NULL; + + g_return_val_if_fail (hash_table != NULL, NULL); + + g_hash_table_foreach (hash_table, get_keys, &retval); + + return retval; +} +#endif /* GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION < 14 */ + /** * json_object_get_members: * @object: a #JsonObject |
