Changeset 56345 in webkit


Ignore:
Timestamp:
Mar 22, 2010 10:51:57 AM (14 years ago)
Author:
Darin Adler
Message:

2010-03-22 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

TextBreakIteratorICU.cpp is incompatible with new UBreakIterator type in ICU 4.4
https://bugs.webkit.org/show_bug.cgi?id=36381

  • platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Use reinterpret_cast instead of static_cast or relying on conversion to void*. (WebCore::textBreakFirst): Ditto. (WebCore::textBreakLast): Ditto. (WebCore::textBreakNext): Ditto. (WebCore::textBreakPrevious): Ditto. (WebCore::textBreakPreceding): Ditto. (WebCore::textBreakFollowing): Ditto. (WebCore::textBreakCurrent): Ditto. (WebCore::isTextBreak): Ditto. (WebCore::setUpIteratorWithRules): Ditto.
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r56344 r56345  
     12010-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
    1212010-03-22  Eric Carlson  <eric.carlson@apple.com>
    222
  • trunk/WebCore/platform/text/TextBreakIteratorICU.cpp

    r50977 r56345  
    2525#include "PlatformString.h"
    2626#include "TextBreakIteratorInternalICU.h"
    27 
    2827#include <unicode/ubrk.h>
    2928#include <wtf/Assertions.h>
     
    3938    if (!createdIterator) {
    4039        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));
    4241        createdIterator = true;
    4342        ASSERT_WITH_MESSAGE(U_SUCCESS(openStatus), "ICU could not open a break iterator: %s (%d)", u_errorName(openStatus), openStatus);
     
    4746
    4847    UErrorCode setTextStatus = U_ZERO_ERROR;
    49     ubrk_setText(iterator, string, length, &setTextStatus);
     48    ubrk_setText(reinterpret_cast<UBreakIterator*>(iterator), string, length, &setTextStatus);
    5049    if (U_FAILURE(setTextStatus))
    5150        return 0;
     
    8685}
    8786
    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);
     87int textBreakFirst(TextBreakIterator* iterator)
     88{
     89    return ubrk_first(reinterpret_cast<UBreakIterator*>(iterator));
     90}
     91
     92int textBreakLast(TextBreakIterator* iterator)
     93{
     94    return ubrk_last(reinterpret_cast<UBreakIterator*>(iterator));
     95}
     96
     97int textBreakNext(TextBreakIterator* iterator)
     98{
     99    return ubrk_next(reinterpret_cast<UBreakIterator*>(iterator));
     100}
     101
     102int textBreakPrevious(TextBreakIterator* iterator)
     103{
     104    return ubrk_previous(reinterpret_cast<UBreakIterator*>(iterator));
     105}
     106
     107int textBreakPreceding(TextBreakIterator* iterator, int pos)
     108{
     109    return ubrk_preceding(reinterpret_cast<UBreakIterator*>(iterator), pos);
     110}
     111
     112int textBreakFollowing(TextBreakIterator* iterator, int pos)
     113{
     114    return ubrk_following(reinterpret_cast<UBreakIterator*>(iterator), pos);
     115}
     116
     117int textBreakCurrent(TextBreakIterator* iterator)
     118{
     119    return ubrk_current(reinterpret_cast<UBreakIterator*>(iterator));
     120}
     121
     122bool isTextBreak(TextBreakIterator* iterator, int position)
     123{
     124    return ubrk_isBoundary(reinterpret_cast<UBreakIterator*>(iterator), position);
    126125}
    127126
     
    137136        UErrorCode openStatus = U_ZERO_ERROR;
    138137        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));
    140139        createdIterator = true;
    141140        ASSERT_WITH_MESSAGE(U_SUCCESS(openStatus), "ICU could not open a break iterator: %s (%d)", u_errorName(openStatus), openStatus);
     
    145144
    146145    UErrorCode setTextStatus = U_ZERO_ERROR;
    147     ubrk_setText(iterator, string, length, &setTextStatus);
     146    ubrk_setText(reinterpret_cast<UBreakIterator*>(iterator), string, length, &setTextStatus);
    148147    if (U_FAILURE(setTextStatus))
    149148        return 0;
Note: See TracChangeset for help on using the changeset viewer.