mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-14 17:24:01 +00:00
ICU-6911 Make one cleanup function for numfmt.cpp
X-SVN-Rev: 26677
This commit is contained in:
parent
f5c53c0899
commit
ee7d6c25c0
1 changed files with 14 additions and 17 deletions
|
@ -108,6 +108,10 @@ static UHashtable * NumberingSystem_cache = NULL;
|
|||
|
||||
static UMTX nscacheMutex = NULL;
|
||||
|
||||
#if !UCONFIG_NO_SERVICE
|
||||
static ICULocaleService* gService = NULL;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Release all static memory held by Number Format.
|
||||
*/
|
||||
|
@ -117,12 +121,19 @@ deleteNumberingSystem(void *obj) {
|
|||
delete (NumberingSystem *)obj;
|
||||
}
|
||||
|
||||
static UBool U_CALLCONV NSCache_cleanup(void) {
|
||||
static UBool U_CALLCONV numfmt_cleanup(void) {
|
||||
#if !UCONFIG_NO_SERVICE
|
||||
if (gService) {
|
||||
delete gService;
|
||||
gService = NULL;
|
||||
}
|
||||
#endif
|
||||
if (NumberingSystem_cache) {
|
||||
// delete NumberingSystem_cache;
|
||||
uhash_close(NumberingSystem_cache);
|
||||
NumberingSystem_cache = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
U_CDECL_END
|
||||
|
@ -508,20 +519,6 @@ NumberFormat::getAvailableLocales(int32_t& count)
|
|||
//-------------------------------------------
|
||||
|
||||
#if !UCONFIG_NO_SERVICE
|
||||
static ICULocaleService* gService = NULL;
|
||||
|
||||
/**
|
||||
* Release all static memory held by numberformat.
|
||||
*/
|
||||
U_CDECL_BEGIN
|
||||
static UBool U_CALLCONV numfmt_cleanup(void) {
|
||||
if (gService) {
|
||||
delete gService;
|
||||
gService = NULL;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
U_CDECL_END
|
||||
|
||||
// -------------------------------------
|
||||
|
||||
|
@ -993,7 +990,7 @@ NumberFormat::makeInstance(const Locale& desiredLocale,
|
|||
umtx_lock(&nscacheMutex);
|
||||
NumberingSystem_cache = h = cache;
|
||||
cache = NULL;
|
||||
ucln_i18n_registerCleanup(UCLN_I18N_NUMFMT, NSCache_cleanup);
|
||||
ucln_i18n_registerCleanup(UCLN_I18N_NUMFMT, numfmt_cleanup);
|
||||
umtx_unlock(&nscacheMutex);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue