From 2dbb026590d3b65473add9b5d39b3f1a7dfd5973 Mon Sep 17 00:00:00 2001 From: cedric Date: Wed, 3 Sep 2008 12:06:50 +0000 Subject: [PATCH] Fix initialisation logic. git-svn-id: http://svn.enlightenment.org/svn/e/trunk/PROTO/eina@35806 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/eina_hash.c | 15 ++------------- src/lib/eina_main.c | 14 +++++++------- src/lib/eina_stringshare.c | 14 +++++++------- 3 files changed, 16 insertions(+), 27 deletions(-) diff --git a/src/lib/eina_hash.c b/src/lib/eina_hash.c index a6c6af1..f561a5b 100644 --- a/src/lib/eina_hash.c +++ b/src/lib/eina_hash.c @@ -88,8 +88,6 @@ struct _Eina_Hash_Each const void *data; }; -static int _eina_hash_init_count = 0; - #undef get16bits #if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \ || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__) @@ -325,12 +323,7 @@ _eina_hash_iterator_free(Eina_Iterator_Hash *it) EAPI int eina_hash_init(void) { - _eina_hash_init_count++; - - if (_eina_hash_init_count == 1) - eina_error_init(); - - return _eina_hash_init_count; + return eina_error_init(); } /** @@ -339,11 +332,7 @@ eina_hash_init(void) EAPI int eina_hash_shutdown(void) { - _eina_hash_init_count--; - - if (_eina_hash_init_count == 0) eina_error_shutdown(); - - return _eina_hash_init_count; + return eina_error_shutdown(); } /** diff --git a/src/lib/eina_main.c b/src/lib/eina_main.c index fdb632f..68ee32c 100644 --- a/src/lib/eina_main.c +++ b/src/lib/eina_main.c @@ -40,10 +40,10 @@ eina_init(void) int r; r = eina_error_init(); - r += eina_hash_init(); - r += eina_stringshare_init(); - r += eina_list_init(); - r += eina_array_init(); + eina_hash_init(); + eina_stringshare_init(); + eina_list_init(); + eina_array_init(); return r; } @@ -55,9 +55,9 @@ eina_shutdown(void) eina_array_shutdown(); eina_list_shutdown(); - r = eina_stringshare_shutdown(); - r += eina_hash_shutdown(); - r += eina_error_shutdown(); + eina_stringshare_shutdown(); + eina_hash_shutdown(); + r = eina_error_shutdown(); return r; } diff --git a/src/lib/eina_stringshare.c b/src/lib/eina_stringshare.c index a72f3de..8b4a0e7 100644 --- a/src/lib/eina_stringshare.c +++ b/src/lib/eina_stringshare.c @@ -85,7 +85,7 @@ struct _Eina_Stringshare_Node }; static Eina_Stringshare *share = NULL; -static int eina_stringshare_init_count = 0; +static int _eina_stringshare_init_count = 0; static int _eina_stringshare_cmp(const Eina_Stringshare_Node *node, const char *key, int length, __UNUSED__ void *data) @@ -152,16 +152,16 @@ eina_stringshare_init() * No strings have been loaded at this point, so create the hash * table for storing string info for later. */ - if (!eina_stringshare_init_count) + if (!_eina_stringshare_init_count) { share = calloc(1, sizeof(Eina_Stringshare)); if (!share) return 0; eina_error_init(); } - eina_stringshare_init_count++; + _eina_stringshare_init_count++; - return 1; + return _eina_stringshare_init_count; } /** @@ -239,8 +239,8 @@ eina_stringshare_del(const char *str) EAPI int eina_stringshare_shutdown() { - --eina_stringshare_init_count; - if (!eina_stringshare_init_count) + --_eina_stringshare_init_count; + if (!_eina_stringshare_init_count) { int i; /* remove any string still in the table */ @@ -263,7 +263,7 @@ eina_stringshare_shutdown() eina_error_shutdown(); } - return eina_stringshare_init_count; + return _eina_stringshare_init_count; } /** -- 2.7.4