• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 ******************************************************************************
3 *                                                                            *
4 * Copyright (C) 2001-2012, International Business Machines                   *
5 *                Corporation and others. All Rights Reserved.                *
6 *                                                                            *
7 ******************************************************************************
8 *   file name:  uinit.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 "unicode/utypes.h"
18 #include "unicode/icuplug.h"
19 #include "unicode/uclean.h"
20 #include "cmemory.h"
21 #include "icuplugimp.h"
22 #include "ucln.h"
23 #include "ucnv_io.h"
24 #include "utracimp.h"
25 
26 static void U_CALLCONV
initData(UErrorCode * status)27 initData(UErrorCode *status)
28 {
29     /*
30      * 2005-may-02
31      *
32      * ICU4C 3.4 (jitterbug 4497) hardcodes the data for Unicode character
33      * properties for APIs that want to be fast.
34      * Therefore, we need not load them here nor check for errors.
35      * Instead, we load the converter alias table to see if any ICU data
36      * is available.
37      * Users should really open the service objects they need and check
38      * for errors there, to make sure that the actual items they need are
39      * available.
40      */
41 #if !UCONFIG_NO_CONVERSION
42     ucnv_io_countKnownConverters(status);
43 #endif
44 }
45 
46 /*
47  * ICU Initialization Function. Need not be called.
48  */
49 U_CAPI void U_EXPORT2
u_init(UErrorCode * status)50 u_init(UErrorCode *status) {
51     UTRACE_ENTRY_OC(UTRACE_U_INIT);
52 
53     /* initialize plugins */
54     uplug_init(status);
55     ucln_mutexedInit(initData, status);
56 
57     UTRACE_EXIT_STATUS(*status);
58 }
59