From 13a5020f98006502592709149c14a31c52fa5b60 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Thu, 5 Apr 2018 18:08:49 +0200 Subject: [PATCH] Check feature availability as ICU < 49 is still supported --- ext/intl/normalizer/normalizer_class.c | 4 ++++ ext/intl/normalizer/normalizer_normalize.c | 2 ++ ext/intl/normalizer/normalizer_normalize.h | 2 ++ ext/intl/php_intl.c | 4 ++++ ext/intl/tests/normalizer_get_raw_decomposition.phpt | 1 + 5 files changed, 13 insertions(+) diff --git a/ext/intl/normalizer/normalizer_class.c b/ext/intl/normalizer/normalizer_class.c index 95b738ef07..d6756b403b 100644 --- a/ext/intl/normalizer/normalizer_class.c +++ b/ext/intl/normalizer/normalizer_class.c @@ -34,9 +34,11 @@ ZEND_BEGIN_ARG_INFO_EX( normalizer_args, 0, 0, 1 ) ZEND_ARG_INFO( 0, form ) ZEND_END_ARG_INFO() +#if U_ICU_VERSION_MAJOR_NUM >= 49 ZEND_BEGIN_ARG_INFO_EX( decomposition_args, 0, 0, 1 ) ZEND_ARG_INFO( 0, input ) ZEND_END_ARG_INFO(); +#endif /* }}} */ @@ -47,7 +49,9 @@ ZEND_END_ARG_INFO(); static const zend_function_entry Normalizer_class_functions[] = { ZEND_FENTRY( normalize, ZEND_FN( normalizer_normalize ), normalizer_args, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC ) ZEND_FENTRY( isNormalized, ZEND_FN( normalizer_is_normalized ), normalizer_args, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC ) +#if U_ICU_VERSION_MAJOR_NUM >= 49 ZEND_FENTRY( getRawDecomposition, ZEND_FN( normalizer_get_raw_decomposition ), decomposition_args, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC ) +#endif PHP_FE_END }; /* }}} */ diff --git a/ext/intl/normalizer/normalizer_normalize.c b/ext/intl/normalizer/normalizer_normalize.c index 045a9c6d36..c0ab8341d4 100644 --- a/ext/intl/normalizer/normalizer_normalize.c +++ b/ext/intl/normalizer/normalizer_normalize.c @@ -255,6 +255,7 @@ PHP_FUNCTION( normalizer_is_normalized ) /* {{{ proto string|null normalizer_get_raw_decomposition( string $input ) * Returns the Decomposition_Mapping property for the given UTF-8 encoded code point. */ +#if U_ICU_VERSION_MAJOR_NUM >= 49 PHP_FUNCTION( normalizer_get_raw_decomposition ) { char* input = NULL; @@ -294,6 +295,7 @@ PHP_FUNCTION( normalizer_get_raw_decomposition ) RETVAL_NEW_STR(intl_convert_utf16_to_utf8(decomposition, decomposition_length, &status)); } +#endif /* }}} */ /* diff --git a/ext/intl/normalizer/normalizer_normalize.h b/ext/intl/normalizer/normalizer_normalize.h index f8d0321777..ab053f7901 100644 --- a/ext/intl/normalizer/normalizer_normalize.h +++ b/ext/intl/normalizer/normalizer_normalize.h @@ -21,6 +21,8 @@ PHP_FUNCTION( normalizer_normalize ); PHP_FUNCTION( normalizer_is_normalized ); +#if U_ICU_VERSION_MAJOR_NUM >= 49 PHP_FUNCTION( normalizer_get_raw_decomposition ); +#endif #endif // NORMALIZER_NORMALIZE_H diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c index 0afc96b081..9b52abc6fb 100644 --- a/ext/intl/php_intl.c +++ b/ext/intl/php_intl.c @@ -206,9 +206,11 @@ ZEND_BEGIN_ARG_INFO_EX(normalizer_args, 0, 0, 1) ZEND_ARG_INFO(0, form) ZEND_END_ARG_INFO() +#if U_ICU_VERSION_MAJOR_NUM >= 49 ZEND_BEGIN_ARG_INFO_EX(decomposition_args, 0, 0, 1) ZEND_ARG_INFO(0, input) ZEND_END_ARG_INFO(); +#endif ZEND_BEGIN_ARG_INFO_EX(grapheme_1_arg, 0, 0, 1) ZEND_ARG_INFO(0, string) @@ -666,7 +668,9 @@ static const zend_function_entry intl_functions[] = { /* normalizer functions */ PHP_FE( normalizer_normalize, normalizer_args ) PHP_FE( normalizer_is_normalized, normalizer_args ) +#if U_ICU_VERSION_MAJOR_NUM >= 49 PHP_FE( normalizer_get_raw_decomposition, decomposition_args ) +#endif /* Locale functions */ PHP_NAMED_FE( locale_get_default, zif_locale_get_default, locale_0_args ) diff --git a/ext/intl/tests/normalizer_get_raw_decomposition.phpt b/ext/intl/tests/normalizer_get_raw_decomposition.phpt index 69eb01366b..8a6f960cb3 100644 --- a/ext/intl/tests/normalizer_get_raw_decomposition.phpt +++ b/ext/intl/tests/normalizer_get_raw_decomposition.phpt @@ -2,6 +2,7 @@ normalizer_get_raw_decomposition() --SKIPIF-- + --FILE--