]>
Commit | Line | Data |
---|---|---|
a982bd41 | 1 | 2010-03-22 Darin Adler <darin@apple.com> |
2 | ||
3 | Reviewed by Dan Bernstein. | |
4 | ||
5 | TextBreakIteratorICU.cpp is incompatible with new UBreakIterator type in ICU 4.4 | |
6 | https://bugs.webkit.org/show_bug.cgi?id=36381 | |
7 | ||
8 | * platform/text/TextBreakIteratorICU.cpp: | |
9 | (WebCore::setUpIterator): Use reinterpret_cast instead of static_cast or relying | |
10 | on conversion to void*. | |
11 | (WebCore::textBreakFirst): Ditto. | |
12 | (WebCore::textBreakLast): Ditto. | |
13 | (WebCore::textBreakNext): Ditto. | |
14 | (WebCore::textBreakPrevious): Ditto. | |
15 | (WebCore::textBreakPreceding): Ditto. | |
16 | (WebCore::textBreakFollowing): Ditto. | |
17 | (WebCore::textBreakCurrent): Ditto. | |
18 | (WebCore::isTextBreak): Ditto. | |
19 | (WebCore::setUpIteratorWithRules): Ditto. | |
20 | ||
21 | 2010-03-22 Eric Carlson <eric.carlson@apple.com> | |
22 | ||
23 | Index: /trunk/WebCore/platform/text/TextBreakIteratorICU.cpp | |
24 | =================================================================== | |
25 | --- /trunk/WebCore/platform/text/TextBreakIteratorICU.cpp (revision 50977) | |
26 | +++ /trunk/WebCore/platform/text/TextBreakIteratorICU.cpp (revision 56345) | |
27 | @@ -25,5 +25,4 @@ | |
28 | #include "PlatformString.h" | |
29 | #include "TextBreakIteratorInternalICU.h" | |
30 | - | |
31 | #include <unicode/ubrk.h> | |
32 | #include <wtf/Assertions.h> | |
33 | @@ -39,5 +38,5 @@ | |
34 | if (!createdIterator) { | |
35 | UErrorCode openStatus = U_ZERO_ERROR; | |
36 | - iterator = static_cast<TextBreakIterator*>(ubrk_open(type, currentTextBreakLocaleID(), 0, 0, &openStatus)); | |
37 | + iterator = reinterpret_cast<TextBreakIterator*>(ubrk_open(type, currentTextBreakLocaleID(), 0, 0, &openStatus)); | |
38 | createdIterator = true; | |
39 | ASSERT_WITH_MESSAGE(U_SUCCESS(openStatus), "ICU could not open a break iterator: %s (%d)", u_errorName(openStatus), openStatus); | |
40 | @@ -47,5 +46,5 @@ | |
41 | ||
42 | UErrorCode setTextStatus = U_ZERO_ERROR; | |
43 | - ubrk_setText(iterator, string, length, &setTextStatus); | |
44 | + ubrk_setText(reinterpret_cast<UBreakIterator*>(iterator), string, length, &setTextStatus); | |
45 | if (U_FAILURE(setTextStatus)) | |
46 | return 0; | |
47 | @@ -86,42 +85,42 @@ | |
48 | } | |
49 | ||
50 | -int textBreakFirst(TextBreakIterator* bi) | |
51 | -{ | |
52 | - return ubrk_first(bi); | |
53 | -} | |
54 | - | |
55 | -int textBreakLast(TextBreakIterator* bi) | |
56 | -{ | |
57 | - return ubrk_last(bi); | |
58 | -} | |
59 | - | |
60 | -int textBreakNext(TextBreakIterator* bi) | |
61 | -{ | |
62 | - return ubrk_next(bi); | |
63 | -} | |
64 | - | |
65 | -int textBreakPrevious(TextBreakIterator* bi) | |
66 | -{ | |
67 | - return ubrk_previous(bi); | |
68 | -} | |
69 | - | |
70 | -int textBreakPreceding(TextBreakIterator* bi, int pos) | |
71 | -{ | |
72 | - return ubrk_preceding(bi, pos); | |
73 | -} | |
74 | - | |
75 | -int textBreakFollowing(TextBreakIterator* bi, int pos) | |
76 | -{ | |
77 | - return ubrk_following(bi, pos); | |
78 | -} | |
79 | - | |
80 | -int textBreakCurrent(TextBreakIterator* bi) | |
81 | -{ | |
82 | - return ubrk_current(bi); | |
83 | -} | |
84 | - | |
85 | -bool isTextBreak(TextBreakIterator* bi, int pos) | |
86 | -{ | |
87 | - return ubrk_isBoundary(bi, pos); | |
88 | +int textBreakFirst(TextBreakIterator* iterator) | |
89 | +{ | |
90 | + return ubrk_first(reinterpret_cast<UBreakIterator*>(iterator)); | |
91 | +} | |
92 | + | |
93 | +int textBreakLast(TextBreakIterator* iterator) | |
94 | +{ | |
95 | + return ubrk_last(reinterpret_cast<UBreakIterator*>(iterator)); | |
96 | +} | |
97 | + | |
98 | +int textBreakNext(TextBreakIterator* iterator) | |
99 | +{ | |
100 | + return ubrk_next(reinterpret_cast<UBreakIterator*>(iterator)); | |
101 | +} | |
102 | + | |
103 | +int textBreakPrevious(TextBreakIterator* iterator) | |
104 | +{ | |
105 | + return ubrk_previous(reinterpret_cast<UBreakIterator*>(iterator)); | |
106 | +} | |
107 | + | |
108 | +int textBreakPreceding(TextBreakIterator* iterator, int pos) | |
109 | +{ | |
110 | + return ubrk_preceding(reinterpret_cast<UBreakIterator*>(iterator), pos); | |
111 | +} | |
112 | + | |
113 | +int textBreakFollowing(TextBreakIterator* iterator, int pos) | |
114 | +{ | |
115 | + return ubrk_following(reinterpret_cast<UBreakIterator*>(iterator), pos); | |
116 | +} | |
117 | + | |
118 | +int textBreakCurrent(TextBreakIterator* iterator) | |
119 | +{ | |
120 | + return ubrk_current(reinterpret_cast<UBreakIterator*>(iterator)); | |
121 | +} | |
122 | + | |
123 | +bool isTextBreak(TextBreakIterator* iterator, int position) | |
124 | +{ | |
125 | + return ubrk_isBoundary(reinterpret_cast<UBreakIterator*>(iterator), position); | |
126 | } | |
127 | ||
128 | @@ -137,5 +136,5 @@ | |
129 | UErrorCode openStatus = U_ZERO_ERROR; | |
130 | String rules(breakRules); | |
131 | - iterator = static_cast<TextBreakIterator*>(ubrk_openRules(rules.characters(), rules.length(), 0, 0, &parseStatus, &openStatus)); | |
132 | + iterator = reinterpret_cast<TextBreakIterator*>(ubrk_openRules(rules.characters(), rules.length(), 0, 0, &parseStatus, &openStatus)); | |
133 | createdIterator = true; | |
134 | ASSERT_WITH_MESSAGE(U_SUCCESS(openStatus), "ICU could not open a break iterator: %s (%d)", u_errorName(openStatus), openStatus); | |
135 | @@ -145,5 +144,5 @@ | |
136 | ||
137 | UErrorCode setTextStatus = U_ZERO_ERROR; | |
138 | - ubrk_setText(iterator, string, length, &setTextStatus); | |
139 | + ubrk_setText(reinterpret_cast<UBreakIterator*>(iterator), string, length, &setTextStatus); | |
140 | if (U_FAILURE(setTextStatus)) | |
141 | return 0; |