OLD | NEW |
1 diff --git a/source/common/ucmndata.h b/source/common/ucmndata.h | 1 diff --git a/source/common/ucmndata.h b/source/common/ucmndata.h |
2 index 36163c5..0902921 100644 | 2 index 36163c5..413a2f8 100644 |
3 --- a/source/common/ucmndata.h | 3 --- a/source/common/ucmndata.h |
4 +++ b/source/common/ucmndata.h | 4 +++ b/source/common/ucmndata.h |
5 @@ -44,6 +44,20 @@ typedef struct { | 5 @@ -44,6 +44,20 @@ typedef struct { |
6 } DataHeader; | 6 } DataHeader; |
7 | 7 |
8 typedef struct { | 8 typedef struct { |
9 + DataHeader hdr; | 9 + DataHeader hdr; |
10 + char padding[8]; | 10 + char padding[8]; |
11 + uint32_t count, reserved; | 11 + uint32_t count, reserved; |
12 + /* | 12 + /* |
13 + const struct { | 13 + const struct { |
14 + const char *const name; | 14 + const char *const name; |
15 + const void *const data; | 15 + const void *const data; |
16 + } toc[1]; | 16 + } toc[1]; |
17 + */ | 17 + */ |
18 + int fakeNameAndData[4]; /* TODO: Change this header type from */ | 18 + int fakeNameAndData[4]; /* TODO: Change this header type from */ |
19 + /* pointerTOC to OffsetTOC. */ | 19 + /* pointerTOC to OffsetTOC. */ |
20 +} ICU_Data_Header; | 20 +} ICU_Data_Header; |
21 + | 21 + |
22 +typedef struct { | 22 +typedef struct { |
23 uint32_t nameOffset; | 23 uint32_t nameOffset; |
24 uint32_t dataOffset; | 24 uint32_t dataOffset; |
25 } UDataOffsetTOCEntry; | 25 } UDataOffsetTOCEntry; |
26 diff --git a/source/common/udata.cpp b/source/common/udata.cpp | 26 diff --git a/source/common/udata.cpp b/source/common/udata.cpp |
27 index 0d7df42..e6d8a35 100644 | 27 index d32023b..80bea06 100644 |
28 --- a/source/common/udata.cpp | 28 --- a/source/common/udata.cpp |
29 +++ b/source/common/udata.cpp | 29 +++ b/source/common/udata.cpp |
30 @@ -620,7 +620,7 @@ U_NAMESPACE_END | 30 @@ -624,7 +624,7 @@ U_NAMESPACE_END |
31 * our common data. * | 31 * our common data. * |
32 * * | 32 * * |
33 *----------------------------------------------------------------------*/ | 33 *----------------------------------------------------------------------*/ |
34 -extern "C" const DataHeader U_DATA_API U_ICUDATA_ENTRY_POINT; | 34 -extern "C" const DataHeader U_DATA_API U_ICUDATA_ENTRY_POINT; |
35 +extern "C" const ICU_Data_Header U_DATA_API U_ICUDATA_ENTRY_POINT; | 35 +extern "C" const ICU_Data_Header U_DATA_API U_ICUDATA_ENTRY_POINT; |
36 | 36 |
37 /* | 37 /* |
38 * This would be a good place for weak-linkage declarations of | 38 * This would be a good place for weak-linkage declarations of |
39 @@ -666,7 +666,7 @@ openCommonData(const char *path, /* Path from Open
Choice? */ | 39 @@ -674,7 +674,7 @@ openCommonData(const char *path, /* Path from Open
Choice? */ |
40 if(gCommonICUDataArray[commonDataIndex] == NULL) { | 40 } |
41 int32_t i; | 41 int32_t i; |
42 for(i = 0; i < commonDataIndex; ++i) { | 42 for(i = 0; i < commonDataIndex; ++i) { |
43 - if(gCommonICUDataArray[i]->pHeader == &U_ICUDATA_ENTRY_POINT) { | 43 - if(gCommonICUDataArray[i]->pHeader == &U_ICUDATA_ENTRY_POINT) { |
44 + if(gCommonICUDataArray[i]->pHeader == &U_ICUDATA_ENTRY_POINT.hd
r) { | 44 + if(gCommonICUDataArray[i]->pHeader == &U_ICUDATA_ENTRY_POINT.hd
r) { |
45 /* The linked-in data is already in the list. */ | 45 /* The linked-in data is already in the list. */ |
46 return NULL; | 46 return NULL; |
47 } | 47 } |
48 @@ -685,7 +685,7 @@ openCommonData(const char *path, /* Path from Open
Choice? */ | 48 @@ -694,7 +694,7 @@ openCommonData(const char *path, /* Path from Open
Choice? */ |
49 setCommonICUDataPointer(uprv_getICUData_conversion(), FALSE, pE
rrorCode); | 49 setCommonICUDataPointer(uprv_getICUData_conversion(), FALSE, pError
Code); |
50 } | |
51 */ | |
52 - setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT, FALSE, pErrorCode); | |
53 + setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT.hdr, FALSE, pErrorCo
de); | |
54 } | 50 } |
55 return gCommonICUDataArray[commonDataIndex]; | 51 */ |
56 } | 52 - setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT, FALSE, pErrorCode); |
| 53 + setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT.hdr, FALSE, pErrorCode); |
| 54 { |
| 55 Mutex lock; |
| 56 return gCommonICUDataArray[commonDataIndex]; |
57 diff --git a/source/stubdata/stubdata.c b/source/stubdata/stubdata.c | 57 diff --git a/source/stubdata/stubdata.c b/source/stubdata/stubdata.c |
58 index 69a5876..9eac596 100644 | 58 index 69a5876..1426497 100644 |
59 --- a/source/stubdata/stubdata.c | 59 --- a/source/stubdata/stubdata.c |
60 +++ b/source/stubdata/stubdata.c | 60 +++ b/source/stubdata/stubdata.c |
61 @@ -20,45 +20,34 @@ | 61 @@ -20,45 +20,34 @@ |
62 #include "unicode/utypes.h" | 62 #include "unicode/utypes.h" |
63 #include "unicode/udata.h" | 63 #include "unicode/udata.h" |
64 #include "unicode/uversion.h" | 64 #include "unicode/uversion.h" |
65 +#include "ucmndata.h" | 65 +#include "ucmndata.h" |
66 | 66 |
67 | 67 |
68 -typedef struct { | 68 -typedef struct { |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 #endif | 107 #endif |
108 | 108 |
109 - U_CHARSET_FAMILY, | 109 - U_CHARSET_FAMILY, |
110 - sizeof(UChar), | 110 - sizeof(UChar), |
111 - 0, /* reserved */ | 111 - 0, /* reserved */ |
112 - { /* data format identifier */ | 112 - { /* data format identifier */ |
113 - 0x54, 0x6f, 0x43, 0x50}, /* "ToCP" */ | 113 - 0x54, 0x6f, 0x43, 0x50}, /* "ToCP" */ |
114 - {1, 0, 0, 0}, /* format version major, minor, milli, micro */ | 114 - {1, 0, 0, 0}, /* format version major, minor, milli, micro */ |
115 - {0, 0, 0, 0} /* dataVersion */ | 115 - {0, 0, 0, 0} /* dataVersion */ |
116 + U_CHARSET_FAMILY, | 116 + U_CHARSET_FAMILY, |
117 + sizeof(UChar), | 117 + sizeof(UChar), |
118 + 0, /* reserved */ | 118 + 0, /* reserved */ |
119 + { /* data format identifier */ | 119 + { /* data format identifier */ |
120 + 0x54, 0x6f, 0x43, 0x50}, /* "ToCP" */ | 120 + 0x54, 0x6f, 0x43, 0x50}, /* "ToCP" */ |
121 + {1, 0, 0, 0}, /* format version major, minor, milli, micro */ | 121 + {1, 0, 0, 0}, /* format version major, minor, milli, micro */ |
122 + {0, 0, 0, 0} /* dataVersion */ | 122 + {0, 0, 0, 0} /* dataVersion */ |
123 + }, | 123 + }, |
124 }, | 124 }, |
125 {0,0,0,0,0,0,0,0}, /* Padding[8] */ | 125 {0,0,0,0,0,0,0,0}, /* Padding[8] */ |
126 0, /* count */ | 126 0, /* count */ |
OLD | NEW |