iliaa Sun, 03 Apr 2011 16:30:31 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=309920
Log: Fixed bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented). Bug: http://bugs.php.net/53037 (Open) activate FILTER_FLAG_EMPTY_STRING_NULL Changed paths: U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_3/ext/filter/sanitizing_filters.c A php/php-src/branches/PHP_5_3/ext/filter/tests/bug53037.phpt U php/php-src/trunk/ext/filter/sanitizing_filters.c A php/php-src/trunk/ext/filter/tests/bug53037.phpt Modified: php/php-src/branches/PHP_5_3/NEWS =================================================================== --- php/php-src/branches/PHP_5_3/NEWS 2011-04-03 12:25:43 UTC (rev 309919) +++ php/php-src/branches/PHP_5_3/NEWS 2011-04-03 16:30:31 UTC (rev 309920) @@ -28,6 +28,9 @@ - DBA extension: . Fixed bug #54242 (dba_insert returns true if key already exists). (Felipe) +- Filter extension: + . Fixed bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented). (Ilia) + - LDAP extension: . Fixed bug #53339 (Fails to build when compilng with gcc 4.5 and DSO libraries). (Clint Byrum, Raphael) Modified: php/php-src/branches/PHP_5_3/ext/filter/sanitizing_filters.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/filter/sanitizing_filters.c 2011-04-03 12:25:43 UTC (rev 309919) +++ php/php-src/branches/PHP_5_3/ext/filter/sanitizing_filters.c 2011-04-03 16:30:31 UTC (rev 309920) @@ -205,7 +205,11 @@ if (new_len == 0) { zval_dtor(value); - ZVAL_EMPTY_STRING(value); + if (flags & FILTER_FLAG_EMPTY_STRING_NULL) { + ZVAL_NULL(value); + } else { + ZVAL_EMPTY_STRING(value); + } return; } } @@ -280,6 +284,9 @@ } php_filter_encode_html(value, enc); + } else if (flags & FILTER_FLAG_EMPTY_STRING_NULL && Z_STRLEN_P(value) == 0) { + zval_dtor(value); + ZVAL_NULL(value); } } /* }}} */ Added: php/php-src/branches/PHP_5_3/ext/filter/tests/bug53037.phpt =================================================================== --- php/php-src/branches/PHP_5_3/ext/filter/tests/bug53037.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/ext/filter/tests/bug53037.phpt 2011-04-03 16:30:31 UTC (rev 309920) @@ -0,0 +1,14 @@ +--TEST-- +Bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented) +--SKIPIF-- +<?php if (!extension_loaded("filter")) die("skip"); ?> +--FILE-- +<?php +var_dump( + filter_var("", FILTER_DEFAULT), + filter_var("", FILTER_DEFAULT, array('flags' => FILTER_FLAG_EMPTY_STRING_NULL)) +); +?> +--EXPECT-- +string(0) "" +NULL Modified: php/php-src/trunk/ext/filter/sanitizing_filters.c =================================================================== --- php/php-src/trunk/ext/filter/sanitizing_filters.c 2011-04-03 12:25:43 UTC (rev 309919) +++ php/php-src/trunk/ext/filter/sanitizing_filters.c 2011-04-03 16:30:31 UTC (rev 309920) @@ -205,7 +205,11 @@ if (new_len == 0) { zval_dtor(value); - ZVAL_EMPTY_STRING(value); + if (flags & FILTER_FLAG_EMPTY_STRING_NULL) { + ZVAL_NULL(value); + } else { + ZVAL_EMPTY_STRING(value); + } return; } } @@ -280,6 +284,9 @@ } php_filter_encode_html(value, enc); + } else if (flags & FILTER_FLAG_EMPTY_STRING_NULL && Z_STRLEN_P(value) == 0) { + zval_dtor(value); + ZVAL_NULL(value); } } /* }}} */ Added: php/php-src/trunk/ext/filter/tests/bug53037.phpt =================================================================== --- php/php-src/trunk/ext/filter/tests/bug53037.phpt (rev 0) +++ php/php-src/trunk/ext/filter/tests/bug53037.phpt 2011-04-03 16:30:31 UTC (rev 309920) @@ -0,0 +1,14 @@ +--TEST-- +Bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented) +--SKIPIF-- +<?php if (!extension_loaded("filter")) die("skip"); ?> +--FILE-- +<?php +var_dump( + filter_var("", FILTER_DEFAULT), + filter_var("", FILTER_DEFAULT, array('flags' => FILTER_FLAG_EMPTY_STRING_NULL)) +); +?> +--EXPECT-- +string(0) "" +NULL
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php