Changeset 56345 in webkit
- Timestamp:
- Mar 22, 2010 10:51:57 AM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r56344 r56345 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 1 21 2010-03-22 Eric Carlson <eric.carlson@apple.com> 2 22 -
trunk/WebCore/platform/text/TextBreakIteratorICU.cpp
r50977 r56345 25 25 #include "PlatformString.h" 26 26 #include "TextBreakIteratorInternalICU.h" 27 28 27 #include <unicode/ubrk.h> 29 28 #include <wtf/Assertions.h> … … 39 38 if (!createdIterator) { 40 39 UErrorCode openStatus = U_ZERO_ERROR; 41 iterator = static_cast<TextBreakIterator*>(ubrk_open(type, currentTextBreakLocaleID(), 0, 0, &openStatus));40 iterator = reinterpret_cast<TextBreakIterator*>(ubrk_open(type, currentTextBreakLocaleID(), 0, 0, &openStatus)); 42 41 createdIterator = true; 43 42 ASSERT_WITH_MESSAGE(U_SUCCESS(openStatus), "ICU could not open a break iterator: %s (%d)", u_errorName(openStatus), openStatus); … … 47 46 48 47 UErrorCode setTextStatus = U_ZERO_ERROR; 49 ubrk_setText( iterator, string, length, &setTextStatus);48 ubrk_setText(reinterpret_cast<UBreakIterator*>(iterator), string, length, &setTextStatus); 50 49 if (U_FAILURE(setTextStatus)) 51 50 return 0; … … 86 85 } 87 86 88 int textBreakFirst(TextBreakIterator* bi)89 { 90 return ubrk_first( bi);91 } 92 93 int textBreakLast(TextBreakIterator* bi)94 { 95 return ubrk_last( bi);96 } 97 98 int textBreakNext(TextBreakIterator* bi)99 { 100 return ubrk_next( bi);101 } 102 103 int textBreakPrevious(TextBreakIterator* bi)104 { 105 return ubrk_previous( bi);106 } 107 108 int textBreakPreceding(TextBreakIterator* bi, int pos)109 { 110 return ubrk_preceding( bi, pos);111 } 112 113 int textBreakFollowing(TextBreakIterator* bi, int pos)114 { 115 return ubrk_following( bi, pos);116 } 117 118 int textBreakCurrent(TextBreakIterator* bi)119 { 120 return ubrk_current( bi);121 } 122 123 bool isTextBreak(TextBreakIterator* bi, int pos)124 { 125 return ubrk_isBoundary( bi, pos);87 int textBreakFirst(TextBreakIterator* iterator) 88 { 89 return ubrk_first(reinterpret_cast<UBreakIterator*>(iterator)); 90 } 91 92 int textBreakLast(TextBreakIterator* iterator) 93 { 94 return ubrk_last(reinterpret_cast<UBreakIterator*>(iterator)); 95 } 96 97 int textBreakNext(TextBreakIterator* iterator) 98 { 99 return ubrk_next(reinterpret_cast<UBreakIterator*>(iterator)); 100 } 101 102 int textBreakPrevious(TextBreakIterator* iterator) 103 { 104 return ubrk_previous(reinterpret_cast<UBreakIterator*>(iterator)); 105 } 106 107 int textBreakPreceding(TextBreakIterator* iterator, int pos) 108 { 109 return ubrk_preceding(reinterpret_cast<UBreakIterator*>(iterator), pos); 110 } 111 112 int textBreakFollowing(TextBreakIterator* iterator, int pos) 113 { 114 return ubrk_following(reinterpret_cast<UBreakIterator*>(iterator), pos); 115 } 116 117 int textBreakCurrent(TextBreakIterator* iterator) 118 { 119 return ubrk_current(reinterpret_cast<UBreakIterator*>(iterator)); 120 } 121 122 bool isTextBreak(TextBreakIterator* iterator, int position) 123 { 124 return ubrk_isBoundary(reinterpret_cast<UBreakIterator*>(iterator), position); 126 125 } 127 126 … … 137 136 UErrorCode openStatus = U_ZERO_ERROR; 138 137 String rules(breakRules); 139 iterator = static_cast<TextBreakIterator*>(ubrk_openRules(rules.characters(), rules.length(), 0, 0, &parseStatus, &openStatus));138 iterator = reinterpret_cast<TextBreakIterator*>(ubrk_openRules(rules.characters(), rules.length(), 0, 0, &parseStatus, &openStatus)); 140 139 createdIterator = true; 141 140 ASSERT_WITH_MESSAGE(U_SUCCESS(openStatus), "ICU could not open a break iterator: %s (%d)", u_errorName(openStatus), openStatus); … … 145 144 146 145 UErrorCode setTextStatus = U_ZERO_ERROR; 147 ubrk_setText( iterator, string, length, &setTextStatus);146 ubrk_setText(reinterpret_cast<UBreakIterator*>(iterator), string, length, &setTextStatus); 148 147 if (U_FAILURE(setTextStatus)) 149 148 return 0;
Note: See TracChangeset
for help on using the changeset viewer.