--- a/ext/intl/breakiterator/codepointiterator_internal.cpp +++ b/ext/intl/breakiterator/codepointiterator_internal.cpp @@ -74,7 +74,11 @@ clearCurrentCharIter(); } +#if U_ICU_VERSION_MAJOR_NUM >= 70 +bool CodePointBreakIterator::operator==(const BreakIterator& that) const +#else UBool CodePointBreakIterator::operator==(const BreakIterator& that) const +#endif { if (typeid(*this) != typeid(that)) { return FALSE; --- 7.2.34/ext/intl/breakiterator/codepointiterator_internal.h +++ 7.2.34/ext/intl/breakiterator/codepointiterator_internal.h @@ -36,8 +36,11 @@ virtual ~CodePointBreakIterator(); +#if U_ICU_VERSION_MAJOR_NUM >= 70 + virtual bool operator==(const BreakIterator& that) const; +#else virtual UBool operator==(const BreakIterator& that) const; - +#endif virtual CodePointBreakIterator* clone(void) const; virtual UClassID getDynamicClassID(void) const; --- a/ext/intl/locale/locale_methods.c +++ b/ext/intl/locale/locale_methods.c @@ -1333,7 +1333,7 @@ if( token && (token==cur_lang_tag) ){ /* check if the char. after match is SEPARATOR */ chrcheck = token + (strlen(cur_loc_range)); - if( isIDSeparator(*chrcheck) || isEndOfTag(*chrcheck) ){ + if( isIDSeparator(*chrcheck) || isKeywordSeparator(*chrcheck) || isEndOfTag(*chrcheck) ){ if( cur_lang_tag){ efree( cur_lang_tag ); }