summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Joye <pajoye@php.net>2011-09-13 10:38:12 +0000
committerPierre Joye <pajoye@php.net>2011-09-13 10:38:12 +0000
commitc1db9d4a87cd8d6d7ba376f467bb5394589c4d1e (patch)
tree0b872275ef6959b106ae04eed65cf102f1ce9bf1
parent75df0499f6764bc8fef9d8a497ffd1e1c77e45cf (diff)
downloadphp-git-c1db9d4a87cd8d6d7ba376f467bb5394589c4d1e.tar.gz
- do not display the crt warnings anymore by default. It is enough to simply fail from a user land pov as it is the case on posix platforms
-rwxr-xr-xUPGRADING3
-rw-r--r--main/main.c24
2 files changed, 18 insertions, 9 deletions
diff --git a/UPGRADING b/UPGRADING
index 957b8ac867..06a64cfe43 100755
--- 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
diff --git a/main/main.c b/main/main.c
index 64100ca7a6..4a70b2b691 100644
--- a/main/main.c
+++ b/main/main.c
@@ -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