OLD | NEW |
1 Index: source/common/udata.cpp | 1 diff --git a/source/common/ucmndata.h b/source/common/ucmndata.h |
2 =================================================================== | 2 index 36163c5..0902921 100644 |
3 --- source/common/udata.cpp» (revision 259715) | 3 --- a/source/common/ucmndata.h |
4 +++ source/common/udata.cpp» (working copy) | 4 +++ b/source/common/ucmndata.h |
5 @@ -621,7 +621,7 @@ | 5 @@ -44,6 +44,20 @@ typedef struct { |
| 6 } DataHeader; |
| 7 |
| 8 typedef struct { |
| 9 + DataHeader hdr; |
| 10 + char padding[8]; |
| 11 + uint32_t count, reserved; |
| 12 + /* |
| 13 + const struct { |
| 14 + const char *const name; |
| 15 + const void *const data; |
| 16 + } toc[1]; |
| 17 + */ |
| 18 + int fakeNameAndData[4]; /* TODO: Change this header type from */ |
| 19 + /* pointerTOC to OffsetTOC. */ |
| 20 +} ICU_Data_Header; |
| 21 + |
| 22 +typedef struct { |
| 23 uint32_t nameOffset; |
| 24 uint32_t dataOffset; |
| 25 } UDataOffsetTOCEntry; |
| 26 diff --git a/source/common/udata.cpp b/source/common/udata.cpp |
| 27 index 0d7df42..e6d8a35 100644 |
| 28 --- a/source/common/udata.cpp |
| 29 +++ b/source/common/udata.cpp |
| 30 @@ -620,7 +620,7 @@ U_NAMESPACE_END |
6 * our common data. * | 31 * our common data. * |
7 * * | 32 * * |
8 *----------------------------------------------------------------------*/ | 33 *----------------------------------------------------------------------*/ |
9 -extern "C" const DataHeader U_DATA_API U_ICUDATA_ENTRY_POINT; | 34 -extern "C" const DataHeader U_DATA_API U_ICUDATA_ENTRY_POINT; |
10 +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; |
11 | 36 |
12 /* | 37 /* |
13 * This would be a good place for weak-linkage declarations of | 38 * This would be a good place for weak-linkage declarations of |
14 @@ -667,7 +667,7 @@ | 39 @@ -666,7 +666,7 @@ openCommonData(const char *path, /* Path from Open
Choice? */ |
15 if(gCommonICUDataArray[commonDataIndex] == NULL) { | 40 if(gCommonICUDataArray[commonDataIndex] == NULL) { |
16 int32_t i; | 41 int32_t i; |
17 for(i = 0; i < commonDataIndex; ++i) { | 42 for(i = 0; i < commonDataIndex; ++i) { |
18 - if(gCommonICUDataArray[i]->pHeader == &U_ICUDATA_ENTRY_POINT) { | 43 - if(gCommonICUDataArray[i]->pHeader == &U_ICUDATA_ENTRY_POINT) { |
19 + if(gCommonICUDataArray[i]->pHeader == &U_ICUDATA_ENTRY_POINT.hd
r) { | 44 + if(gCommonICUDataArray[i]->pHeader == &U_ICUDATA_ENTRY_POINT.hd
r) { |
20 /* The linked-in data is already in the list. */ | 45 /* The linked-in data is already in the list. */ |
21 return NULL; | 46 return NULL; |
22 } | 47 } |
23 @@ -686,7 +686,7 @@ | 48 @@ -685,7 +685,7 @@ openCommonData(const char *path, /* Path from Open
Choice? */ |
24 setCommonICUDataPointer(uprv_getICUData_conversion(), FALSE, pE
rrorCode); | 49 setCommonICUDataPointer(uprv_getICUData_conversion(), FALSE, pE
rrorCode); |
25 } | 50 } |
26 */ | 51 */ |
27 - setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT, FALSE, pErrorCode); | 52 - setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT, FALSE, pErrorCode); |
28 + setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT.hdr, FALSE, pErrorCo
de); | 53 + setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT.hdr, FALSE, pErrorCo
de); |
29 } | 54 } |
30 return gCommonICUDataArray[commonDataIndex]; | 55 return gCommonICUDataArray[commonDataIndex]; |
31 } | 56 } |
32 Index: source/common/ucmndata.h | 57 diff --git a/source/stubdata/stubdata.c b/source/stubdata/stubdata.c |
33 =================================================================== | 58 index 69a5876..9eac596 100644 |
34 --- source/common/ucmndata.h» (revision 68397) | 59 --- a/source/stubdata/stubdata.c |
35 +++ source/common/ucmndata.h» (working copy) | 60 +++ b/source/stubdata/stubdata.c |
36 @@ -44,6 +44,20 @@ | |
37 } DataHeader; | |
38 | |
39 typedef struct { | |
40 + DataHeader hdr; | |
41 + char padding[8]; | |
42 + uint32_t count, reserved; | |
43 + /* | |
44 + const struct { | |
45 + const char *const name; | |
46 + const void *const data; | |
47 + } toc[1]; | |
48 + */ | |
49 + int fakeNameAndData[4]; /* TODO: Change this header type from */ | |
50 + /* pointerTOC to OffsetTOC. */ | |
51 +} ICU_Data_Header; | |
52 + | |
53 +typedef struct { | |
54 uint32_t nameOffset; | |
55 uint32_t dataOffset; | |
56 } UDataOffsetTOCEntry; | |
57 Index: source/stubdata/stubdata.c | |
58 =================================================================== | |
59 --- source/stubdata/stubdata.c» (revision 68397) | |
60 +++ source/stubdata/stubdata.c» (working copy) | |
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 { |
69 - uint16_t headerSize; | 69 - uint16_t headerSize; |
70 - uint8_t magic1, magic2; | 70 - uint8_t magic1, magic2; |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 |