From: Andrei Zmievski Date: Wed, 25 Jan 2006 00:02:23 +0000 (+0000) Subject: Use zend_codepoint_to_uchar() macro. X-Git-Tag: RELEASE_1_2~367 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e7752216f415a97e2cf4a91e58f6eb775598a1c4;p=php Use zend_codepoint_to_uchar() macro. --- diff --git a/ext/standard/string.c b/ext/standard/string.c index 7102fbc67f..7194f804c1 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -2278,15 +2278,8 @@ PHP_FUNCTION(strpos) php_error(E_WARNING, "Needle argument codepoint value out of range (0 - 0x10FFFF)"); RETURN_FALSE; } - /* supplementary codepoint values may require 2 UChar's */ - if (U_IS_BMP(Z_LVAL_PP(needle))) { - u_needle_char[n_len++] = (UChar) Z_LVAL_PP(needle); - u_needle_char[n_len] = 0; - } else { - u_needle_char[n_len++] = (UChar) U16_LEAD(Z_LVAL_PP(needle)); - u_needle_char[n_len++] = (UChar) U16_TRAIL(Z_LVAL_PP(needle)); - u_needle_char[n_len] = 0; - } + n_len += zend_codepoint_to_uchar(Z_LVAL_PP(needle), u_needle_char); + u_needle_char[n_len] = 0; /* locate the codepoint at the specified offset */ U16_FWD_N((UChar*)haystack, cp_offset, haystack_len, offset);