diff options
| author | Remi Collet <remi@remirepo.net> | 2025-07-29 07:07:05 +0200 | 
|---|---|---|
| committer | Remi Collet <remi@php.net> | 2025-07-29 07:07:05 +0200 | 
| commit | 81d4679cd0fdb052930d04421dcb41344fa0bd38 (patch) | |
| tree | c7674219de0ae5d06717076a60c10196a7f825ac | |
| parent | 23f1e90d271b16f24e96da7861d7df32530a8220 (diff) | |
drop patches merged upstream
| -rw-r--r-- | 0001-remove-trailing-space.patch | 25 | ||||
| -rw-r--r-- | 0002-relax-test-expectations-for-8.4.patch | 34 | ||||
| -rw-r--r-- | 0003-Fix-for-PHP-8.5.patch | 129 | ||||
| -rw-r--r-- | PHPINFO | 2 | ||||
| -rw-r--r-- | REFLECTION | 62 | ||||
| -rw-r--r-- | php-pecl-yaf.spec | 18 | ||||
| -rw-r--r-- | yaf-upstream.patch | 62 | 
7 files changed, 42 insertions, 290 deletions
diff --git a/0001-remove-trailing-space.patch b/0001-remove-trailing-space.patch deleted file mode 100644 index ad156a9..0000000 --- a/0001-remove-trailing-space.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 6553d00c0d103b1abe530c9dfdc2e37a6f8875f9 Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@remirepo.net> -Date: Tue, 1 Oct 2024 12:00:16 +0200 -Subject: [PATCH 1/3] remove trailing space - ---- - config.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config.m4 b/config.m4 -index 73f8097..68f14fa 100644 ---- a/config.m4 -+++ b/config.m4 -@@ -56,7 +56,7 @@ if test "$PHP_YAF" != "no"; then -     routes/yaf_route_simple.c       \ -     routes/yaf_route_supervar.c     \ -     routes/yaf_route_regex.c        \ --    routes/yaf_route_rewrite.c      \  -+    routes/yaf_route_rewrite.c      \ -     routes/yaf_route_map.c          \ -     yaf_loader.c                    \ -     yaf_registry.c                  \ ---  -2.50.1 - diff --git a/0002-relax-test-expectations-for-8.4.patch b/0002-relax-test-expectations-for-8.4.patch deleted file mode 100644 index ff26364..0000000 --- a/0002-relax-test-expectations-for-8.4.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 5ddaa82f4c43eeac372b8c1ebe606ebff43829a8 Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@remirepo.net> -Date: Tue, 1 Oct 2024 12:04:15 +0200 -Subject: [PATCH 2/3] relax test expectations for 8.4 - ---- - tests/038.phpt | 2 +- - tests/039.phpt | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/038.phpt b/tests/038.phpt -index 0a28166..603a75e 100755 ---- a/tests/038.phpt -+++ b/tests/038.phpt -@@ -34,4 +34,4 @@ require "build.inc"; - shutdown(); - ?> - --EXPECTF-- --Parse error: syntax error, unexpected %s}%c in %sfoo.phtml on line %d -\ No newline at end of file -+Parse error: syntax error, unexpected %s in %sfoo.phtml on line %d -diff --git a/tests/039.phpt b/tests/039.phpt -index bac421d..2564aa9 100755 ---- a/tests/039.phpt -+++ b/tests/039.phpt -@@ -45,4 +45,4 @@ require "build.inc"; - shutdown(); - ?> - --EXPECTF-- --syntax error, unexpected %s}%c -+syntax error, unexpected %s ---  -2.50.1 - diff --git a/0003-Fix-for-PHP-8.5.patch b/0003-Fix-for-PHP-8.5.patch deleted file mode 100644 index d38d12d..0000000 --- a/0003-Fix-for-PHP-8.5.patch +++ /dev/null @@ -1,129 +0,0 @@ -From af27b18c2112114b2dfd18e535ceb1846282823a Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@remirepo.net> -Date: Fri, 18 Jul 2025 10:18:56 +0200 -Subject: [PATCH 3/3] Fix for PHP 8.5 - -- use zend_ce_exception instead of zend_exception_get_default -- use ZSTR_ALLOCA_* instead of STR_ALLOCA_* -- relax test expectation in error message ---- - tests/104.phpt   |  2 +- - yaf_dispatcher.c | 18 +++++++++--------- - yaf_exception.c  |  2 +- - yaf_request.c    |  2 +- - 4 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/tests/104.phpt b/tests/104.phpt -index 797a35a..6eb545c 100644 ---- a/tests/104.phpt -+++ b/tests/104.phpt -@@ -174,4 +174,4 @@ string(%s) "Failed opening action script %sindex.php: No such file or directory" - string(61) "Action 'IndexAction' is not a subclass of Yaf_Action_Abstract" - string(61) "Action 'IndexAction' is not a subclass of Yaf_Action_Abstract" -  --Fatal error: Class FooAction contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Yaf_Action_Abstract::execute) in %sfoo.php on line %d -+Fatal error: Class FooAction contains 1 abstract method and must therefore be declared abstract or implement the remaining method%s(Yaf_Action_Abstract::execute) in %sfoo.php on line %d -diff --git a/yaf_dispatcher.c b/yaf_dispatcher.c -index 6bf98f9..c585bb0 100644 ---- a/yaf_dispatcher.c -+++ b/yaf_dispatcher.c -@@ -21,7 +21,7 @@ - #include "php.h" - #include "main/SAPI.h" /* for sapi_module */ - #include "Zend/zend_interfaces.h" /* for zend_call_method_with_* */ --#include "Zend/zend_exceptions.h" /* for zend_exception_get_default */ -+#include "Zend/zend_exceptions.h" /* for zend_ce_exception */ -  - #include "php_yaf.h" - #include "yaf_namespace.h" -@@ -355,7 +355,7 @@ static zend_class_entry *yaf_dispatcher_get_controller(zend_string *app_dir, yaf - 		directory_len += yaf_compose_2_pathes(directory + directory_len, module, ZEND_STRL(YAF_CONTROLLER_DIRECTORY_NAME)); - 	} -  --	STR_ALLOCA_ALLOC(lc_name, ZSTR_LEN(controller) + YAF_G(name_separator_len) + sizeof("controller") - 1, use_heap); -+	ZSTR_ALLOCA_ALLOC(lc_name, ZSTR_LEN(controller) + YAF_G(name_separator_len) + sizeof("controller") - 1, use_heap); - 	if (EXPECTED(yaf_is_name_suffix())) { - 		char *p = ZSTR_VAL(lc_name); - 		zend_str_tolower_copy(p, ZSTR_VAL(controller), ZSTR_LEN(controller)); -@@ -381,15 +381,15 @@ static zend_class_entry *yaf_dispatcher_get_controller(zend_string *app_dir, yaf - 		if (yaf_loader_load_internal(l, ZSTR_VAL(controller), ZSTR_LEN(controller), directory, directory_len)) { - 			if (EXPECTED((ce = zend_hash_find_ptr(EG(class_table), lc_name)))) { - 				if (EXPECTED(instanceof_function(ce, yaf_controller_ce))) { --					STR_ALLOCA_FREE(lc_name, use_heap); -+					ZSTR_ALLOCA_FREE(lc_name, use_heap); - 					return ce; - 				} - 			} - 		} --		STR_ALLOCA_FREE(lc_name, use_heap); -+		ZSTR_ALLOCA_FREE(lc_name, use_heap); - 		return yaf_dispatcher_get_errors_hub(1, ce, controller, directory, directory_len); - 	} --	STR_ALLOCA_FREE(lc_name, use_heap); -+	ZSTR_ALLOCA_FREE(lc_name, use_heap); - 	return ce; - } - /* }}} */ -@@ -417,7 +417,7 @@ static zend_class_entry *yaf_dispatcher_get_action(zend_string *app_dir, yaf_con - 		zend_string *lc_name; - 		ALLOCA_FLAG(use_heap); -  --		STR_ALLOCA_ALLOC(lc_name, ZSTR_LEN(action) + YAF_G(name_separator_len) + sizeof("action") - 1, use_heap); -+		ZSTR_ALLOCA_ALLOC(lc_name, ZSTR_LEN(action) + YAF_G(name_separator_len) + sizeof("action") - 1, use_heap); - 		if (EXPECTED(yaf_is_name_suffix())) { - 			char *p = ZSTR_VAL(lc_name); - 			memcpy(p, ZSTR_VAL(action), ZSTR_LEN(action)); -@@ -440,7 +440,7 @@ static zend_class_entry *yaf_dispatcher_get_action(zend_string *app_dir, yaf_con -  - 		if ((ce = zend_hash_find_ptr(EG(class_table), lc_name)) != NULL) { - 			if (EXPECTED(instanceof_function(ce, yaf_action_ce))) { --				STR_ALLOCA_FREE(lc_name, use_heap); -+				ZSTR_ALLOCA_FREE(lc_name, use_heap); - 				return ce; - 			} - 		} else if (((pzval = zend_hash_find_ind(Z_ARRVAL_P(actions_map), action)) != NULL) && -@@ -453,13 +453,13 @@ static zend_class_entry *yaf_dispatcher_get_action(zend_string *app_dir, yaf_con - 			if (yaf_loader_import(path, len)) { - 				if ((ce = zend_hash_find_ptr(EG(class_table), lc_name)) != NULL) { - 					if (EXPECTED(instanceof_function(ce, yaf_action_ce))) { --						STR_ALLOCA_FREE(lc_name, use_heap); -+						ZSTR_ALLOCA_FREE(lc_name, use_heap); - 						return ce; - 					} - 				} - 			} - 		} --		STR_ALLOCA_FREE(lc_name, use_heap); -+		ZSTR_ALLOCA_FREE(lc_name, use_heap); - 	} -  - 	return yaf_dispatcher_get_errors_hub(2, ce, actions_map, action, controller, path); -diff --git a/yaf_exception.c b/yaf_exception.c -index e987756..9e25b5b 100644 ---- a/yaf_exception.c -+++ b/yaf_exception.c -@@ -73,7 +73,7 @@ zend_class_entry * yaf_get_exception_base(int root) /* {{{ */ { - 	} - #endif -  --	return zend_exception_get_default(); -+	return zend_ce_exception; - } - /* }}} */ -  -diff --git a/yaf_request.c b/yaf_request.c -index e4869c5..372823a 100644 ---- a/yaf_request.c -+++ b/yaf_request.c -@@ -21,7 +21,7 @@ - #include "php.h" - #include "main/SAPI.h" - #include "standard/php_string.h" /* for php_basename */ --#include "Zend/zend_exceptions.h" /* for zend_exception_get_default */ -+#include "Zend/zend_exceptions.h" /* for zend_ce_exception */ - #include "Zend/zend_interfaces.h" /* for zend_class_serialize_deny */ - #include "Zend/zend_smart_str.h" -  ---  -2.50.1 - @@ -2,7 +2,7 @@  yaf  yaf support => enabled -Version => 3.3.6 +Version => 3.3.7  Supports => http://pecl.php.net/package/yaf  Directive => Local Value => Master Value @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #98 yaf version 3.3.6 ] { +Extension [ <persistent> extension #126 yaf version 3.3.7 ] {    - Dependencies {      Dependency [ spl (Required) ] @@ -37,7 +37,7 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {    }    - Constants [13] { -    Constant [ string YAF_VERSION ] { 3.3.6 } +    Constant [ string YAF_VERSION ] { 3.3.7 }      Constant [ string YAF_ENVIRON ] { product }      Constant [ int YAF_ERR_STARTUP_FAILED ] { 512 }      Constant [ int YAF_ERR_ROUTE_FAILED ] { 513 } @@ -1795,7 +1795,7 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {            - Parameters [2] {              Parameter #0 [ <required> string $tpl ] -            Parameter #1 [ <optional> array $parameters = NULL ] +            Parameter #1 [ <optional> ?array $parameters = NULL ]            }            - Return [ string|bool|null ]          } @@ -1804,7 +1804,7 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {            - Parameters [2] {              Parameter #0 [ <required> string $tpl ] -            Parameter #1 [ <optional> array $parameters = NULL ] +            Parameter #1 [ <optional> ?array $parameters = NULL ]            }            - Return [ ?bool ]          } @@ -1847,7 +1847,7 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {          Method [ <internal:yaf> public method initView ] {            - Parameters [1] { -            Parameter #0 [ <optional> array $options = NULL ] +            Parameter #0 [ <optional> ?array $options = NULL ]            }            - Return [ ?object ]          } @@ -1949,7 +1949,7 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {            - Parameters [2] {              Parameter #0 [ <required> string $tpl ] -            Parameter #1 [ <optional> array $parameters = NULL ] +            Parameter #1 [ <optional> ?array $parameters = NULL ]            }            - Return [ string|bool|null ]          } @@ -1958,7 +1958,7 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {            - Parameters [2] {              Parameter #0 [ <required> string $tpl ] -            Parameter #1 [ <optional> array $parameters = NULL ] +            Parameter #1 [ <optional> ?array $parameters = NULL ]            }            - Return [ ?bool ]          } @@ -2001,7 +2001,7 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {          Method [ <internal:yaf, inherits Yaf_Controller_Abstract> public method initView ] {            - Parameters [1] { -            Parameter #0 [ <optional> array $options = NULL ] +            Parameter #0 [ <optional> ?array $options = NULL ]            }            - Return [ ?object ]          } @@ -2243,24 +2243,24 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {            - Return [ bool ]          } -        Method [ <internal:yaf, overwrites Yaf_Config_Abstract, prototype ArrayAccess> public method offsetGet ] { +        Method [ <internal:yaf> public method __set ] { -          - Parameters [1] { +          - Parameters [2] {              Parameter #0 [ <required> mixed $name ] +            Parameter #1 [ <required> mixed $value ]            } -          - Return [ mixed ] +          - Return [ void ]          } -        Method [ <internal:yaf, overwrites Yaf_Config_Abstract, prototype ArrayAccess> public method offsetSet ] { +        Method [ <internal:yaf, overwrites Yaf_Config_Abstract, prototype ArrayAccess> public method offsetGet ] { -          - Parameters [2] { +          - Parameters [1] {              Parameter #0 [ <required> mixed $name ] -            Parameter #1 [ <required> mixed $value ]            } -          - Return [ void ] +          - Return [ mixed ]          } -        Method [ <internal:yaf> public method __set ] { +        Method [ <internal:yaf, overwrites Yaf_Config_Abstract, prototype ArrayAccess> public method offsetSet ] {            - Parameters [2] {              Parameter #0 [ <required> mixed $name ] @@ -2535,7 +2535,7 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {            - Parameters [2] {              Parameter #0 [ <required> string $tpl ] -            Parameter #1 [ <optional> array $tpl_vars = NULL ] +            Parameter #1 [ <optional> ?array $tpl_vars = NULL ]            }          } @@ -2543,7 +2543,7 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {            - Parameters [2] {              Parameter #0 [ <required> string $tpl ] -            Parameter #1 [ <optional> array $tpl_vars = NULL ] +            Parameter #1 [ <optional> ?array $tpl_vars = NULL ]            }          } @@ -2576,19 +2576,19 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {        - Properties [0] {        } -      - Methods [12] { +      - Methods [13] {          Method [ <internal:yaf, ctor> final public method __construct ] {            - Parameters [2] {              Parameter #0 [ <required> string $tempalte_dir ] -            Parameter #1 [ <optional> array $options = NULL ] +            Parameter #1 [ <optional> ?array $options = NULL ]            }          }          Method [ <internal:yaf> public method get ] {            - Parameters [1] { -            Parameter #0 [ <optional> string $name = NULL ] +            Parameter #0 [ <optional> ?string $name = NULL ]            }            - Return [ mixed ]          } @@ -2632,7 +2632,7 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {          Method [ <internal:yaf> public method assignRef ] {            - Parameters [2] { -            Parameter #0 [ <required> string $name ] +            Parameter #0 [ <required> ?string $name ]              Parameter #1 [ <required> mixed &$value ]            }            - Return [ ?object ] @@ -2641,7 +2641,7 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {          Method [ <internal:yaf> public method clear ] {            - Parameters [1] { -            Parameter #0 [ <optional> string $name = NULL ] +            Parameter #0 [ <optional> ?string $name = NULL ]            }            - Return [ ?object ]          } @@ -2661,12 +2661,12 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {            - Return [ ?string ]          } -        Method [ <internal:yaf> public method __get ] { +        Method [ <internal:yaf> public method __isset ] {            - Parameters [1] { -            Parameter #0 [ <optional> string $name = NULL ] +            Parameter #0 [ <required> string $name ]            } -          - Return [ mixed ] +          - Return [ bool ]          }          Method [ <internal:yaf> public method __set ] { @@ -2677,6 +2677,14 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {            }            - Return [ void ]          } + +        Method [ <internal:yaf> public method __get ] { + +          - Parameters [1] { +            Parameter #0 [ <required> string $name ] +          } +          - Return [ mixed ] +        }        }      } @@ -3213,7 +3221,7 @@ Extension [ <persistent> extension #98 yaf version 3.3.6 ] {          Method [ <internal:yaf> public method get ] {            - Parameters [1] { -            Parameter #0 [ <optional> string $name = NULL ] +            Parameter #0 [ <optional> ?string $name = NULL ]            }            - Return [ mixed ]          } diff --git a/php-pecl-yaf.spec b/php-pecl-yaf.spec index d2f13b7..1511647 100644 --- a/php-pecl-yaf.spec +++ b/php-pecl-yaf.spec @@ -23,18 +23,13 @@  Summary:       Yet Another Framework  Name:          %{?scl_prefix}php-pecl-yaf -Version:       3.3.6 -Release:       5%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Version:       3.3.7 +Release:       1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}  License:       PHP-3.01  URL:           https://pecl.php.net/package/yaf  Source0:       https://pecl.php.net/get/%{sources}%{?prever}.tgz  Source1:       %{pecl_name}.ini -Patch0:        %{pecl_name}-upstream.patch -Patch1:        0001-remove-trailing-space.patch -Patch2:        0002-relax-test-expectations-for-8.4.patch -Patch3:        0003-Fix-for-PHP-8.5.patch -  BuildRequires: make  BuildRequires: %{?dtsprefix}gcc  BuildRequires: %{?scl_prefix}php-devel >= 7.0 @@ -67,11 +62,6 @@ sed -e 's/role="test"/role="src"/' \      -i package.xml  cd %{sources} -%patch -P0 -p1 -%patch -P1 -p1 -%patch -P2 -p1 -%patch -P3 -p1 -  # Sanity check, really often broken  extver=$(sed -n '/#define PHP_YAF_VERSION/{s/.*\t"//;s/".*$//;p}' php_yaf.h )  if test "x${extver}" != "x%{version}"; then @@ -172,6 +162,10 @@ REPORT_EXIT_STATUS=1 \  %changelog +* Tue Jul 29 2025 Remi Collet <remi@remirepo.net> - 3.3.7-1 +- update to 3.3.7 +- drop patches merged upstream +  * Fri Jul 18 2025 Remi Collet <remi@remirepo.net> - 3.3.6-5  - fix PHP 8.5.0alpha2 build using patch from    https://github.com/laruence/yaf/pull/594 diff --git a/yaf-upstream.patch b/yaf-upstream.patch deleted file mode 100644 index 0b40a13..0000000 --- a/yaf-upstream.patch +++ /dev/null @@ -1,62 +0,0 @@ -From b1d252c944a8d70f0dc28415b3d67a7b3bbbf7ce Mon Sep 17 00:00:00 2001 -From: Xinchen Hui <laruence@gmail.com> -Date: Tue, 25 Jun 2024 11:39:59 +0800 -Subject: [PATCH] Fixed build with trunk(8.4) - ---- - routes/yaf_route_regex.c   | 9 ++++++++- - routes/yaf_route_rewrite.c | 9 ++++++++- - 2 files changed, 16 insertions(+), 2 deletions(-) - -diff --git a/routes/yaf_route_regex.c b/routes/yaf_route_regex.c -index 45410804..9dd0e2fe 100644 ---- a/routes/yaf_route_regex.c -+++ b/routes/yaf_route_regex.c -@@ -204,13 +204,20 @@ static int yaf_route_regex_match(yaf_route_regex_object *regex, const char *uri, - #if PHP_VERSION_ID < 70400 - 		php_pcre_match_impl(pce_regexp, (char*)uri, len, &matches, &subparts /* subpats */, - 				0/* global */, 0/* ZEND_NUM_ARGS() >= 4 */, 0/*flags PREG_OFFSET_CAPTURE*/, 0/* start_offset */); --#else -+#elif PHP_VERSION_ID < 80400 - 		{ - 			zend_string *tmp = zend_string_init(uri, len, 0); - 			php_pcre_match_impl(pce_regexp, tmp, &matches, &subparts /* subpats */, - 					0/* global */, 0/* ZEND_NUM_ARGS() >= 4 */, 0/*flags PREG_OFFSET_CAPTURE*/, 0/* start_offset */); - 			zend_string_release(tmp); - 		} -+#else -+		{ -+			zend_string *tmp = zend_string_init(uri, len, 0); -+			php_pcre_match_impl(pce_regexp, tmp, &matches, &subparts /* subpats */, -+					0/* global */, 0/*flags PREG_OFFSET_CAPTURE*/, 0/* start_offset */); -+			zend_string_release(tmp); -+		} - #endif -  - 		if (!zend_hash_num_elements(Z_ARRVAL(subparts))) { -diff --git a/routes/yaf_route_rewrite.c b/routes/yaf_route_rewrite.c -index 716ae6fd..b7b4200a 100644 ---- a/routes/yaf_route_rewrite.c -+++ b/routes/yaf_route_rewrite.c -@@ -209,13 +209,20 @@ static int yaf_route_rewrite_match(yaf_route_rewrite_object *rewrite, const char - #if PHP_VERSION_ID < 70400 - 		php_pcre_match_impl(pce_regexp, (char*)uri, len, &matches, &subparts /* subpats */, - 				0/* global */, 0/* ZEND_NUM_ARGS() >= 4 */, 0/*flags PREG_OFFSET_CAPTURE*/, 0/* start_offset */); --#else -+#elif PHP_VERSION_ID <80400 - 		{ - 			zend_string *tmp = zend_string_init(uri, len, 0); - 			php_pcre_match_impl(pce_regexp, tmp, &matches, &subparts /* subpats */, - 					0/* global */, 0/* ZEND_NUM_ARGS() >= 4 */, 0/*flags PREG_OFFSET_CAPTURE*/, 0/* start_offset */); - 			zend_string_release(tmp); - 		} -+#else -+		{ -+			zend_string *tmp = zend_string_init(uri, len, 0); -+			php_pcre_match_impl(pce_regexp, tmp, &matches, &subparts /* subpats */, -+					0/* global */, 0/*flags PREG_OFFSET_CAPTURE*/, 0/* start_offset */); -+			zend_string_release(tmp); -+		} - #endif -  - 		if (!zend_hash_num_elements(Z_ARRVAL(subparts))) {  | 
