-#if !UCONFIG_NO_TRANSLITERATION
- transliterator_cleanup();
-#endif
-
-#if !UCONFIG_NO_REGULAR_EXPRESSIONS
- regex_cleanup();
-#endif
-
-#if !UCONFIG_NO_FORMATTING
- calendar_cleanup();
- numfmt_cleanup();
- currency_cleanup();
- timeZone_cleanup();
-#endif
-
-#if !UCONFIG_NO_COLLATION
- collator_cleanup();
- ucol_cleanup();
- ucol_bld_cleanup();
-#endif
-
+ ECleanupI18NType libType;
+
+ for (libType = UCLN_I18N_START+1; libType<UCLN_I18N_COUNT; libType++) {
+ if (gCleanupFunctions[libType])
+ {
+ gCleanupFunctions[libType]();
+ gCleanupFunctions[libType] = NULL;
+ }
+ }