From 91a0e2365625add5ff42b1ff244d9cb7c38f2a0a Mon Sep 17 00:00:00 2001 From: ningerso Date: Thu, 4 Jan 2007 07:45:40 +0000 Subject: [PATCH] Add a function to get the count of nodes in a hash. SVN revision: 27786 --- legacy/ecore/src/lib/ecore/Ecore_Data.h | 1 + legacy/ecore/src/lib/ecore/ecore_hash.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/legacy/ecore/src/lib/ecore/Ecore_Data.h b/legacy/ecore/src/lib/ecore/Ecore_Data.h index d37fa12150..80af8208d4 100644 --- a/legacy/ecore/src/lib/ecore/Ecore_Data.h +++ b/legacy/ecore/src/lib/ecore/Ecore_Data.h @@ -238,6 +238,7 @@ extern "C" { EAPI int ecore_hash_set_free_value(Ecore_Hash *hash, Ecore_Free_Cb function); EAPI void ecore_hash_destroy(Ecore_Hash *hash); + EAPI int ecore_hash_count(Ecore_Hash *hash); EAPI int ecore_hash_for_each_node(Ecore_Hash *hash, Ecore_For_Each for_each_func, void *user_data); EAPI Ecore_List *ecore_hash_keys(Ecore_Hash *hash); diff --git a/legacy/ecore/src/lib/ecore/ecore_hash.c b/legacy/ecore/src/lib/ecore/ecore_hash.c index f57655ad3b..197cbb5d1a 100644 --- a/legacy/ecore/src/lib/ecore/ecore_hash.c +++ b/legacy/ecore/src/lib/ecore/ecore_hash.c @@ -215,6 +215,20 @@ ecore_hash_destroy(Ecore_Hash *hash) * Functions that iterate through hash tables. */ +/** + * Counts the number of nodes in a hash table. + * @param hash The hash table to count current nodes. + * @return The number of nodes in the hash. + * @ingroup Ecore_Data_Hash_ADT_Destruction_Group + */ +EAPI int +ecore_hash_count(Ecore_Hash *hash) +{ + CHECK_PARAM_POINTER_RETURN("hash", hash, 0); + + return hash->nodes; +} + /** * Runs the @p for_each_func function on each entry in the given hash. * @param hash The given hash.