]> granicus.if.org Git - php/commitdiff
- MFH: Change validating filters to return "null" on failure so that they can be
authorDerick Rethans <derick@php.net>
Wed, 11 Oct 2006 14:49:13 +0000 (14:49 +0000)
committerDerick Rethans <derick@php.net>
Wed, 11 Oct 2006 14:49:13 +0000 (14:49 +0000)
  distinguised from the value "false" which might be valid as well.

13 files changed:
ext/filter/logical_filters.c
ext/filter/tests/010.phpt
ext/filter/tests/013.phpt
ext/filter/tests/014.phpt
ext/filter/tests/015.phpt
ext/filter/tests/016.phpt
ext/filter/tests/017.phpt
ext/filter/tests/018.phpt
ext/filter/tests/019.phpt
ext/filter/tests/031.phpt
ext/filter/tests/034.phpt
ext/filter/tests/bug8315.phpt
ext/filter/tests/filter_data.phpt

index 4b6457a44f3e65fbdee539a77a0a6ef092c9b529..2489a2fe88167020f5e026901ba93a8ba51d71ac 100644 (file)
@@ -177,7 +177,7 @@ void php_filter_int(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
 
        if (len == 0) {
                zval_dtor(value);
-               ZVAL_BOOL(value, 0);
+               ZVAL_NULL(value);
                return;
        }
 
@@ -217,7 +217,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_BOOL(value, 0);
+               ZVAL_NULL(value);
        } else {
                zval_dtor(value);
                Z_TYPE_P(value) = IS_LONG;
@@ -237,7 +237,7 @@ void php_filter_boolean(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
                PHP_FILTER_TRIM_DEFAULT(str, len, end);
        } else {
                zval_dtor(value);
-               ZVAL_BOOL(value, 0);
+               ZVAL_NULL(value);
                return;
        }
 
@@ -286,7 +286,7 @@ void php_filter_float(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
 
        if (len < 1) {
                zval_dtor(value);
-               ZVAL_BOOL(value, 0);
+               ZVAL_NULL(value);
                return;
        }
 
@@ -425,7 +425,7 @@ stateT:
 
 stateError:
        zval_dtor(value);
-       ZVAL_BOOL(value, 0);
+       ZVAL_NULL(value);
 }
 /* }}} */
 
@@ -451,21 +451,21 @@ 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_BOOL(value, 0);
+               ZVAL_NULL(value);
                return;
        }
 
        re = pcre_get_compiled_regex(regexp, &pcre_extra, &preg_options TSRMLS_CC);
        if (!re) {
                zval_dtor(value);
-               ZVAL_BOOL(value, 0);
+               ZVAL_NULL(value);
        }
        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_BOOL(value, 0);
+               ZVAL_NULL(value);
        }
 }
 /* }}} */
@@ -479,25 +479,25 @@ void php_filter_validate_url(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
 
        if (url == NULL) {
                zval_dtor(value);
-               ZVAL_BOOL(value, 0);
+               ZVAL_NULL(value);
                return;
        }
 
        if ((flags & FILTER_FLAG_SCHEME_REQUIRED) && url->scheme == NULL) {
                zval_dtor(value);
-               ZVAL_BOOL(value, 0);
+               ZVAL_NULL(value);
        }
        if ((flags & FILTER_FLAG_HOST_REQUIRED) && url->host == NULL) {
                zval_dtor(value);
-               ZVAL_BOOL(value, 0);
+               ZVAL_NULL(value);
        }
        if ((flags & FILTER_FLAG_PATH_REQUIRED) && url->path == NULL) {
                zval_dtor(value);
-               ZVAL_BOOL(value, 0);
+               ZVAL_NULL(value);
        }
        if ((flags & FILTER_FLAG_QUERY_REQUIRED) && url->query == NULL) {
                zval_dtor(value);
-               ZVAL_BOOL(value, 0);
+               ZVAL_NULL(value);
        }
        php_url_free(url);
 }
@@ -518,14 +518,14 @@ 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_BOOL(value, 0);
+               ZVAL_NULL(value);
        }
        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_BOOL(value, 0);
+               ZVAL_NULL(value);
        }
 
 }
@@ -767,7 +767,7 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
                mode = FORMAT_IPV4;
        } else {
                zval_dtor(value);
-               ZVAL_BOOL(value, 0);
+               ZVAL_NULL(value);
                return;
        }
 
@@ -775,11 +775,11 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
                /* Both formats are cool */
        } else if ((flags & FILTER_FLAG_IPV4) && mode == FORMAT_IPV6) {
                zval_dtor(value);
-               ZVAL_BOOL(value, 0);
+               ZVAL_NULL(value);
                return;
        } else if ((flags & FILTER_FLAG_IPV6) && mode == FORMAT_IPV4) {
                zval_dtor(value);
-               ZVAL_BOOL(value, 0);
+               ZVAL_NULL(value);
                return;
        }
 
@@ -787,7 +787,7 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
                case FORMAT_IPV4:
                        if (!_php_filter_validate_ipv4(str, ip TSRMLS_CC)) {
                                zval_dtor(value);
-                               ZVAL_BOOL(value, 0);
+                               ZVAL_NULL(value);
                                return;
                        }
 
@@ -799,7 +799,7 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
                                        (ip[0] == 192 && ip[1] == 168)
                                ) {
                                        zval_dtor(value);
-                                       ZVAL_BOOL(value, 0);
+                                       ZVAL_NULL(value);
                                        return;
                                }
                        }
@@ -812,7 +812,7 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
                                        (ip[0] >= 224 && ip[0] <= 255)
                                ) {
                                        zval_dtor(value);
-                                       ZVAL_BOOL(value, 0);
+                                       ZVAL_NULL(value);
                                        return;
                                }
                        }
@@ -824,7 +824,7 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
                                res = _php_filter_validate_ipv6_(str TSRMLS_CC);
                                if (res < 1) {
                                        zval_dtor(value);
-                                       ZVAL_BOOL(value, 0);
+                                       ZVAL_NULL(value);
                                        return;
                                }
                        }
index 1a385ff373d29451a996fc3d6f4ce4fb40f233e6..0de3467cec5688fe376a22c141ca6ffefb0203d5 100644 (file)
@@ -21,13 +21,13 @@ array(7) {
   [1]=>
   int(1)
   [2]=>
-  bool(false)
+  NULL
   [3]=>
   int(-23234)
   [4]=>
-  bool(false)
+  NULL
   [5]=>
-  bool(false)
+  NULL
   [6]=>
   array(0) {
   }
@@ -38,13 +38,13 @@ array(7) {
   [1]=>
   float(1.7)
   [2]=>
-  bool(false)
+  NULL
   [3]=>
   float(-23234.123)
   [4]=>
-  bool(false)
+  NULL
   [5]=>
-  bool(false)
+  NULL
   [6]=>
   array(0) {
   }
index 55c71e3535f13a6323733d7b38b414f949a36b6e..d88145a6e746bfc7fb0d5781f52401e95b0701bd 100644 (file)
@@ -49,24 +49,24 @@ int(255)
 int(7)
 int(16711680)
 int(438)
-bool(false)
+NULL
 int(0)
 int(0)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
 int(6)
-bool(false)
-bool(false)
+NULL
+NULL
 int(-1)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
 Done
index ffee527f00099d3c1ab1180e47ec76ff9cfa5857..f12eac0ed4eea3ac862e619f20d0bd0ac23b0cf9 100644 (file)
@@ -34,7 +34,7 @@ echo "Done\n";
 ?>
 --EXPECTF--    
 bool(false)
-bool(false)
+NULL
 bool(false)
 array(5) {
   [0]=>
@@ -48,7 +48,7 @@ array(5) {
   [4]=>
   array(2) {
     [0]=>
-    bool(false)
+    NULL
     [1]=>
     bool(false)
   }
@@ -61,7 +61,7 @@ bool(true)
 bool(false)
 bool(true)
 bool(false)
-bool(false)
+NULL
 bool(false)
 bool(false)
 bool(false)
index 682ed19e4dce79dfeed25c53daa4902a4a7ec2c7..67c506f3d0386275c92e45a84f69ed14d10a0ae2 100644 (file)
@@ -52,20 +52,20 @@ string(18) "file:///tmp/test.c"
 string(26) "ftp://ftp.example.com/tmp/"
 string(11) "/tmp/test.c"
 string(1) "/"
-bool(false)
+NULL
 string(6) "http:/"
 string(5) "http:"
 string(4) "http"
 string(0) ""
 string(2) "-1"
 bool(false)
-bool(false)
+NULL
 string(10) "http://qwe"
-bool(false)
-bool(false)
+NULL
+NULL
 string(22) "http://www.example.com"
-bool(false)
+NULL
 string(42) "http://www.example.com/path/at/the/server/"
-bool(false)
+NULL
 string(40) "http://www.example.com/index.php?a=b&c=d"
 Done
index 67921f0188bf01e11f0a27ad98a7419bc90d657a..d1c959c119b0b642c8670ca58d7d1cc7f4523529 100644 (file)
@@ -22,11 +22,11 @@ echo "Done\n";
 --EXPECT--     
 string(5) "a@b.c"
 string(17) "abuse@example.com"
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
 string(57) "QWERTYUIOPASDFGHJKLZXCVBNM@QWERTYUIOPASDFGHJKLZXCVBNM.NET"
 Done
index 661dfe40ffdba555606d6d147ecb917f04207946..2b2d9de889fa7f81bf44fb96f169c676651a4afa 100644 (file)
@@ -14,11 +14,11 @@ echo "Done\n";
 ?>
 --EXPECTF--    
 string(4) "data"
-bool(false)
+NULL
 string(4) "data"
-bool(false)
-bool(false)
+NULL
+NULL
 
 Warning: filter_var(): 'regexp' option missing in %s on line %d
-bool(false)
+NULL
 Done
index 7ea17b329c2b0b1d42054b089b2f6e8b0f317246..5b0b16da28818770d9400b837b5031fe86fe8e76 100644 (file)
@@ -27,24 +27,24 @@ echo "Done\n";
 ?>
 --EXPECT--     
 string(11) "192.168.0.1"
-bool(false)
+NULL
 string(3) "::1"
 string(7) "fe00::0"
-bool(false)
-bool(false)
+NULL
+NULL
 string(9) "127.0.0.1"
-bool(false)
+NULL
 string(12) "192.0.34.166"
 string(9) "127.0.0.1"
 string(9) "192.0.0.1"
 string(12) "192.0.34.166"
-bool(false)
+NULL
 string(15) "255.255.255.255"
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
+NULL
+NULL
+NULL
+NULL
+NULL
 string(3) "::1"
 string(9) "127.0.0.1"
 Done
index 712c0ac459c9218d2bd83737c81b9427f3dfb55d..e8c85c8243f7175d3ee8ded06695d7fa18977ee1 100644 (file)
@@ -12,9 +12,9 @@ var_dump(filter_var("1.1.1.1", FILTER_VALIDATE_IP));
 echo "Done\n";
 ?>
 --EXPECTF--    
-bool(false)
-bool(false)
-bool(false)
-bool(false)
+NULL
+NULL
+NULL
+NULL
 string(7) "1.1.1.1"
 Done
index 74883b8b26c6b0208a73bd175115f314ce908d7c..81dcc1c0e94dfe7bdbd0ddc4b5723a25bf1109a5 100644 (file)
@@ -45,10 +45,10 @@ float(7000)
 float(0.007)
 
 custom decimal:
-bool(false)
+NULL
 float(1.234)
 float(1.234)
 
 Warning: filter_var(): decimal separator must be one char in %s on line %d
-bool(false)
-bool(false)
+NULL
+NULL
index d6f4e846ffa000791752b1a4d3dff7426dae738e..a041786639b6cb673f4fe19fe6cf9a17c800e0ef 100644 (file)
@@ -15,7 +15,8 @@ $booleans = array(
 'False' => false,
 'faLsE' => false,
 'oFf' => false,
-'' => false
+
+'' => null
 );
 
 foreach($booleans as $val=>$exp) {
index 35d9f8950a83e150f342ce8e583f288efaf73d08..ae2ac45f8566551fd96d0504f15db1b6676e5079 100644 (file)
@@ -9,5 +9,5 @@ $var="3".chr(0)."foo";
 var_dump(filter_var($var, FILTER_VALIDATE_FLOAT));
 ?>
 --EXPECTF--    
-bool(false)
-bool(false)
+NULL
+NULL
index 14e8545c9b7f2a81ef72276d1e8a4263dafccf22..9ae9ab17bf3f331a647f2ced21507994c82479f7 100644 (file)
@@ -46,7 +46,7 @@ int(123)
 int(-123)
 int(0)
 int(123)
-bool(false)
+NULL
 
 float(-0.123)
 float(0)
@@ -54,7 +54,7 @@ float(1.23)
 float(-1.23)
 float(0)
 float(1.23)
-bool(false)
+NULL
 
 bool(true)
 bool(false)
@@ -67,5 +67,5 @@ bool(false)
 bool(true)
 bool(false)
 bool(true)
-bool(false)
-bool(false)
+NULL
+NULL