| 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 |