Fix initialisation logic.

SVN revision: 35806
This commit is contained in:
Cedric BAIL 2008-09-03 12:06:50 +00:00
parent 27042fd8fc
commit 9638ded27f
3 changed files with 16 additions and 27 deletions

View File

@ -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();
}
/**

View File

@ -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;
}

View File

@ -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;
}
/**