static UBool i18n_cleanup(void) { ECleanupI18NType libType = UCLN_I18N_START; while (++libType<UCLN_I18N_COUNT) { if (gCleanupFunctions[libType]) { gCleanupFunctions[libType](); gCleanupFunctions[libType] = NULL; } } #if !UCLN_NO_AUTO_CLEANUP && (defined(UCLN_AUTO_ATEXIT) || defined(UCLN_AUTO_LOCAL)) ucln_unRegisterAutomaticCleanup(); #endif return TRUE; }
static UBool U_CALLCONV i18n_cleanup(void) { int32_t libType = UCLN_I18N_START; (void)copyright; /* Suppress unused variable warning with clang. */ while (++libType<UCLN_I18N_COUNT) { if (gCleanupFunctions[libType]) { gCleanupFunctions[libType](); gCleanupFunctions[libType] = NULL; } } #if !UCLN_NO_AUTO_CLEANUP && (defined(UCLN_AUTO_ATEXIT) || defined(UCLN_AUTO_LOCAL)) ucln_unRegisterAutomaticCleanup(); #endif return TRUE; }
U_CFUNC UBool ucln_lib_cleanup(void) { int32_t libType = UCLN_START; int32_t commonFunc = UCLN_COMMON_START; for (libType++; libType<UCLN_COMMON; libType++) { ucln_cleanupOne(static_cast<ECleanupLibraryType>(libType)); } for (commonFunc++; commonFunc<UCLN_COMMON_COUNT; commonFunc++) { if (gCommonCleanupFunctions[commonFunc]) { gCommonCleanupFunctions[commonFunc](); gCommonCleanupFunctions[commonFunc] = NULL; } } #if !UCLN_NO_AUTO_CLEANUP && (defined(UCLN_AUTO_ATEXIT) || defined(UCLN_AUTO_LOCAL)) ucln_unRegisterAutomaticCleanup(); #endif return TRUE; }