Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / icu / patches / wpo.patch
1 Index: source/common/udata.cpp
2 ===================================================================
3 --- source/common/udata.cpp     (revision 259715)
4 +++ source/common/udata.cpp     (working copy)
5 @@ -621,7 +621,7 @@
6   *      our common data.                                                *
7   *                                                                      *
8   *----------------------------------------------------------------------*/
9 -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;
11  
12  /*
13   * This would be a good place for weak-linkage declarations of
14 @@ -667,7 +667,7 @@
15          if(gCommonICUDataArray[commonDataIndex] == NULL) {
16              int32_t i;
17              for(i = 0; i < commonDataIndex; ++i) {
18 -                if(gCommonICUDataArray[i]->pHeader == &U_ICUDATA_ENTRY_POINT) {
19 +                if(gCommonICUDataArray[i]->pHeader == &U_ICUDATA_ENTRY_POINT.hdr) {
20                      /* The linked-in data is already in the list. */
21                      return NULL;
22                  }
23 @@ -686,7 +686,7 @@
24                  setCommonICUDataPointer(uprv_getICUData_conversion(), FALSE, pErrorCode);
25              }
26              */
27 -            setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT, FALSE, pErrorCode);
28 +            setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT.hdr, FALSE, pErrorCode);
29          }
30          return gCommonICUDataArray[commonDataIndex];
31      }
32 Index: source/common/ucmndata.h
33 ===================================================================
34 --- source/common/ucmndata.h    (revision 68397)
35 +++ source/common/ucmndata.h    (working copy)
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 @@
62  #include "unicode/utypes.h"
63  #include "unicode/udata.h"
64  #include "unicode/uversion.h"
65 +#include "ucmndata.h"
66  
67  
68 -typedef struct {
69 -    uint16_t headerSize;
70 -    uint8_t magic1, magic2;
71 -    UDataInfo info;
72 -    char padding[8];
73 -    uint32_t count, reserved;
74 -    /*
75 -    const struct {
76 -    const char *const name; 
77 -    const void *const data;
78 -    } toc[1];
79 -    */
80 -   int   fakeNameAndData[4];       /* TODO:  Change this header type from */
81 -                                   /*        pointerTOC to OffsetTOC.     */
82 -} ICU_Data_Header;
83 -
84  U_EXPORT const ICU_Data_Header U_ICUDATA_ENTRY_POINT = {
85 -    32,          /* headerSize */
86 -    0xda,        /* magic1,  (see struct MappedData in udata.c)  */
87 -    0x27,        /* magic2     */
88 -    {            /*UDataInfo   */
89 -        sizeof(UDataInfo),      /* size        */
90 -        0,                      /* reserved    */
91 +    {            /* DataHeader */
92 +        {            /* MappedData */
93 +            32,          /* headerSize */
94 +            0xda,        /* magic1,  (see struct MappedData in udata.c)  */
95 +            0x27,        /* magic2     */
96 +        },
97 +        {            /*UDataInfo   */
98 +            sizeof(UDataInfo),      /* size        */
99 +            0,                      /* reserved    */
100  
101  #if U_IS_BIG_ENDIAN
102 -        1,
103 +            1,
104  #else
105 -        0,
106 +            0,
107  #endif
108  
109 -        U_CHARSET_FAMILY,
110 -        sizeof(UChar),   
111 -        0,               /* reserved      */
112 -        {                /* data format identifier */
113 -           0x54, 0x6f, 0x43, 0x50}, /* "ToCP" */
114 -           {1, 0, 0, 0},   /* format version major, minor, milli, micro */
115 -           {0, 0, 0, 0}    /* dataVersion   */
116 +            U_CHARSET_FAMILY,
117 +            sizeof(UChar),   
118 +            0,               /* reserved      */
119 +            {                /* data format identifier */
120 +               0x54, 0x6f, 0x43, 0x50}, /* "ToCP" */
121 +               {1, 0, 0, 0},   /* format version major, minor, milli, micro */
122 +               {0, 0, 0, 0}    /* dataVersion   */
123 +        },
124      },
125      {0,0,0,0,0,0,0,0},  /* Padding[8]   */ 
126      0,                  /* count        */