summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2006-10-17 15:26:42 +0000
committerIlia Alshanetsky <iliaa@php.net>2006-10-17 15:26:42 +0000
commitdc4f9d0baadfdb2ee1ea11a8658449b2ac6e3490 (patch)
tree40e354f9bb7487f06b205484aea5c0bdad978e7c
parent5e60e48f8afede22c80534bf295875141e476348 (diff)
downloadphp-git-dc4f9d0baadfdb2ee1ea11a8658449b2ac6e3490.tar.gz
MFB: Unify handling of return values on validation failure and var not found
-rw-r--r--ext/filter/filter.c53
-rw-r--r--ext/filter/filter_private.h1
-rw-r--r--ext/filter/logical_filters.c106
-rw-r--r--ext/filter/tests/008.phpt6
-rw-r--r--ext/filter/tests/009.phpt23
-rw-r--r--ext/filter/tests/010.phpt16
-rw-r--r--ext/filter/tests/012.phpt6
-rw-r--r--ext/filter/tests/013.phpt32
-rw-r--r--ext/filter/tests/014.phpt8
-rw-r--r--ext/filter/tests/015.phpt14
-rw-r--r--ext/filter/tests/016.phpt12
-rw-r--r--ext/filter/tests/017.phpt8
-rw-r--r--ext/filter/tests/018.phpt20
-rw-r--r--ext/filter/tests/019.phpt10
-rw-r--r--ext/filter/tests/030.phpt2
-rw-r--r--ext/filter/tests/031.phpt6
-rw-r--r--ext/filter/tests/034.phpt4
-rw-r--r--ext/filter/tests/bug8315.phpt6
-rw-r--r--ext/filter/tests/filter_data.phpt8
19 files changed, 193 insertions, 148 deletions
diff --git a/ext/filter/filter.c b/ext/filter/filter.c
index 79207c5009..0a01500af1 100644
--- a/ext/filter/filter.c
+++ b/ext/filter/filter.c
@@ -182,6 +182,7 @@ PHP_MINIT_FUNCTION(filter)
REGISTER_LONG_CONSTANT("FILTER_REQUIRE_SCALAR", FILTER_REQUIRE_SCALAR, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_REQUIRE_ARRAY", FILTER_REQUIRE_ARRAY, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FORCE_ARRAY", FILTER_FORCE_ARRAY, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("FILTER_NULL_ON_FAILURE", FILTER_NULL_ON_FAILURE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_INT", FILTER_VALIDATE_INT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOLEAN", FILTER_VALIDATE_BOOLEAN, CONST_CS | CONST_PERSISTENT);
@@ -565,7 +566,11 @@ static void php_filter_call(zval **filtered, long filter, zval **filter_args, co
SEPARATE_ZVAL(filtered);
}
zval_dtor(*filtered);
- ZVAL_FALSE(*filtered);
+ if (filter_flags & FILTER_NULL_ON_FAILURE) {
+ ZVAL_NULL(*filtered);
+ } else {
+ ZVAL_FALSE(*filtered);
+ }
return;
}
php_zval_filter_recursive(filtered, filter, filter_flags, options, charset, copy TSRMLS_CC);
@@ -576,7 +581,11 @@ static void php_filter_call(zval **filtered, long filter, zval **filter_args, co
SEPARATE_ZVAL(filtered);
}
zval_dtor(*filtered);
- ZVAL_FALSE(*filtered);
+ if (filter_flags & FILTER_NULL_ON_FAILURE) {
+ ZVAL_NULL(*filtered);
+ } else {
+ ZVAL_FALSE(*filtered);
+ }
return;
}
@@ -658,13 +667,27 @@ PHP_FUNCTION(filter_input)
int var_len;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ls|lZ", &fetch_from, &var, &var_len, &filter, &filter_args) == FAILURE) {
- RETURN_FALSE;
+ return;
}
input = php_filter_get_storage(fetch_from TSRMLS_CC);
if (!input || !HASH_OF(input) || zend_hash_find(HASH_OF(input), var, var_len + 1, (void **)&tmp) != SUCCESS) {
- RETURN_FALSE;
+ long filter_flags = 0;
+ zval **option;
+ if (filter_args) {
+ if (Z_TYPE_PP(filter_args) == IS_LONG) {
+ filter_flags = Z_LVAL_PP(filter_args);
+ } else if (Z_TYPE_PP(filter_args) == IS_ARRAY && zend_hash_find(HASH_OF(*filter_args), "flags", sizeof("flags"), (void **)&option) == SUCCESS) {
+ convert_to_long(*option);
+ filter_flags = Z_LVAL_PP(option);
+ }
+ }
+ if (filter_flags & FILTER_NULL_ON_FAILURE) {
+ RETURN_FALSE;
+ } else {
+ RETURN_NULL();
+ }
}
*return_value = **tmp;
@@ -683,7 +706,7 @@ PHP_FUNCTION(filter_var)
zval **filter_args = NULL, *data;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z/|lZ", &data, &filter, &filter_args) == FAILURE) {
- RETURN_FALSE;
+ return;
}
*return_value = *data;
@@ -702,13 +725,27 @@ PHP_FUNCTION(filter_input_array)
zval *array_input = NULL, **op = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l|Z", &fetch_from, &op) == FAILURE) {
- RETURN_FALSE;
+ return;
}
array_input = php_filter_get_storage(fetch_from TSRMLS_CC);
if (!array_input || !HASH_OF(array_input)) {
- RETURN_FALSE;
+ long filter_flags = 0;
+ zval **option;
+ if (op) {
+ if (Z_TYPE_PP(op) == IS_LONG) {
+ filter_flags = Z_LVAL_PP(op);
+ } else if (Z_TYPE_PP(op) == IS_ARRAY && zend_hash_find(HASH_OF(*op), "flags", sizeof("flags"), (void **)&option) == SUCCESS) {
+ convert_to_long(*option);
+ filter_flags = Z_LVAL_PP(option);
+ }
+ }
+ if (filter_flags & FILTER_NULL_ON_FAILURE) {
+ RETURN_FALSE;
+ } else {
+ RETURN_NULL();
+ }
}
php_filter_array_handler(array_input, op, return_value TSRMLS_CC);
@@ -723,7 +760,7 @@ PHP_FUNCTION(filter_var_array)
zval *array_input = NULL, **op = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|Z", &array_input, &op) == FAILURE) {
- RETURN_FALSE;
+ return;
}
php_filter_array_handler(array_input, op, return_value TSRMLS_CC);
diff --git a/ext/filter/filter_private.h b/ext/filter/filter_private.h
index 6adfe76615..d782c2dfbf 100644
--- a/ext/filter/filter_private.h
+++ b/ext/filter/filter_private.h
@@ -27,6 +27,7 @@
#define FILTER_REQUIRE_SCALAR 0x2000000
#define FILTER_FORCE_ARRAY 0x4000000
+#define FILTER_NULL_ON_FAILURE 0x8000000
#define FILTER_FLAG_ALLOW_OCTAL 0x0001
#define FILTER_FLAG_ALLOW_HEX 0x0002
diff --git a/ext/filter/logical_filters.c b/ext/filter/logical_filters.c
index 21169df5e9..b1c0252d25 100644
--- a/ext/filter/logical_filters.c
+++ b/ext/filter/logical_filters.c
@@ -55,6 +55,15 @@
#define FORMAT_IPV4 4
#define FORMAT_IPV6 6
+#define RETURN_VALIDATION_FAILED \
+ zval_dtor(value); \
+ if (flags & FILTER_NULL_ON_FAILURE) { \
+ ZVAL_NULL(value); \
+ } else { \
+ ZVAL_FALSE(value); \
+ } \
+ return; \
+
static int php_filter_parse_int(const char *str, unsigned int str_len, long *ret TSRMLS_DC) { /* {{{ */
long ctx_value = 0;
long sign = 1;
@@ -176,9 +185,7 @@ void php_filter_int(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
len = Z_STRLEN_P(value);
if (len == 0) {
- zval_dtor(value);
- ZVAL_NULL(value);
- return;
+ RETURN_VALIDATION_FAILED
}
if (option_flags & FILTER_FLAG_ALLOW_OCTAL) {
@@ -216,8 +223,7 @@ void php_filter_int(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
}
if (error > 0 || (min_range_set && (ctx_value < min_range)) || (max_range_set && (ctx_value > max_range))) {
- zval_dtor(value);
- ZVAL_NULL(value);
+ RETURN_VALIDATION_FAILED
} else {
zval_dtor(value);
Z_TYPE_P(value) = IS_LONG;
@@ -236,9 +242,7 @@ void php_filter_boolean(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
if (len>0) {
PHP_FILTER_TRIM_DEFAULT(str, len, end);
} else {
- zval_dtor(value);
- ZVAL_NULL(value);
- return;
+ RETURN_VALIDATION_FAILED
}
/* returns true for "1", "true", "on" and "yes"
@@ -251,9 +255,15 @@ void php_filter_boolean(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
{
zval_dtor(value);
ZVAL_BOOL(value, 1);
- } else {
+ } else if ((strncasecmp(str, "false", sizeof("false")) == 0) ||
+ (strncasecmp(str, "no", sizeof("no")) == 0) ||
+ (strncasecmp(str, "off", sizeof("off")) == 0) ||
+ (strncmp(str, "0", sizeof("0")) == 0))
+ {
zval_dtor(value);
ZVAL_BOOL(value, 0);
+ } else {
+ RETURN_VALIDATION_FAILED
}
}
/* }}} */
@@ -285,9 +295,7 @@ void php_filter_float(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
len = Z_STRLEN_P(value);
if (len < 1) {
- zval_dtor(value);
- ZVAL_NULL(value);
- return;
+ RETURN_VALIDATION_FAILED
}
str = Z_STRVAL_P(value);
@@ -424,8 +432,7 @@ stateT:
return;
stateError:
- zval_dtor(value);
- ZVAL_NULL(value);
+ RETURN_VALIDATION_FAILED
}
/* }}} */
@@ -450,22 +457,18 @@ void php_filter_validate_regexp(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
if (!regexp_set) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "'regexp' option missing");
- zval_dtor(value);
- ZVAL_NULL(value);
- return;
+ RETURN_VALIDATION_FAILED
}
re = pcre_get_compiled_regex(regexp, &pcre_extra, &preg_options TSRMLS_CC);
if (!re) {
- zval_dtor(value);
- ZVAL_NULL(value);
+ RETURN_VALIDATION_FAILED
}
matches = pcre_exec(re, NULL, Z_STRVAL_P(value), Z_STRLEN_P(value), 0, 0, ovector, 3);
/* 0 means that the vector is too small to hold all the captured substring offsets */
if (matches < 0) {
- zval_dtor(value);
- ZVAL_NULL(value);
+ RETURN_VALIDATION_FAILED
}
}
/* }}} */
@@ -478,26 +481,17 @@ void php_filter_validate_url(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
url = php_url_parse_ex(Z_STRVAL_P(value), Z_STRLEN_P(value));
if (url == NULL) {
- zval_dtor(value);
- ZVAL_NULL(value);
- return;
+ RETURN_VALIDATION_FAILED
}
- if ((flags & FILTER_FLAG_SCHEME_REQUIRED) && url->scheme == NULL) {
- zval_dtor(value);
- ZVAL_NULL(value);
- }
- if ((flags & FILTER_FLAG_HOST_REQUIRED) && url->host == NULL) {
- zval_dtor(value);
- ZVAL_NULL(value);
- }
- if ((flags & FILTER_FLAG_PATH_REQUIRED) && url->path == NULL) {
- zval_dtor(value);
- ZVAL_NULL(value);
- }
- if ((flags & FILTER_FLAG_QUERY_REQUIRED) && url->query == NULL) {
- zval_dtor(value);
- ZVAL_NULL(value);
+ if (
+ ((flags & FILTER_FLAG_SCHEME_REQUIRED) && url->scheme == NULL) ||
+ ((flags & FILTER_FLAG_HOST_REQUIRED) && url->host == NULL) ||
+ ((flags & FILTER_FLAG_PATH_REQUIRED) && url->path == NULL) ||
+ ((flags & FILTER_FLAG_QUERY_REQUIRED) && url->query == NULL)
+ ) {
+ php_url_free(url);
+ RETURN_VALIDATION_FAILED
}
php_url_free(url);
}
@@ -517,15 +511,13 @@ void php_filter_validate_email(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
re = pcre_get_compiled_regex((char *)regexp, &pcre_extra, &preg_options TSRMLS_CC);
if (!re) {
- zval_dtor(value);
- ZVAL_NULL(value);
+ RETURN_VALIDATION_FAILED
}
matches = pcre_exec(re, NULL, Z_STRVAL_P(value), Z_STRLEN_P(value), 0, 0, ovector, 3);
/* 0 means that the vector is too small to hold all the captured substring offsets */
if (matches < 0) {
- zval_dtor(value);
- ZVAL_NULL(value);
+ RETURN_VALIDATION_FAILED
}
}
@@ -766,29 +758,21 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
} else if (strchr(str, '.')) {
mode = FORMAT_IPV4;
} else {
- zval_dtor(value);
- ZVAL_NULL(value);
- return;
+ RETURN_VALIDATION_FAILED
}
if (flags & (FILTER_FLAG_IPV4 || FILTER_FLAG_IPV6)) {
/* Both formats are cool */
} else if ((flags & FILTER_FLAG_IPV4) && mode == FORMAT_IPV6) {
- zval_dtor(value);
- ZVAL_NULL(value);
- return;
+ RETURN_VALIDATION_FAILED
} else if ((flags & FILTER_FLAG_IPV6) && mode == FORMAT_IPV4) {
- zval_dtor(value);
- ZVAL_NULL(value);
- return;
+ RETURN_VALIDATION_FAILED
}
switch (mode) {
case FORMAT_IPV4:
if (!_php_filter_validate_ipv4(str, ip TSRMLS_CC)) {
- zval_dtor(value);
- ZVAL_NULL(value);
- return;
+ RETURN_VALIDATION_FAILED
}
/* Check flags */
@@ -798,9 +782,7 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
(ip[0] == 172 && (ip[1] >= 16 && ip[1] <= 31)) ||
(ip[0] == 192 && ip[1] == 168)
) {
- zval_dtor(value);
- ZVAL_NULL(value);
- return;
+ RETURN_VALIDATION_FAILED
}
}
@@ -811,9 +793,7 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
(ip[0] == 192 && ip[1] == 0 && ip[2] == 2) ||
(ip[0] >= 224 && ip[0] <= 255)
) {
- zval_dtor(value);
- ZVAL_NULL(value);
- return;
+ RETURN_VALIDATION_FAILED
}
}
break;
@@ -823,9 +803,7 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
int res = 0;
res = _php_filter_validate_ipv6_(str TSRMLS_CC);
if (res < 1) {
- zval_dtor(value);
- ZVAL_NULL(value);
- return;
+ RETURN_VALIDATION_FAILED
}
}
break;
diff --git a/ext/filter/tests/008.phpt b/ext/filter/tests/008.phpt
index 5f89910d79..9130c09481 100644
--- a/ext/filter/tests/008.phpt
+++ b/ext/filter/tests/008.phpt
@@ -47,7 +47,13 @@ array(18) {
[17]=>
string(8) "callback"
}
+<<<<<<< 008.phpt
+
+Warning: Wrong parameter count for filter_list() in /home4/php_dev/php52/ext/filter/tests/008.php on line 4
+NULL
+=======
Warning: Wrong parameter count for filter_list() in %s on line %d
NULL
+>>>>>>> 1.3
Done
diff --git a/ext/filter/tests/009.phpt b/ext/filter/tests/009.phpt
index d9d66be07e..80057d63aa 100644
--- a/ext/filter/tests/009.phpt
+++ b/ext/filter/tests/009.phpt
@@ -19,11 +19,34 @@ int(513)
int(513)
int(518)
int(257)
+<<<<<<< 009.phpt
bool(false)
Warning: filter_id() expects parameter 1 to be string, array given in %s on line %d
NULL
bool(false)
+=======
+bool(false)
+>>>>>>> 1.4
+
+<<<<<<< 009.phpt
+Warning: filter_id() expects exactly 1 parameter, 3 given in %s on line %d
+NULL
+Done
+--UEXPECTF--
+int(513)
+int(513)
+int(518)
+int(257)
+NULL
+
+Warning: input_name_to_filter() expects parameter 1 to be binary string, array given in %s on line %d
+NULL
+=======
+Warning: filter_id() expects parameter 1 to be string, array given in %s on line %d
+>>>>>>> 1.4
+NULL
+bool(false)
Warning: filter_id() expects exactly 1 parameter, 3 given in %s on line %d
NULL
diff --git a/ext/filter/tests/010.phpt b/ext/filter/tests/010.phpt
index 0de3467cec..d0a53c3a82 100644
--- a/ext/filter/tests/010.phpt
+++ b/ext/filter/tests/010.phpt
@@ -21,13 +21,13 @@ array(7) {
[1]=>
int(1)
[2]=>
- NULL
+ bool(false)
[3]=>
int(-23234)
[4]=>
- NULL
+ bool(false)
[5]=>
- NULL
+ bool(false)
[6]=>
array(0) {
}
@@ -38,20 +38,20 @@ array(7) {
[1]=>
float(1.7)
[2]=>
- NULL
+ bool(false)
[3]=>
float(-23234.123)
[4]=>
- NULL
+ bool(false)
[5]=>
- NULL
+ bool(false)
[6]=>
array(0) {
}
}
-Warning: filter_var() expects parameter 2 to be long, array given in %s on line %d
-bool(false)
+Warning: filter_var() expects parameter 2 to be long, array given in /home4/php_dev/php52/ext/filter/tests/010.php on line 5
+NULL
string(1) "1"
string(1) "1"
string(1) "1"
diff --git a/ext/filter/tests/012.phpt b/ext/filter/tests/012.phpt
index 103fd3c8f9..ef0525489f 100644
--- a/ext/filter/tests/012.phpt
+++ b/ext/filter/tests/012.phpt
@@ -10,7 +10,7 @@ var_dump(filter_input(INPUT_COOKIE, ""));
echo "Done\n";
?>
--EXPECT--
-bool(false)
-bool(false)
-bool(false)
+NULL
+NULL
+NULL
Done
diff --git a/ext/filter/tests/013.phpt b/ext/filter/tests/013.phpt
index d88145a6e7..55c71e3535 100644
--- a/ext/filter/tests/013.phpt
+++ b/ext/filter/tests/013.phpt
@@ -49,24 +49,24 @@ int(255)
int(7)
int(16711680)
int(438)
-NULL
+bool(false)
int(0)
int(0)
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
int(6)
-NULL
-NULL
+bool(false)
+bool(false)
int(-1)
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
Done
diff --git a/ext/filter/tests/014.phpt b/ext/filter/tests/014.phpt
index f12eac0ed4..77e4d25575 100644
--- a/ext/filter/tests/014.phpt
+++ b/ext/filter/tests/014.phpt
@@ -32,9 +32,9 @@ var_dump(filter_var("111111", FILTER_VALIDATE_BOOLEAN));
echo "Done\n";
?>
---EXPECTF--
+--EXPECT--
+bool(false)
bool(false)
-NULL
bool(false)
array(5) {
[0]=>
@@ -48,7 +48,7 @@ array(5) {
[4]=>
array(2) {
[0]=>
- NULL
+ bool(false)
[1]=>
bool(false)
}
@@ -61,7 +61,7 @@ bool(true)
bool(false)
bool(true)
bool(false)
-NULL
+bool(false)
bool(false)
bool(false)
bool(false)
diff --git a/ext/filter/tests/015.phpt b/ext/filter/tests/015.phpt
index 67c506f3d0..edde095e75 100644
--- a/ext/filter/tests/015.phpt
+++ b/ext/filter/tests/015.phpt
@@ -40,7 +40,7 @@ var_dump(filter_var("http://www.example.com/index.php?a=b&c=d", FILTER_VALIDATE_
echo "Done\n";
?>
---EXPECTF--
+--EXPECT--
string(29) "http://example.com/index.html"
string(32) "http://www.example.com/index.php"
string(31) "http://www.example/img/test.png"
@@ -52,20 +52,20 @@ string(18) "file:///tmp/test.c"
string(26) "ftp://ftp.example.com/tmp/"
string(11) "/tmp/test.c"
string(1) "/"
-NULL
+bool(false)
string(6) "http:/"
string(5) "http:"
string(4) "http"
string(0) ""
string(2) "-1"
bool(false)
-NULL
+bool(false)
string(10) "http://qwe"
-NULL
-NULL
+bool(false)
+bool(false)
string(22) "http://www.example.com"
-NULL
+bool(false)
string(42) "http://www.example.com/path/at/the/server/"
-NULL
+bool(false)
string(40) "http://www.example.com/index.php?a=b&c=d"
Done
diff --git a/ext/filter/tests/016.phpt b/ext/filter/tests/016.phpt
index d1c959c119..67921f0188 100644
--- a/ext/filter/tests/016.phpt
+++ b/ext/filter/tests/016.phpt
@@ -22,11 +22,11 @@ echo "Done\n";
--EXPECT--
string(5) "a@b.c"
string(17) "abuse@example.com"
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
string(57) "QWERTYUIOPASDFGHJKLZXCVBNM@QWERTYUIOPASDFGHJKLZXCVBNM.NET"
Done
diff --git a/ext/filter/tests/017.phpt b/ext/filter/tests/017.phpt
index 2b2d9de889..661dfe40ff 100644
--- a/ext/filter/tests/017.phpt
+++ b/ext/filter/tests/017.phpt
@@ -14,11 +14,11 @@ echo "Done\n";
?>
--EXPECTF--
string(4) "data"
-NULL
+bool(false)
string(4) "data"
-NULL
-NULL
+bool(false)
+bool(false)
Warning: filter_var(): 'regexp' option missing in %s on line %d
-NULL
+bool(false)
Done
diff --git a/ext/filter/tests/018.phpt b/ext/filter/tests/018.phpt
index 5b0b16da28..7ea17b329c 100644
--- a/ext/filter/tests/018.phpt
+++ b/ext/filter/tests/018.phpt
@@ -27,24 +27,24 @@ echo "Done\n";
?>
--EXPECT--
string(11) "192.168.0.1"
-NULL
+bool(false)
string(3) "::1"
string(7) "fe00::0"
-NULL
-NULL
+bool(false)
+bool(false)
string(9) "127.0.0.1"
-NULL
+bool(false)
string(12) "192.0.34.166"
string(9) "127.0.0.1"
string(9) "192.0.0.1"
string(12) "192.0.34.166"
-NULL
+bool(false)
string(15) "255.255.255.255"
-NULL
-NULL
-NULL
-NULL
-NULL
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
string(3) "::1"
string(9) "127.0.0.1"
Done
diff --git a/ext/filter/tests/019.phpt b/ext/filter/tests/019.phpt
index e8c85c8243..5a20ff8211 100644
--- a/ext/filter/tests/019.phpt
+++ b/ext/filter/tests/019.phpt
@@ -11,10 +11,10 @@ var_dump(filter_var("1.1.1.1", FILTER_VALIDATE_IP));
echo "Done\n";
?>
---EXPECTF--
-NULL
-NULL
-NULL
-NULL
+--EXPECT--
+bool(false)
+bool(false)
+bool(false)
+bool(false)
string(7) "1.1.1.1"
Done
diff --git a/ext/filter/tests/030.phpt b/ext/filter/tests/030.phpt
index 257d1d6cbd..97b62b9e26 100644
--- a/ext/filter/tests/030.phpt
+++ b/ext/filter/tests/030.phpt
@@ -23,7 +23,7 @@ $ipv6_test = array(
);
foreach ($ipv6_test as $ip => $exp) {
$out = filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6);
- $out = (int) ($out === null ? 0 : 1);
+ $out = (int) ($out === false ? 0 : 1);
if ($exp != $out) {
echo "$ip failed\n";
}
diff --git a/ext/filter/tests/031.phpt b/ext/filter/tests/031.phpt
index 81dcc1c0e9..74883b8b26 100644
--- a/ext/filter/tests/031.phpt
+++ b/ext/filter/tests/031.phpt
@@ -45,10 +45,10 @@ float(7000)
float(0.007)
custom decimal:
-NULL
+bool(false)
float(1.234)
float(1.234)
Warning: filter_var(): decimal separator must be one char in %s on line %d
-NULL
-NULL
+bool(false)
+bool(false)
diff --git a/ext/filter/tests/034.phpt b/ext/filter/tests/034.phpt
index a041786639..f96596d7c3 100644
--- a/ext/filter/tests/034.phpt
+++ b/ext/filter/tests/034.phpt
@@ -16,12 +16,12 @@ $booleans = array(
'faLsE' => false,
'oFf' => false,
-'' => null
+'' => false
);
foreach($booleans as $val=>$exp) {
$res =filter_var($val, FILTER_VALIDATE_BOOLEAN);
- if ($res !== $exp) {
+ if ($res !== $exp) {
echo "$val failed,'$exp' expect, '$res' received.\n";
}
}
diff --git a/ext/filter/tests/bug8315.phpt b/ext/filter/tests/bug8315.phpt
index ae2ac45f85..ab1a0937ed 100644
--- a/ext/filter/tests/bug8315.phpt
+++ b/ext/filter/tests/bug8315.phpt
@@ -8,6 +8,6 @@ var_dump(filter_var($var, FILTER_VALIDATE_INT));
$var="3".chr(0)."foo";
var_dump(filter_var($var, FILTER_VALIDATE_FLOAT));
?>
---EXPECTF--
-NULL
-NULL
+--EXPECT--
+bool(false)
+bool(false)
diff --git a/ext/filter/tests/filter_data.phpt b/ext/filter/tests/filter_data.phpt
index 9ae9ab17bf..14e8545c9b 100644
--- a/ext/filter/tests/filter_data.phpt
+++ b/ext/filter/tests/filter_data.phpt
@@ -46,7 +46,7 @@ int(123)
int(-123)
int(0)
int(123)
-NULL
+bool(false)
float(-0.123)
float(0)
@@ -54,7 +54,7 @@ float(1.23)
float(-1.23)
float(0)
float(1.23)
-NULL
+bool(false)
bool(true)
bool(false)
@@ -67,5 +67,5 @@ bool(false)
bool(true)
bool(false)
bool(true)
-NULL
-NULL
+bool(false)
+bool(false)