diff options
author | adam <adam@pkgsrc.org> | 2012-04-25 18:55:39 +0000 |
---|---|---|
committer | adam <adam@pkgsrc.org> | 2012-04-25 18:55:39 +0000 |
commit | ced585bb298174029399d5a4e334e45cfadad38c (patch) | |
tree | 5e8da72482894e537fb76f3a7bece89de089731e /textproc | |
parent | 651bef01708940df5967fca7ea510007545fc72f (diff) | |
download | pkgsrc-ced585bb298174029399d5a4e334e45cfadad38c.tar.gz |
Changes 2.0.0:
* Fixed bug 61487 - bad bounds check in grapheme_strpos.
* Fixed several tests.
Diffstat (limited to 'textproc')
-rw-r--r-- | textproc/php-intl/DESCR | 12 | ||||
-rw-r--r-- | textproc/php-intl/Makefile | 9 | ||||
-rw-r--r-- | textproc/php-intl/distinfo | 19 | ||||
-rw-r--r-- | textproc/php-intl/patches/patch-aa | 18 | ||||
-rw-r--r-- | textproc/php-intl/patches/patch-ab | 31 | ||||
-rw-r--r-- | textproc/php-intl/patches/patch-ac | 56 | ||||
-rw-r--r-- | textproc/php-intl/patches/patch-ad | 81 | ||||
-rw-r--r-- | textproc/php-intl/patches/patch-ae | 39 | ||||
-rw-r--r-- | textproc/php-intl/patches/patch-af | 45 | ||||
-rw-r--r-- | textproc/php-intl/patches/patch-ag | 13 | ||||
-rw-r--r-- | textproc/php-intl/patches/patch-ah | 13 | ||||
-rw-r--r-- | textproc/php-intl/patches/patch-aj | 20 | ||||
-rw-r--r-- | textproc/php-intl/patches/patch-grapheme_grapheme__string.c | 26 |
13 files changed, 14 insertions, 368 deletions
diff --git a/textproc/php-intl/DESCR b/textproc/php-intl/DESCR index ac504319f3f..c3e7e8b9ee6 100644 --- a/textproc/php-intl/DESCR +++ b/textproc/php-intl/DESCR @@ -1,14 +1,10 @@ PHP is a programming language designed to be embedded into web pages. - This module is an internationalization extension, enabling PHP programmers to perform UCA-conformant collation and date/time/number/currency formatting -in their scripts. - -It tends to closely follow ICU APIs, so that people having experience -working with ICU in either C/C++ or Java could easily use the PHP -API. Also, this way ICU documentation would be useful to understand -various ICU functions. - +in their scripts. It tends to closely follow ICU APIs, so that people having +experience working with ICU in either C/C++ or Java could easily use the PHP +API. Also, this way ICU documentation would be useful to understand various +ICU functions. Intl consists of several modules, each of them exposes the corresponding ICU API: * Collator: provides string comparison capability with support diff --git a/textproc/php-intl/Makefile b/textproc/php-intl/Makefile index 65ec46e19bf..74e8c875554 100644 --- a/textproc/php-intl/Makefile +++ b/textproc/php-intl/Makefile @@ -1,18 +1,17 @@ -# $NetBSD: Makefile,v 1.8 2011/12/17 13:46:28 obache Exp $ +# $NetBSD: Makefile,v 1.9 2012/04/25 18:55:39 adam Exp $ MODNAME= intl -PECL_VERSION= 1.1.2 -PKGREVISION= 2 +PECL_VERSION= 2.0.0 PECL_LEGACY_VERSION_SCHEME= yes CATEGORIES+= textproc COMMENT= PHP extension for i18n +LICENSE= php PKG_DESTDIR_SUPPORT= user-destdir +USE_LANGUAGES= c c++ CONFIGURE_ARGS+= --enable-${MODNAME}=shared,${BUILDLINK_DIR} -USE_LANGUAGES+= c c++ - .include "../../lang/php/ext.mk" .include "../../textproc/icu/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/textproc/php-intl/distinfo b/textproc/php-intl/distinfo index 5a68b04067d..f0c0e6bb948 100644 --- a/textproc/php-intl/distinfo +++ b/textproc/php-intl/distinfo @@ -1,15 +1,6 @@ -$NetBSD: distinfo,v 1.3 2011/02/26 02:55:28 taca Exp $ +$NetBSD: distinfo,v 1.4 2012/04/25 18:55:39 adam Exp $ -SHA1 (php-intl/intl-1.1.2.tgz) = c86b3a4734c331ac3e7a56bb50b11766f4c4d5f7 -RMD160 (php-intl/intl-1.1.2.tgz) = 913c9f7fbb0f117e90affbbe5b17c1f881fb2fce -Size (php-intl/intl-1.1.2.tgz) = 142511 bytes -SHA1 (patch-aa) = 213d5c9c99c28e7fce16436df58d9b430745d5b1 -SHA1 (patch-ab) = 01b4fa84d71319f29e0869f25e0dd1be869eaad0 -SHA1 (patch-ac) = 635ac309125521018a13dbb84d741210e80fe635 -SHA1 (patch-ad) = 3e09a48471dcf6fcfdcfca295dac778814fd2bd1 -SHA1 (patch-ae) = 750d9284f86a730fce7733ce488cbb4ae13983ce -SHA1 (patch-af) = 815006577c08b1cab7f0e5e601770f786c61c910 -SHA1 (patch-ag) = 66db6e293f9eb9e81ccd6f8055aed2e036791247 -SHA1 (patch-ah) = 024f97675087d3f282e6cd8af059179ea7faea60 -SHA1 (patch-aj) = edb43a597a43db653af7be4d3066bf9bd376e8be -SHA1 (patch-grapheme_grapheme__string.c) = 46d02667c47f68671a166db3ffdd3a33c2678018 +SHA1 (php-intl/intl-2.0.0.tgz) = b5876f140ad7bb071d6a8d9505446800855b4645 +RMD160 (php-intl/intl-2.0.0.tgz) = a3816f670ff7ab1ff88254f1ae8936d0ad4403d9 +Size (php-intl/intl-2.0.0.tgz) = 145979 bytes +SHA1 (patch-aj) = 6c0ea08f73d50b43afe442bd67decc9608c5db29 diff --git a/textproc/php-intl/patches/patch-aa b/textproc/php-intl/patches/patch-aa deleted file mode 100644 index d1f140a8be3..00000000000 --- a/textproc/php-intl/patches/patch-aa +++ /dev/null @@ -1,18 +0,0 @@ -$NetBSD: patch-aa,v 1.2 2010/12/16 03:37:28 taca Exp $ - ---- php_intl.h.orig 1970-01-01 09:14:21.000000000 +0000 -+++ php_intl.h -@@ -65,6 +65,13 @@ PHP_MINFO_FUNCTION(intl); - - #define PHP_INTL_VERSION "1.1.1" - -+#if (PHP_VERSION_ID >= 50300) -+# define PHP_INTL_ZEND_ARG_STATIC -+#else -+# define PHP_INTL_ZEND_ARG_STATIC static -+# define Z_DELREF_P(object) (object)->refcount-- -+#endif -+ - #endif /* PHP_INTL_H */ - - /* diff --git a/textproc/php-intl/patches/patch-ab b/textproc/php-intl/patches/patch-ab deleted file mode 100644 index 985eb4c8b3c..00000000000 --- a/textproc/php-intl/patches/patch-ab +++ /dev/null @@ -1,31 +0,0 @@ -$NetBSD: patch-ab,v 1.1.1.1 2010/03/21 16:57:13 jdolecek Exp $ - ---- collator/collator_class.c.orig 2010-03-11 00:13:52.000000000 +0100 -+++ collator/collator_class.c -@@ -88,22 +88,22 @@ zend_object_value Collator_object_create - modify approptiate 'collator_XX_args' for - the procedural API. - */ --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX( collator_0_args, 0, 0, 0 ) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX( collator_1_arg, 0, 0, 1 ) - ZEND_ARG_INFO( 0, arg1 ) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX( collator_2_args, 0, 0, 2 ) - ZEND_ARG_INFO( 0, arg1 ) - ZEND_ARG_INFO( 0, arg2 ) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX( collator_sort_args, 0, 0, 1 ) - ZEND_ARG_ARRAY_INFO( 1, arr, 0 ) - ZEND_ARG_INFO( 0, flags ) diff --git a/textproc/php-intl/patches/patch-ac b/textproc/php-intl/patches/patch-ac deleted file mode 100644 index 8296a8516e7..00000000000 --- a/textproc/php-intl/patches/patch-ac +++ /dev/null @@ -1,56 +0,0 @@ -$NetBSD: patch-ac,v 1.1.1.1 2010/03/21 16:57:13 jdolecek Exp $ - ---- dateformat/dateformat_class.c.orig 2010-03-11 00:19:56.000000000 +0100 -+++ dateformat/dateformat_class.c -@@ -84,42 +84,43 @@ zend_object_value IntlDateFormatter_obje - */ - - /* {{{ arginfo */ --static ZEND_BEGIN_ARG_INFO_EX(datefmt_parse_args, 0, 0, 1) -+PHP_INTL_ZEND_ARG_STATIC -+ZEND_BEGIN_ARG_INFO_EX(datefmt_parse_args, 0, 0, 1) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(1, position) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_intldateformatter_format, 0, 0, 0) - ZEND_ARG_INFO(0, args) - ZEND_ARG_INFO(0, array) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO(arginfo_intldateformatter_getdatetype, 0) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_intldateformatter_settimezoneid, 0, 0, 1) - ZEND_ARG_INFO(0, zone) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_intldateformatter_setpattern, 0, 0, 1) - ZEND_ARG_INFO(0, pattern) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_intldateformatter_setlenient, 0, 0, 1) - ZEND_ARG_INFO(0, lenient) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_intldateformatter_setcalendar, 0, 0, 1) - ZEND_ARG_INFO(0, which) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_intldateformatter___construct, 0, 0, 3) - ZEND_ARG_INFO(0, locale) - ZEND_ARG_INFO(0, datetype) diff --git a/textproc/php-intl/patches/patch-ad b/textproc/php-intl/patches/patch-ad deleted file mode 100644 index 1349a8267df..00000000000 --- a/textproc/php-intl/patches/patch-ad +++ /dev/null @@ -1,81 +0,0 @@ -$NetBSD: patch-ad,v 1.1.1.1 2010/03/21 16:57:13 jdolecek Exp $ - ---- formatter/formatter_class.c.orig 2010-03-11 00:17:19.000000000 +0100 -+++ formatter/formatter_class.c -@@ -80,63 +80,65 @@ zend_object_value NumberFormatter_object - */ - - /* {{{ arginfo */ --static ZEND_BEGIN_ARG_INFO_EX(number_parse_arginfo, 0, 0, 1) -+PHP_INTL_ZEND_ARG_STATIC -+ZEND_BEGIN_ARG_INFO_EX(number_parse_arginfo, 0, 0, 1) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(0, type) - ZEND_ARG_INFO(1, position) - ZEND_END_ARG_INFO() - --static ZEND_BEGIN_ARG_INFO_EX(number_parse_currency_arginfo, 0, 0, 2) -+PHP_INTL_ZEND_ARG_STATIC -+ZEND_BEGIN_ARG_INFO_EX(number_parse_currency_arginfo, 0, 0, 2) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(1, currency) - ZEND_ARG_INFO(1, position) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_getattribute, 0, 0, 1) - ZEND_ARG_INFO(0, attr) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_setattribute, 0, 0, 2) - ZEND_ARG_INFO(0, attr) - ZEND_ARG_INFO(0, value) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_setsymbol, 0, 0, 2) - ZEND_ARG_INFO(0, attr) - ZEND_ARG_INFO(0, symbol) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO(arginfo_numberformatter_getpattern, 0) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_setpattern, 0, 0, 1) - ZEND_ARG_INFO(0, pattern) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_getlocale, 0, 0, 0) - ZEND_ARG_INFO(0, type) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter___construct, 0, 0, 2) - ZEND_ARG_INFO(0, locale) - ZEND_ARG_INFO(0, style) - ZEND_ARG_INFO(0, pattern) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_formatcurrency, 0, 0, 2) - ZEND_ARG_INFO(0, num) - ZEND_ARG_INFO(0, currency) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_numberformatter_format, 0, 0, 1) - ZEND_ARG_INFO(0, num) - ZEND_ARG_INFO(0, type) diff --git a/textproc/php-intl/patches/patch-ae b/textproc/php-intl/patches/patch-ae deleted file mode 100644 index 53fa77186d8..00000000000 --- a/textproc/php-intl/patches/patch-ae +++ /dev/null @@ -1,39 +0,0 @@ -$NetBSD: patch-ae,v 1.1.1.1 2010/03/21 16:57:13 jdolecek Exp $ - ---- locale/locale_class.c.orig 2010-03-11 00:19:03.000000000 +0100 -+++ locale/locale_class.c -@@ -35,29 +35,29 @@ zend_class_entry *Locale_ce_ptr = NULL; - * approptiate 'locale_XX_args' for the procedural API! - */ - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX( locale_0_args, 0, 0, 0 ) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX( locale_1_arg, 0, 0, 1 ) - ZEND_ARG_INFO( 0, arg1 ) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX( locale_2_args, 0, 0, 2 ) - ZEND_ARG_INFO( 0, arg1 ) - ZEND_ARG_INFO( 0, arg2 ) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX( locale_3_args, 0, 0, 3 ) - ZEND_ARG_INFO( 0, arg1 ) - ZEND_ARG_INFO( 0, arg2 ) - ZEND_ARG_INFO( 0, arg3 ) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX( locale_4_args, 0, 0, 4 ) - ZEND_ARG_INFO( 0, arg1 ) - ZEND_ARG_INFO( 0, arg2 ) diff --git a/textproc/php-intl/patches/patch-af b/textproc/php-intl/patches/patch-af deleted file mode 100644 index f4dfed91adc..00000000000 --- a/textproc/php-intl/patches/patch-af +++ /dev/null @@ -1,45 +0,0 @@ -$NetBSD: patch-af,v 1.1.1.1 2010/03/21 16:57:13 jdolecek Exp $ - ---- msgformat/msgformat_class.c.orig 2010-03-11 00:20:56.000000000 +0100 -+++ msgformat/msgformat_class.c -@@ -77,34 +77,34 @@ zend_object_value MessageFormatter_objec - */ - - /* {{{ arginfo */ --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_messageformatter___construct, 0, 0, 2) - ZEND_ARG_INFO(0, locale) - ZEND_ARG_INFO(0, pattern) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO(arginfo_messageformatter_geterrormessage, 0) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_messageformatter_formatmessage, 0, 0, 3) - ZEND_ARG_INFO(0, locale) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, args) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_messageformatter_format, 0, 0, 1) - ZEND_ARG_INFO(0, args) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_messageformatter_setpattern, 0, 0, 1) - ZEND_ARG_INFO(0, pattern) - ZEND_END_ARG_INFO() - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX(arginfo_messageformatter_parse, 0, 0, 1) - ZEND_ARG_INFO(0, source) - ZEND_END_ARG_INFO() diff --git a/textproc/php-intl/patches/patch-ag b/textproc/php-intl/patches/patch-ag deleted file mode 100644 index 79b9a811300..00000000000 --- a/textproc/php-intl/patches/patch-ag +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-ag,v 1.1.1.1 2010/03/21 16:57:13 jdolecek Exp $ - ---- normalizer/normalizer_class.c.orig 2010-03-11 00:18:31.000000000 +0100 -+++ normalizer/normalizer_class.c -@@ -29,7 +29,7 @@ zend_class_entry *Normalizer_ce_ptr = NU - - /* {{{ Normalizer methods arguments info */ - --static -+PHP_INTL_ZEND_ARG_STATIC - ZEND_BEGIN_ARG_INFO_EX( normalizer_3_args, 0, 0, 3 ) - ZEND_ARG_INFO( 0, arg1 ) - ZEND_ARG_INFO( 0, arg2 ) diff --git a/textproc/php-intl/patches/patch-ah b/textproc/php-intl/patches/patch-ah deleted file mode 100644 index cd8b7046248..00000000000 --- a/textproc/php-intl/patches/patch-ah +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-ah,v 1.1.1.1 2010/03/21 16:57:13 jdolecek Exp $ - ---- resourcebundle/resourcebundle_class.c.orig 2010-03-21 16:45:18.000000000 +0100 -+++ resourcebundle/resourcebundle_class.c -@@ -212,7 +212,7 @@ zval *resourcebundle_array_get(zval *obj - MAKE_STD_ZVAL(retval); - - resourcebundle_array_fetch(object, offset, retval, 1 TSRMLS_CC); -- retval->refcount--; -+ Z_DELREF_P(retval); - return retval; - } - /* }}} */ diff --git a/textproc/php-intl/patches/patch-aj b/textproc/php-intl/patches/patch-aj index eee7237cf3a..e5464dd9f95 100644 --- a/textproc/php-intl/patches/patch-aj +++ b/textproc/php-intl/patches/patch-aj @@ -1,4 +1,4 @@ -$NetBSD: patch-aj,v 1.1.1.1 2010/03/21 16:57:13 jdolecek Exp $ +$NetBSD: patch-aj,v 1.2 2012/04/25 18:55:40 adam Exp $ --- resourcebundle/resourcebundle_iterator.c.orig 2010-03-15 23:03:30.000000000 +0100 +++ resourcebundle/resourcebundle_iterator.c @@ -11,21 +11,3 @@ $NetBSD: patch-aj,v 1.1.1.1 2010/03/21 16:57:13 jdolecek Exp $ #include "resourcebundle/resourcebundle.h" #include "resourcebundle/resourcebundle_class.h" #include "resourcebundle/resourcebundle_iterator.h" -@@ -75,7 +77,7 @@ static void resourcebundle_iterator_dtor - - resourcebundle_iterator_invalidate( iter TSRMLS_CC ); - -- object->refcount--; -+ Z_DELREF_P(object); - - efree(iterator); - } -@@ -162,7 +164,7 @@ zend_object_iterator *resourcebundle_get - php_error( E_ERROR, "ResourceBundle does not support writable iterators" ); - } - -- object->refcount++; -+ Z_DELREF_P(object); - iterator->intern.data = (void *) object; - iterator->intern.funcs = &resourcebundle_iterator_funcs; - diff --git a/textproc/php-intl/patches/patch-grapheme_grapheme__string.c b/textproc/php-intl/patches/patch-grapheme_grapheme__string.c deleted file mode 100644 index f16db8ed36a..00000000000 --- a/textproc/php-intl/patches/patch-grapheme_grapheme__string.c +++ /dev/null @@ -1,26 +0,0 @@ -$NetBSD: patch-grapheme_grapheme__string.c,v 1.1 2011/02/26 02:55:28 taca Exp $ - -A fix for CVE-2011-0420 (CERT: VU#210829) from PHP's repository, r306449. - ---- grapheme/grapheme_string.c.orig 1970-01-01 09:13:08.000000000 +0000 -+++ grapheme/grapheme_string.c -@@ -819,11 +819,17 @@ PHP_FUNCTION(grapheme_extract) - } - - if ( lstart > INT32_MAX || lstart < 0 || lstart >= str_len ) { -+ intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, "grapheme_extract: start not contained in string", 0 TSRMLS_CC ); - -- intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, "grapheme_extract: start not contained in string", 1 TSRMLS_CC ); -- - RETURN_FALSE; - } -+ if ( size > INT32_MAX || size < 0) { -+ intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, "grapheme_extract: size is invalid", 0 TSRMLS_CC ); -+ RETURN_FALSE; -+ } -+ if (size == 0) { -+ RETURN_EMPTY_STRING(); -+ } - - /* we checked that it will fit: */ - start = (int32_t) lstart; |