summaryrefslogtreecommitdiff
path: root/ext/com_dotnet/com_extension.c
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2019-02-14 18:34:47 +0100
committerChristoph M. Becker <cmbecker69@gmx.de>2019-02-15 13:07:56 +0100
commitfae22461f95dfe8153fb74a53b9c5daeec47387f (patch)
treefa11a88c59c7adc88e373e2aa3ad9823b1ce0d57 /ext/com_dotnet/com_extension.c
parentade9d5e95b879def3ce5b2b0c117ce1258c211ee (diff)
downloadphp-git-fae22461f95dfe8153fb74a53b9c5daeec47387f.tar.gz
Deprecate case-insensitive constants via typelib import
As of PHP 7.3.0, case-insensitive constants are deprecated. We catch up on this with regard to ext/com_dotnet, which allows to import constants from typelibs, by triggering a deprecation notice whenever `com_load_typelib()` is called with `$case_sensitive` being `false`, and whenever `com.autoregister_casesensitive` is set to `false`, regardless of whether there are actually constants in the typelib which would be imported.
Diffstat (limited to 'ext/com_dotnet/com_extension.c')
-rw-r--r--ext/com_dotnet/com_extension.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/ext/com_dotnet/com_extension.c b/ext/com_dotnet/com_extension.c
index e4545ec948..181f3ec0ee 100644
--- a/ext/com_dotnet/com_extension.c
+++ b/ext/com_dotnet/com_extension.c
@@ -265,11 +265,19 @@ static PHP_INI_MH(OnTypeLibFileUpdate)
return SUCCESS;
}
+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");
+ }
+ return OnUpdateBool(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage);
+}
+
PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("com.allow_dcom", "0", PHP_INI_SYSTEM, OnUpdateBool, allow_dcom, zend_com_dotnet_globals, com_dotnet_globals)
STD_PHP_INI_ENTRY("com.autoregister_verbose", "0", PHP_INI_ALL, OnUpdateBool, autoreg_verbose, zend_com_dotnet_globals, com_dotnet_globals)
STD_PHP_INI_ENTRY("com.autoregister_typelib", "0", PHP_INI_ALL, OnUpdateBool, autoreg_on, zend_com_dotnet_globals, com_dotnet_globals)
- STD_PHP_INI_ENTRY("com.autoregister_casesensitive", "1", PHP_INI_ALL, OnUpdateBool, autoreg_case_sensitive, zend_com_dotnet_globals, com_dotnet_globals)
+ STD_PHP_INI_ENTRY("com.autoregister_casesensitive", "1", PHP_INI_ALL, OnAutoregisterCasesensitive, autoreg_case_sensitive, zend_com_dotnet_globals, com_dotnet_globals)
STD_PHP_INI_ENTRY("com.code_page", "", PHP_INI_ALL, OnUpdateLong, code_page, zend_com_dotnet_globals, com_dotnet_globals)
PHP_INI_ENTRY("com.typelib_file", "", PHP_INI_SYSTEM, OnTypeLibFileUpdate)
PHP_INI_END()