+
+
+static void U_CALLCONV locale_utility_init(UErrorCode &status) {
+ using namespace icu;
+ U_ASSERT(LocaleUtility_cache == NULL);
+ ucln_common_registerCleanup(UCLN_COMMON_SERVICE, service_cleanup);
+ LocaleUtility_cache = new Hashtable(status);
+ if (U_FAILURE(status)) {
+ delete LocaleUtility_cache;
+ LocaleUtility_cache = NULL;
+ return;
+ }
+ if (LocaleUtility_cache == NULL) {
+ status = U_MEMORY_ALLOCATION_ERROR;
+ return;
+ }
+ LocaleUtility_cache->setValueDeleter(uhash_deleteHashtable);
+}
+