cvs: php-src /ext/filter logical_filters.c /ext/filter/tests 010.phpt 013.phpt filter_data.phpt
| From: | Pierre-Alain Joye | Date: | Thu, 31 Aug 2006 18:28:39 +0000 |
| Subject: | cvs: php-src /ext/filter logical_filters.c /ext/filter/tests 010.phpt 013.phpt filter_data.phpt | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-40256@lists.php.net to get a copy of this message | ||
pajoye Thu Aug 31 18:28:39 2006 UTC
Modified files:
/php-src/ext/filter logical_filters.c
/php-src/ext/filter/tests 010.phpt 013.phpt filter_data.phpt
Log:
- pecl bug #8316,
empty strings are not int or float, return false (due to popular demand)
http://cvs.php.net/viewvc.cgi/php-src/ext/filter/logical_filters.c?r1=1.7&r2=1.8&diff_format=u
Index: php-src/ext/filter/logical_filters.c
diff -u php-src/ext/filter/logical_filters.c:1.7 php-src/ext/filter/logical_filters.c:1.8
--- php-src/ext/filter/logical_filters.c:1.7 Thu Aug 31 16:12:33 2006
+++ php-src/ext/filter/logical_filters.c Thu Aug 31 18:28:38 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: logical_filters.c,v 1.7 2006/08/31 16:12:33 pajoye Exp $ */
+/* $Id: logical_filters.c,v 1.8 2006/08/31 18:28:38 pajoye Exp $ */
#include "php_filter.h"
#include "filter_private.h"
@@ -173,6 +173,14 @@
FETCH_LONG_OPTION(max_range, "max_range");
FETCH_LONG_OPTION(option_flags, "flags");
+ len = Z_STRLEN_P(value);
+
+ if (len == 0) {
+ zval_dtor(value);
+ ZVAL_BOOL(value, 0);
+ return;
+ }
+
if (option_flags_set && (option_flags & FILTER_FLAG_ALLOW_OCTAL)) {
allow_octal = 1;
}
@@ -181,21 +189,6 @@
allow_hex = 1;
}
- len = Z_STRLEN_P(value);
-
- if (len == 0) {
- if ((min_range_set && (0 < min_range)) || (max_range_set && (0 >
max_range))) {
- zval_dtor(value);
- ZVAL_BOOL(value, 0);
- return;
- } else {
- zval_dtor(value);
- Z_TYPE_P(value) = IS_LONG;
- Z_LVAL_P(value) = 0;
- return;
- }
- }
-
/* Start the validating loop */
p = Z_STRVAL_P(value);
ctx_value = 0;
@@ -245,6 +238,7 @@
} else {
zval_dtor(value);
ZVAL_BOOL(value, 0);
+ return;
}
/* returns true for "1", "true", "on" and "yes"
@@ -292,8 +286,7 @@
if (len < 1) {
zval_dtor(value);
- Z_TYPE_P(value) = IS_DOUBLE;
- Z_DVAL_P(value) = 0;
+ ZVAL_BOOL(value, 0);
return;
}
http://cvs.php.net/viewvc.cgi/php-src/ext/filter/tests/010.phpt?r1=1.4&r2=1.5&diff_format=u
Index: php-src/ext/filter/tests/010.phpt
diff -u php-src/ext/filter/tests/010.phpt:1.4 php-src/ext/filter/tests/010.phpt:1.5
--- php-src/ext/filter/tests/010.phpt:1.4 Sun May 14 13:54:10 2006
+++ php-src/ext/filter/tests/010.phpt Thu Aug 31 18:28:39 2006
@@ -21,7 +21,7 @@
[1]=>
int(1)
[2]=>
- int(0)
+ bool(false)
[3]=>
int(-23234)
[4]=>
@@ -38,7 +38,7 @@
[1]=>
float(1.7)
[2]=>
- float(0)
+ bool(false)
[3]=>
float(-23234.123)
[4]=>
http://cvs.php.net/viewvc.cgi/php-src/ext/filter/tests/013.phpt?r1=1.8&r2=1.9&diff_format=u
Index: php-src/ext/filter/tests/013.phpt
diff -u php-src/ext/filter/tests/013.phpt:1.8 php-src/ext/filter/tests/013.phpt:1.9
--- php-src/ext/filter/tests/013.phpt:1.8 Thu Aug 31 16:12:33 2006
+++ php-src/ext/filter/tests/013.phpt Thu Aug 31 18:28:39 2006
@@ -63,7 +63,7 @@
bool(false)
bool(false)
int(-1)
-int(0)
+bool(false)
bool(false)
bool(false)
bool(false)
http://cvs.php.net/viewvc.cgi/php-src/ext/filter/tests/filter_data.phpt?r1=1.4&r2=1.5&diff_format=u
Index: php-src/ext/filter/tests/filter_data.phpt
diff -u php-src/ext/filter/tests/filter_data.phpt:1.4 php-src/ext/filter/tests/filter_data.phpt:1.5
--- php-src/ext/filter/tests/filter_data.phpt:1.4 Sat Jan 21 15:57:43 2006
+++ php-src/ext/filter/tests/filter_data.phpt Thu Aug 31 18:28:39 2006
@@ -46,7 +46,7 @@
int(-123)
int(0)
int(123)
-int(0)
+bool(false)
float(-0.123)
float(0)
@@ -54,7 +54,7 @@
float(-1.23)
float(0)
float(1.23)
-float(0)
+bool(false)
bool(true)
bool(false)