]> git.saurik.com Git - apple/icu.git/blob - icuSources/i18n/ucln_in.c
ICU-6.2.14.tar.gz
[apple/icu.git] / icuSources / i18n / ucln_in.c
1 /*
2 ******************************************************************************
3 * *
4 * Copyright (C) 2001-2004, International Business Machines *
5 * Corporation and others. All Rights Reserved. *
6 * *
7 ******************************************************************************
8 * file name: ucln_in.c
9 * encoding: US-ASCII
10 * tab size: 8 (not used)
11 * indentation:4
12 *
13 * created on: 2001July05
14 * created by: George Rhoten
15 */
16
17 #include "ucln.h"
18 #include "ucln_in.h"
19 #include "uassert.h"
20
21 /* Leave this copyright notice here! It needs to go somewhere in this library. */
22 static const char copyright[] = U_COPYRIGHT_STRING;
23
24 static cleanupFunc *gCleanupFunctions[UCLN_I18N_COUNT];
25
26 static UBool i18n_cleanup(void)
27 {
28 ECleanupI18NType libType;
29
30 for (libType = UCLN_I18N_START+1; libType<UCLN_I18N_COUNT; libType++) {
31 if (gCleanupFunctions[libType])
32 {
33 gCleanupFunctions[libType]();
34 gCleanupFunctions[libType] = NULL;
35 }
36 }
37 return TRUE;
38 }
39
40 void ucln_i18n_registerCleanup(ECleanupI18NType type,
41 cleanupFunc *func)
42 {
43 U_ASSERT(UCLN_I18N_START < type && type < UCLN_I18N_COUNT);
44 ucln_registerCleanup(UCLN_I18N, i18n_cleanup);
45 if (UCLN_I18N_START < type && type < UCLN_I18N_COUNT)
46 {
47 gCleanupFunctions[type] = func;
48 }
49 }
50