]> granicus.if.org Git - php/commitdiff
- do not display the crt warnings anymore by default. It is enough to simply fail...
authorPierre Joye <pajoye@php.net>
Tue, 13 Sep 2011 10:38:12 +0000 (10:38 +0000)
committerPierre Joye <pajoye@php.net>
Tue, 13 Sep 2011 10:38:12 +0000 (10:38 +0000)
UPGRADING
main/main.c

index 957b8ac8677cc5b3a646d6e2d2c6668dab5e4c5c..06a64cfe4383bf0b9de184f6c82a16ef625e03ec 100755 (executable)
--- a/UPGRADING
+++ b/UPGRADING
@@ -363,6 +363,9 @@ UPGRADE NOTES - PHP X.Y
   three times.
 - Changed E_ALL to include E_STRICT. Recommended production value changed to 
   E_ALL & ~E_DEPRECATED & ~E_STRICT.
+- a new directive, called windows_show_crt_warning, has been introduced.
+  This directive shows the CRT warnings when enabled. These warnings were
+  displayed by default until now. It is disabled by default. 
 
 ====================
 12. Syntax additions
index 64100ca7a61e84d5016afc48eda8c73b958a1bb3..4a70b2b691fcb2e66fac08a3986dbee204712547 100644 (file)
@@ -502,6 +502,9 @@ PHP_INI_BEGIN()
        STD_PHP_INI_ENTRY("user_ini.filename",          ".user.ini",    PHP_INI_SYSTEM,         OnUpdateString,         user_ini_filename,      php_core_globals,               core_globals)
        STD_PHP_INI_ENTRY("user_ini.cache_ttl",         "300",                  PHP_INI_SYSTEM,         OnUpdateLong,           user_ini_cache_ttl,     php_core_globals,               core_globals)
        STD_PHP_INI_BOOLEAN("exit_on_timeout",          "0",            PHP_INI_ALL,            OnUpdateBool,                   exit_on_timeout,                        php_core_globals,       core_globals)
+#ifdef PHP_WIN32
+       STD_PHP_INI_BOOLEAN("windows_show_crt_warning",         "0",            PHP_INI_ALL,            OnUpdateBool,                   windows_show_crt_warning,                       php_core_globals,       core_globals)
+#endif
 PHP_INI_END()
 /* }}} */
 
@@ -1839,18 +1842,21 @@ void dummy_invalid_parameter_handler(
        int len;
 
        if (!called) {
-               called = 1;
-               if (function) {
-                       if (file) {
-                               len = _snprintf(buf, sizeof(buf)-1, "Invalid parameter detected in CRT function '%ws' (%ws:%d)", function, file, line);
+               TSRMLS_FETCH();
+               if(PG(windows_show_crt_warning)) {
+                       called = 1;
+                       if (function) {
+                               if (file) {
+                                       len = _snprintf(buf, sizeof(buf)-1, "Invalid parameter detected in CRT function '%ws' (%ws:%d)", function, file, line);
+                               } else {
+                                       len = _snprintf(buf, sizeof(buf)-1, "Invalid parameter detected in CRT function '%ws'", function);
+                               }
                        } else {
-                               len = _snprintf(buf, sizeof(buf)-1, "Invalid parameter detected in CRT function '%ws'", function);
+                               len = _snprintf(buf, sizeof(buf)-1, "Invalid CRT parameter detected (function not known)");
                        }
-               } else {
-                       len = _snprintf(buf, sizeof(buf)-1, "Invalid CRT parameters detected");
+                       zend_error(E_WARNING, "%s", buf);
+                       called = 0;
                }
-               zend_error(E_WARNING, "%s", buf);
-               called = 0;
        }
 }
 #endif