diff options
author | Greg Hazel <ghazel@gmail.com> | 2013-01-11 01:36:55 -0800 |
---|---|---|
committer | Greg Hazel <ghazel@gmail.com> | 2013-01-11 01:36:55 -0800 |
commit | cca74c6de6e0d7ea397f50c8f16bbdbff2aeae78 (patch) | |
tree | 1302bee7769194d0a0f182deceef0288ad79df09 | |
parent | 3ae296f6946100e533a4358629aa34e74501a039 (diff) | |
download | json-c-cca74c6de6e0d7ea397f50c8f16bbdbff2aeae78.tar.gz |
add json_object_object_length
-rw-r--r-- | json_object.c | 5 | ||||
-rw-r--r-- | json_object.h | 2 | ||||
-rw-r--r-- | linkhash.c | 4 | ||||
-rw-r--r-- | linkhash.h | 1 |
4 files changed, 12 insertions, 0 deletions
diff --git a/json_object.c b/json_object.c index 6060554..9dc6637 100644 --- a/json_object.c +++ b/json_object.c @@ -390,6 +390,11 @@ void json_object_object_add(struct json_object* jso, const char *key, existing_entry->v = val; } +int json_object_object_length(struct json_object *jso) +{ + return lh_table_length(jso->o.c_object); +} + struct json_object* json_object_object_get(struct json_object* jso, const char *key) { struct json_object *result = NULL; diff --git a/json_object.h b/json_object.h index 0ff6584..336ce96 100644 --- a/json_object.h +++ b/json_object.h @@ -215,6 +215,8 @@ extern struct json_object* json_object_new_object(void); */ extern struct lh_table* json_object_get_object(struct json_object *obj); +extern int json_object_object_length(struct json_object* obj); + /** Add an object field to a json_object of type json_type_object * * The reference count will *not* be incremented. This is to make adding @@ -227,3 +227,7 @@ int lh_table_delete(struct lh_table *t, const void *k) return lh_table_delete_entry(t, e); } +int lh_table_length(struct lh_table *t) +{ + return t->count; +} @@ -280,6 +280,7 @@ extern int lh_table_delete_entry(struct lh_table *t, struct lh_entry *e); */ extern int lh_table_delete(struct lh_table *t, const void *k); +extern int lh_table_length(struct lh_table *t); void lh_abort(const char *msg, ...); void lh_table_resize(struct lh_table *t, int new_size); |