From f04cf7a587400a3cfdea6d551b82281be9b0ba7d Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 19 Feb 2019 16:53:40 +0100 Subject: [PATCH] Remove ability to import case-insensitive constants from typelibs According to commit 23a5be3[1], we remove the ability to import case- insensitive constants, but do not remove the now superfluous parameter and ini setting. [1] --- UPGRADING | 6 ++++++ ext/com_dotnet/com_com.c | 3 ++- ext/com_dotnet/com_extension.c | 6 +++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/UPGRADING b/UPGRADING index a23f6caea0..8c46bd2bf5 100644 --- a/UPGRADING +++ b/UPGRADING @@ -67,6 +67,12 @@ PHP 8.0 UPGRADE NOTES production environments, which can result in information leaks. Please ensure that display_errors=Off is used in conjunction with error logging. +- COM: + . Removed the ability to import case-insensitive constants from type + libraries. The second argument to com_load_typelib() may no longer be false; + com.autoregister_casesensitive may no longer be disabled; case-insensitive + markers in com.typelib_file are ignored. + - Date: . mktime() and gmmktime() now require at least one argument. time() can be used to get the current timestamp. diff --git a/ext/com_dotnet/com_com.c b/ext/com_dotnet/com_com.c index 6619cb4b44..5bfc425b64 100644 --- a/ext/com_dotnet/com_com.c +++ b/ext/com_dotnet/com_com.c @@ -832,7 +832,8 @@ PHP_FUNCTION(com_load_typelib) } if (!cs) { - php_error_docref(NULL, E_DEPRECATED, "Declaration of case-insensitive constants is deprecated"); + php_error_docref(NULL, E_WARNING, "Declaration of case-insensitive constants is no longer supported"); + RETURN_FALSE; } RETVAL_FALSE; diff --git a/ext/com_dotnet/com_extension.c b/ext/com_dotnet/com_extension.c index 94b6b65ee6..3aa59f3720 100644 --- a/ext/com_dotnet/com_extension.c +++ b/ext/com_dotnet/com_extension.c @@ -237,8 +237,7 @@ static PHP_INI_MH(OnTypeLibFileUpdate) modifier = php_strtok_r(NULL, "#", &strtok_buf); if (modifier != NULL) { if (!strcmp(modifier, "cis") || !strcmp(modifier, "case_insensitive")) { - php_error_docref("com.configuration", E_DEPRECATED, "Declaration of case-insensitive constants is deprecated"); - mode &= ~CONST_CS; + php_error_docref("com.configuration", E_WARNING, "Declaration of case-insensitive constants is no longer supported; #cis modifier ignored"); } } @@ -269,7 +268,8 @@ static PHP_INI_MH(OnTypeLibFileUpdate) static ZEND_INI_MH(OnAutoregisterCasesensitive) { if (!zend_ini_parse_bool(new_value)) { - php_error_docref("com.configuration", E_DEPRECATED, "Declaration of case-insensitive constants is deprecated"); + php_error_docref("com.configuration", E_WARNING, "Declaration of case-insensitive constants is no longer supported"); + return FAILURE; } return OnUpdateBool(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage); } -- 2.50.1