diff --git a/ext/intl/breakiterator/codepointiterator_internal.cpp b/ext/intl/breakiterator/codepointiterator_internal.cpp index 723cfd5022..f6f75d2731 100644 --- a/ext/intl/breakiterator/codepointiterator_internal.cpp +++ b/ext/intl/breakiterator/codepointiterator_internal.cpp @@ -75,7 +75,11 @@ CodePointBreakIterator::~CodePointBreakIterator() 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; diff --git a/ext/intl/breakiterator/codepointiterator_internal.h b/ext/intl/breakiterator/codepointiterator_internal.h index d34fc0a2c2..25759c167a 100644 --- a/ext/intl/breakiterator/codepointiterator_internal.h +++ b/ext/intl/breakiterator/codepointiterator_internal.h @@ -39,7 +39,11 @@ namespace PHP { 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; diff --git a/ext/intl/locale/locale_methods.c b/ext/intl/locale/locale_methods.c index 3379916822..4fb0bfcaa5 100644 --- a/ext/intl/locale/locale_methods.c +++ b/ext/intl/locale/locale_methods.c @@ -1326,7 +1326,7 @@ PHP_FUNCTION(locale_filter_matches) 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) ){ efree( cur_lang_tag ); efree( cur_loc_range ); if( can_lang_tag){ @@ -1378,7 +1378,7 @@ PHP_FUNCTION(locale_filter_matches) 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) ){ efree( cur_lang_tag ); efree( cur_loc_range ); RETURN_TRUE;