From 141908afc074022bf5009a32b2898b96d554254c Mon Sep 17 00:00:00 2001 From: Jorg Sowa Date: Fri, 7 Oct 2022 00:33:02 +0200 Subject: [PATCH 1/9] Removed unnecessary usage of CONST_CS --- Zend/zend_constants.c | 8 ++--- docs/input-filter.md | 6 ++-- ext/com_dotnet/com_com.c | 4 +-- ext/com_dotnet/com_extension.c | 2 +- ext/hash/hash.c | 2 +- ext/sodium/sodium_pwhash.c | 12 +++---- ext/standard/assert.c | 10 +++--- ext/standard/crypt.c | 14 ++++---- ext/standard/dir.c | 26 +++++++-------- ext/standard/password.c | 18 +++++------ ext/standard/string.c | 2 +- ext/standard/user_filters.c | 12 +++---- ext/xml/xml.c | 4 +-- main/main.c | 6 ++-- main/output.c | 28 ++++++++-------- main/rfc1867.c | 16 +++++----- main/streams/userspace.c | 58 +++++++++++++++++----------------- sapi/cli/php_cli.c | 2 +- win32/signal.c | 4 +-- 19 files changed, 117 insertions(+), 117 deletions(-) diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index 3fc8efed57c15..e72d7e4b686e1 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -111,10 +111,10 @@ void zend_register_standard_constants(void) { register_zend_constants_symbols(0); - REGISTER_MAIN_LONG_CONSTANT("DEBUG_BACKTRACE_PROVIDE_OBJECT", DEBUG_BACKTRACE_PROVIDE_OBJECT, CONST_PERSISTENT | CONST_CS); - REGISTER_MAIN_LONG_CONSTANT("DEBUG_BACKTRACE_IGNORE_ARGS", DEBUG_BACKTRACE_IGNORE_ARGS, CONST_PERSISTENT | CONST_CS); - REGISTER_MAIN_BOOL_CONSTANT("ZEND_THREAD_SAFE", ZTS_V, CONST_PERSISTENT | CONST_CS); - REGISTER_MAIN_BOOL_CONSTANT("ZEND_DEBUG_BUILD", ZEND_DEBUG, CONST_PERSISTENT | CONST_CS); + REGISTER_MAIN_LONG_CONSTANT("DEBUG_BACKTRACE_PROVIDE_OBJECT", DEBUG_BACKTRACE_PROVIDE_OBJECT, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("DEBUG_BACKTRACE_IGNORE_ARGS", DEBUG_BACKTRACE_IGNORE_ARGS, CONST_PERSISTENT); + REGISTER_MAIN_BOOL_CONSTANT("ZEND_THREAD_SAFE", ZTS_V, CONST_PERSISTENT); + REGISTER_MAIN_BOOL_CONSTANT("ZEND_DEBUG_BUILD", ZEND_DEBUG, CONST_PERSISTENT); /* Special constants true/false/null. */ REGISTER_MAIN_BOOL_CONSTANT("TRUE", 1, CONST_PERSISTENT); diff --git a/docs/input-filter.md b/docs/input-filter.md index 29de4380fd8cc..b4df9a6e77dfb 100644 --- a/docs/input-filter.md +++ b/docs/input-filter.md @@ -54,9 +54,9 @@ PHP_MINIT_FUNCTION(my_input_filter) { ZEND_INIT_MODULE_GLOBALS(my_input_filter, php_my_input_filter_init_globals, NULL); - REGISTER_LONG_CONSTANT("POST", PARSE_POST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GET", PARSE_GET, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("COOKIE", PARSE_COOKIE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("POST", PARSE_POST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GET", PARSE_GET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("COOKIE", PARSE_COOKIE, CONST_PERSISTENT); sapi_register_input_filter(my_sapi_input_filter); return SUCCESS; diff --git a/ext/com_dotnet/com_com.c b/ext/com_dotnet/com_com.c index c068f642f44a3..c10ea46bbcf03 100644 --- a/ext/com_dotnet/com_com.c +++ b/ext/com_dotnet/com_com.c @@ -39,7 +39,7 @@ PHP_METHOD(com, __construct) CLSID clsid; CLSCTX ctx = CLSCTX_SERVER; HRESULT res = E_FAIL; - int mode = COMG(autoreg_case_sensitive) ? CONST_CS : 0; + int mode = 0; ITypeLib *TL = NULL; COSERVERINFO info; COAUTHIDENTITY authid = {0}; @@ -817,7 +817,7 @@ PHP_FUNCTION(com_load_typelib) php_com_initialize(); pTL = php_com_load_typelib_via_cache(name, codepage); if (pTL) { - if (php_com_import_typelib(pTL, cs ? CONST_CS : 0, codepage) == SUCCESS) { + if (php_com_import_typelib(pTL, 0, codepage) == SUCCESS) { RETVAL_TRUE; } diff --git a/ext/com_dotnet/com_extension.c b/ext/com_dotnet/com_extension.c index 7d7dfd536d980..c07e9062e3454 100644 --- a/ext/com_dotnet/com_extension.c +++ b/ext/com_dotnet/com_extension.c @@ -101,7 +101,7 @@ static PHP_INI_MH(OnTypeLibFileUpdate) ITypeLib *pTL; char *typelib_name; char *modifier, *ptr; - int mode = CONST_CS | CONST_PERSISTENT; /* CONST_PERSISTENT is ok here */ + int mode = CONST_PERSISTENT; /* CONST_PERSISTENT is ok here */ if (typelib_name_buffer[0]==';') { continue; diff --git a/ext/hash/hash.c b/ext/hash/hash.c index ce665a57443f1..27578d27c6965 100644 --- a/ext/hash/hash.c +++ b/ext/hash/hash.c @@ -1186,7 +1186,7 @@ static void mhash_init(INIT_FUNC_ARGS) } len = slprintf(buf, 127, "MHASH_%s", algorithm.mhash_name); - zend_register_long_constant(buf, len, algorithm.value, CONST_CS | CONST_PERSISTENT, module_number); + zend_register_long_constant(buf, len, algorithm.value, CONST_PERSISTENT, module_number); } /* TODO: this cause #69823 zend_register_internal_module(&mhash_module_entry); */ diff --git a/ext/sodium/sodium_pwhash.c b/ext/sodium/sodium_pwhash.c index 799a19a73ffbb..8eaac64207f5f 100644 --- a/ext/sodium/sodium_pwhash.c +++ b/ext/sodium/sodium_pwhash.c @@ -183,18 +183,18 @@ PHP_MINIT_FUNCTION(sodium_password_hash) /* {{{ */ { if (FAILURE == php_password_algo_register("argon2i", &sodium_algo_argon2i)) { return FAILURE; } - REGISTER_STRING_CONSTANT("PASSWORD_ARGON2I", "argon2i", CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PASSWORD_ARGON2I", "argon2i", CONST_PERSISTENT); if (FAILURE == php_password_algo_register("argon2id", &sodium_algo_argon2id)) { return FAILURE; } - REGISTER_STRING_CONSTANT("PASSWORD_ARGON2ID", "argon2id", CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PASSWORD_ARGON2ID", "argon2id", CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_DEFAULT_MEMORY_COST", PHP_SODIUM_PWHASH_MEMLIMIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_DEFAULT_TIME_COST", PHP_SODIUM_PWHASH_OPSLIMIT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_DEFAULT_THREADS", PHP_SODIUM_PWHASH_THREADS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_DEFAULT_MEMORY_COST", PHP_SODIUM_PWHASH_MEMLIMIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_DEFAULT_TIME_COST", PHP_SODIUM_PWHASH_OPSLIMIT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_DEFAULT_THREADS", PHP_SODIUM_PWHASH_THREADS, CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("PASSWORD_ARGON2_PROVIDER", "sodium", CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PASSWORD_ARGON2_PROVIDER", "sodium", CONST_PERSISTENT); return SUCCESS; } diff --git a/ext/standard/assert.c b/ext/standard/assert.c index 1c5108b94e5b2..ef4b604591ab3 100644 --- a/ext/standard/assert.c +++ b/ext/standard/assert.c @@ -93,11 +93,11 @@ PHP_MINIT_FUNCTION(assert) /* {{{ */ REGISTER_INI_ENTRIES(); - REGISTER_LONG_CONSTANT("ASSERT_ACTIVE", ASSERT_ACTIVE, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ASSERT_CALLBACK", ASSERT_CALLBACK, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ASSERT_BAIL", ASSERT_BAIL, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ASSERT_WARNING", ASSERT_WARNING, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ASSERT_EXCEPTION", ASSERT_EXCEPTION, CONST_CS|CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ASSERT_ACTIVE", ASSERT_ACTIVE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ASSERT_CALLBACK", ASSERT_CALLBACK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ASSERT_BAIL", ASSERT_BAIL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ASSERT_WARNING", ASSERT_WARNING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ASSERT_EXCEPTION", ASSERT_EXCEPTION, CONST_PERSISTENT); return SUCCESS; } diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c index db3a1d33c3f05..8591e822ddbb0 100644 --- a/ext/standard/crypt.c +++ b/ext/standard/crypt.c @@ -53,13 +53,13 @@ PHP_MINIT_FUNCTION(crypt) /* {{{ */ { - REGISTER_LONG_CONSTANT("CRYPT_SALT_LENGTH", PHP_MAX_SALT_LEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CRYPT_STD_DES", 1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CRYPT_EXT_DES", 1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CRYPT_MD5", 1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CRYPT_BLOWFISH", 1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CRYPT_SHA256", 1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CRYPT_SHA512", 1, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CRYPT_SALT_LENGTH", PHP_MAX_SALT_LEN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CRYPT_STD_DES", 1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CRYPT_EXT_DES", 1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CRYPT_MD5", 1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CRYPT_BLOWFISH", 1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CRYPT_SHA256", 1, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CRYPT_SHA512", 1, CONST_PERSISTENT); #if PHP_USE_PHP_CRYPT_R php_init_crypt_r(); diff --git a/ext/standard/dir.c b/ext/standard/dir.c index 959144a82ff08..863ce00588a72 100644 --- a/ext/standard/dir.c +++ b/ext/standard/dir.c @@ -125,50 +125,50 @@ PHP_MINIT_FUNCTION(dir) dirsep_str[0] = DEFAULT_SLASH; dirsep_str[1] = '\0'; - REGISTER_STRING_CONSTANT("DIRECTORY_SEPARATOR", dirsep_str, CONST_CS|CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DIRECTORY_SEPARATOR", dirsep_str, CONST_PERSISTENT); pathsep_str[0] = ZEND_PATHS_SEPARATOR; pathsep_str[1] = '\0'; - REGISTER_STRING_CONSTANT("PATH_SEPARATOR", pathsep_str, CONST_CS|CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PATH_SEPARATOR", pathsep_str, CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SCANDIR_SORT_ASCENDING", PHP_SCANDIR_SORT_ASCENDING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SCANDIR_SORT_DESCENDING", PHP_SCANDIR_SORT_DESCENDING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SCANDIR_SORT_NONE", PHP_SCANDIR_SORT_NONE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SCANDIR_SORT_ASCENDING", PHP_SCANDIR_SORT_ASCENDING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SCANDIR_SORT_DESCENDING", PHP_SCANDIR_SORT_DESCENDING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SCANDIR_SORT_NONE", PHP_SCANDIR_SORT_NONE, CONST_PERSISTENT); #ifdef HAVE_GLOB #ifdef GLOB_BRACE - REGISTER_LONG_CONSTANT("GLOB_BRACE", GLOB_BRACE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GLOB_BRACE", GLOB_BRACE, CONST_PERSISTENT); #else # define GLOB_BRACE 0 #endif #ifdef GLOB_MARK - REGISTER_LONG_CONSTANT("GLOB_MARK", GLOB_MARK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GLOB_MARK", GLOB_MARK, CONST_PERSISTENT); #else # define GLOB_MARK 0 #endif #ifdef GLOB_NOSORT - REGISTER_LONG_CONSTANT("GLOB_NOSORT", GLOB_NOSORT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GLOB_NOSORT", GLOB_NOSORT, CONST_PERSISTENT); #else # define GLOB_NOSORT 0 #endif #ifdef GLOB_NOCHECK - REGISTER_LONG_CONSTANT("GLOB_NOCHECK", GLOB_NOCHECK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GLOB_NOCHECK", GLOB_NOCHECK, CONST_PERSISTENT); #else # define GLOB_NOCHECK 0 #endif #ifdef GLOB_NOESCAPE - REGISTER_LONG_CONSTANT("GLOB_NOESCAPE", GLOB_NOESCAPE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GLOB_NOESCAPE", GLOB_NOESCAPE, CONST_PERSISTENT); #else # define GLOB_NOESCAPE 0 #endif #ifdef GLOB_ERR - REGISTER_LONG_CONSTANT("GLOB_ERR", GLOB_ERR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GLOB_ERR", GLOB_ERR, CONST_PERSISTENT); #else # define GLOB_ERR 0 #endif @@ -184,8 +184,8 @@ PHP_MINIT_FUNCTION(dir) /* This is used for checking validity of passed flags (passing invalid flags causes segfault in glob()!! */ #define GLOB_AVAILABLE_FLAGS (0 | GLOB_BRACE | GLOB_MARK | GLOB_NOSORT | GLOB_NOCHECK | GLOB_NOESCAPE | GLOB_ERR | GLOB_ONLYDIR) - REGISTER_LONG_CONSTANT("GLOB_ONLYDIR", GLOB_ONLYDIR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("GLOB_AVAILABLE_FLAGS", GLOB_AVAILABLE_FLAGS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GLOB_ONLYDIR", GLOB_ONLYDIR, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("GLOB_AVAILABLE_FLAGS", GLOB_AVAILABLE_FLAGS, CONST_PERSISTENT); #endif /* HAVE_GLOB */ diff --git a/ext/standard/password.c b/ext/standard/password.c index 81117f17b5bcd..503e72fbbf366 100644 --- a/ext/standard/password.c +++ b/ext/standard/password.c @@ -416,32 +416,32 @@ const php_password_algo php_password_algo_argon2id = { PHP_MINIT_FUNCTION(password) /* {{{ */ { zend_hash_init(&php_password_algos, 4, NULL, ZVAL_PTR_DTOR, 1); - REGISTER_STRING_CONSTANT("PASSWORD_DEFAULT", "2y", CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PASSWORD_DEFAULT", "2y", CONST_PERSISTENT); if (FAILURE == php_password_algo_register("2y", &php_password_algo_bcrypt)) { return FAILURE; } - REGISTER_STRING_CONSTANT("PASSWORD_BCRYPT", "2y", CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PASSWORD_BCRYPT", "2y", CONST_PERSISTENT); #ifdef HAVE_ARGON2LIB if (FAILURE == php_password_algo_register("argon2i", &php_password_algo_argon2i)) { return FAILURE; } - REGISTER_STRING_CONSTANT("PASSWORD_ARGON2I", "argon2i", CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PASSWORD_ARGON2I", "argon2i", CONST_PERSISTENT); if (FAILURE == php_password_algo_register("argon2id", &php_password_algo_argon2id)) { return FAILURE; } - REGISTER_STRING_CONSTANT("PASSWORD_ARGON2ID", "argon2id", CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PASSWORD_ARGON2ID", "argon2id", CONST_PERSISTENT); #endif - REGISTER_LONG_CONSTANT("PASSWORD_BCRYPT_DEFAULT_COST", PHP_PASSWORD_BCRYPT_COST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PASSWORD_BCRYPT_DEFAULT_COST", PHP_PASSWORD_BCRYPT_COST, CONST_PERSISTENT); #ifdef HAVE_ARGON2LIB - REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_DEFAULT_MEMORY_COST", PHP_PASSWORD_ARGON2_MEMORY_COST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_DEFAULT_TIME_COST", PHP_PASSWORD_ARGON2_TIME_COST, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_DEFAULT_THREADS", PHP_PASSWORD_ARGON2_THREADS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_DEFAULT_MEMORY_COST", PHP_PASSWORD_ARGON2_MEMORY_COST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_DEFAULT_TIME_COST", PHP_PASSWORD_ARGON2_TIME_COST, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_DEFAULT_THREADS", PHP_PASSWORD_ARGON2_THREADS, CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("PASSWORD_ARGON2_PROVIDER", "standard", CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PASSWORD_ARGON2_PROVIDER", "standard", CONST_PERSISTENT); #endif return SUCCESS; diff --git a/ext/standard/string.c b/ext/standard/string.c index a47687667a470..c4cf56e67208d 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -282,7 +282,7 @@ PHP_FUNCTION(strcspn) #ifdef HAVE_NL_LANGINFO PHP_MINIT_FUNCTION(nl_langinfo) { -#define REGISTER_NL_LANGINFO_CONSTANT(x) REGISTER_LONG_CONSTANT(#x, x, CONST_CS | CONST_PERSISTENT) +#define REGISTER_NL_LANGINFO_CONSTANT(x) REGISTER_LONG_CONSTANT(#x, x, CONST_PERSISTENT) #ifdef ABDAY_1 REGISTER_NL_LANGINFO_CONSTANT(ABDAY_1); REGISTER_NL_LANGINFO_CONSTANT(ABDAY_2); diff --git a/ext/standard/user_filters.c b/ext/standard/user_filters.c index dcbfc381d295f..c9883340e037b 100644 --- a/ext/standard/user_filters.c +++ b/ext/standard/user_filters.c @@ -86,13 +86,13 @@ PHP_MINIT_FUNCTION(user_filters) return FAILURE; } - REGISTER_LONG_CONSTANT("PSFS_PASS_ON", PSFS_PASS_ON, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PSFS_FEED_ME", PSFS_FEED_ME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PSFS_ERR_FATAL", PSFS_ERR_FATAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PSFS_PASS_ON", PSFS_PASS_ON, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PSFS_FEED_ME", PSFS_FEED_ME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PSFS_ERR_FATAL", PSFS_ERR_FATAL, CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PSFS_FLAG_NORMAL", PSFS_FLAG_NORMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PSFS_FLAG_FLUSH_INC", PSFS_FLAG_FLUSH_INC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PSFS_FLAG_FLUSH_CLOSE", PSFS_FLAG_FLUSH_CLOSE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PSFS_FLAG_NORMAL", PSFS_FLAG_NORMAL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PSFS_FLAG_FLUSH_INC", PSFS_FLAG_FLUSH_INC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PSFS_FLAG_FLUSH_CLOSE", PSFS_FLAG_FLUSH_CLOSE, CONST_PERSISTENT); return SUCCESS; } diff --git a/ext/xml/xml.c b/ext/xml/xml.c index 5dbb91c26f8df..976e129484e2b 100644 --- a/ext/xml/xml.c +++ b/ext/xml/xml.c @@ -265,9 +265,9 @@ PHP_MINIT_FUNCTION(xml) php_xml_mem_hdlrs.free_fcn = php_xml_free_wrapper; #ifdef LIBXML_EXPAT_COMPAT - REGISTER_STRING_CONSTANT("XML_SAX_IMPL", "libxml", CONST_CS|CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("XML_SAX_IMPL", "libxml", CONST_PERSISTENT); #else - REGISTER_STRING_CONSTANT("XML_SAX_IMPL", "expat", CONST_CS|CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("XML_SAX_IMPL", "expat", CONST_PERSISTENT); #endif return SUCCESS; diff --git a/main/main.c b/main/main.c index cdfa2476f0448..2d1534a795c06 100644 --- a/main/main.c +++ b/main/main.c @@ -2112,13 +2112,13 @@ zend_result php_module_startup(sapi_module_struct *sf, zend_module_entry *additi register_main_symbols(module_number); - REGISTER_MAIN_STRINGL_CONSTANT("PHP_SAPI", sapi_module.name, strlen(sapi_module.name), CONST_PERSISTENT | CONST_CS | CONST_NO_FILE_CACHE); + REGISTER_MAIN_STRINGL_CONSTANT("PHP_SAPI", sapi_module.name, strlen(sapi_module.name), CONST_PERSISTENT | CONST_NO_FILE_CACHE); php_binary_init(); if (PG(php_binary)) { - REGISTER_MAIN_STRINGL_CONSTANT("PHP_BINARY", PG(php_binary), strlen(PG(php_binary)), CONST_PERSISTENT | CONST_CS | CONST_NO_FILE_CACHE); + REGISTER_MAIN_STRINGL_CONSTANT("PHP_BINARY", PG(php_binary), strlen(PG(php_binary)), CONST_PERSISTENT | CONST_NO_FILE_CACHE); } else { - REGISTER_MAIN_STRINGL_CONSTANT("PHP_BINARY", "", 0, CONST_PERSISTENT | CONST_CS | CONST_NO_FILE_CACHE); + REGISTER_MAIN_STRINGL_CONSTANT("PHP_BINARY", "", 0, CONST_PERSISTENT | CONST_NO_FILE_CACHE); } php_output_register_constants(); diff --git a/main/output.c b/main/output.c index 7b5bc49dab87e..1029424628adc 100644 --- a/main/output.c +++ b/main/output.c @@ -205,20 +205,20 @@ PHPAPI void php_output_deactivate(void) /* {{{ void php_output_register_constants() */ PHPAPI void php_output_register_constants(void) { - REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_START", PHP_OUTPUT_HANDLER_START, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_WRITE", PHP_OUTPUT_HANDLER_WRITE, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_FLUSH", PHP_OUTPUT_HANDLER_FLUSH, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_CLEAN", PHP_OUTPUT_HANDLER_CLEAN, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_FINAL", PHP_OUTPUT_HANDLER_FINAL, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_CONT", PHP_OUTPUT_HANDLER_WRITE, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_END", PHP_OUTPUT_HANDLER_FINAL, CONST_CS | CONST_PERSISTENT); - - REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_CLEANABLE", PHP_OUTPUT_HANDLER_CLEANABLE, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_FLUSHABLE", PHP_OUTPUT_HANDLER_FLUSHABLE, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_REMOVABLE", PHP_OUTPUT_HANDLER_REMOVABLE, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_STDFLAGS", PHP_OUTPUT_HANDLER_STDFLAGS, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_STARTED", PHP_OUTPUT_HANDLER_STARTED, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_DISABLED", PHP_OUTPUT_HANDLER_DISABLED, CONST_CS | CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_START", PHP_OUTPUT_HANDLER_START, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_WRITE", PHP_OUTPUT_HANDLER_WRITE, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_FLUSH", PHP_OUTPUT_HANDLER_FLUSH, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_CLEAN", PHP_OUTPUT_HANDLER_CLEAN, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_FINAL", PHP_OUTPUT_HANDLER_FINAL, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_CONT", PHP_OUTPUT_HANDLER_WRITE, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_END", PHP_OUTPUT_HANDLER_FINAL, CONST_PERSISTENT); + + REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_CLEANABLE", PHP_OUTPUT_HANDLER_CLEANABLE, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_FLUSHABLE", PHP_OUTPUT_HANDLER_FLUSHABLE, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_REMOVABLE", PHP_OUTPUT_HANDLER_REMOVABLE, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_STDFLAGS", PHP_OUTPUT_HANDLER_STDFLAGS, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_STARTED", PHP_OUTPUT_HANDLER_STARTED, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("PHP_OUTPUT_HANDLER_DISABLED", PHP_OUTPUT_HANDLER_DISABLED, CONST_PERSISTENT); } /* }}} */ diff --git a/main/rfc1867.c b/main/rfc1867.c index a242e04bf3f11..c8c073b68046c 100644 --- a/main/rfc1867.c +++ b/main/rfc1867.c @@ -71,14 +71,14 @@ static void safe_php_register_variable(char *var, char *strval, size_t val_len, void php_rfc1867_register_constants(void) /* {{{ */ { - REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_OK", UPLOAD_ERROR_OK, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_INI_SIZE", UPLOAD_ERROR_A, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_FORM_SIZE", UPLOAD_ERROR_B, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_PARTIAL", UPLOAD_ERROR_C, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_NO_FILE", UPLOAD_ERROR_D, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_NO_TMP_DIR", UPLOAD_ERROR_E, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_CANT_WRITE", UPLOAD_ERROR_F, CONST_CS | CONST_PERSISTENT); - REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_EXTENSION", UPLOAD_ERROR_X, CONST_CS | CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_OK", UPLOAD_ERROR_OK, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_INI_SIZE", UPLOAD_ERROR_A, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_FORM_SIZE", UPLOAD_ERROR_B, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_PARTIAL", UPLOAD_ERROR_C, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_NO_FILE", UPLOAD_ERROR_D, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_NO_TMP_DIR", UPLOAD_ERROR_E, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_CANT_WRITE", UPLOAD_ERROR_F, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("UPLOAD_ERR_EXTENSION", UPLOAD_ERROR_X, CONST_PERSISTENT); } /* }}} */ diff --git a/main/streams/userspace.c b/main/streams/userspace.c index 1b113423d7140..0939e56e6400d 100644 --- a/main/streams/userspace.c +++ b/main/streams/userspace.c @@ -82,35 +82,35 @@ PHP_MINIT_FUNCTION(user_streams) if (le_protocols == FAILURE) return FAILURE; - REGISTER_LONG_CONSTANT("STREAM_USE_PATH", USE_PATH, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_IGNORE_URL", IGNORE_URL, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_REPORT_ERRORS", REPORT_ERRORS, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_MUST_SEEK", STREAM_MUST_SEEK, CONST_CS|CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_URL_STAT_LINK", PHP_STREAM_URL_STAT_LINK, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_URL_STAT_QUIET", PHP_STREAM_URL_STAT_QUIET, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_MKDIR_RECURSIVE", PHP_STREAM_MKDIR_RECURSIVE, CONST_CS|CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_IS_URL", PHP_STREAM_IS_URL, CONST_CS|CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_OPTION_BLOCKING", PHP_STREAM_OPTION_BLOCKING, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_OPTION_READ_TIMEOUT", PHP_STREAM_OPTION_READ_TIMEOUT, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_OPTION_READ_BUFFER", PHP_STREAM_OPTION_READ_BUFFER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_OPTION_WRITE_BUFFER", PHP_STREAM_OPTION_WRITE_BUFFER, CONST_CS|CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_BUFFER_NONE", PHP_STREAM_BUFFER_NONE, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_BUFFER_LINE", PHP_STREAM_BUFFER_LINE, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_BUFFER_FULL", PHP_STREAM_BUFFER_FULL, CONST_CS|CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_CAST_AS_STREAM", PHP_STREAM_AS_STDIO, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_CAST_FOR_SELECT", PHP_STREAM_AS_FD_FOR_SELECT, CONST_CS|CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("STREAM_META_TOUCH", PHP_STREAM_META_TOUCH, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_META_OWNER", PHP_STREAM_META_OWNER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_META_OWNER_NAME", PHP_STREAM_META_OWNER_NAME, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_META_GROUP", PHP_STREAM_META_GROUP, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_META_GROUP_NAME", PHP_STREAM_META_GROUP_NAME, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("STREAM_META_ACCESS", PHP_STREAM_META_ACCESS, CONST_CS|CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_USE_PATH", USE_PATH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_IGNORE_URL", IGNORE_URL, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_REPORT_ERRORS", REPORT_ERRORS, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_MUST_SEEK", STREAM_MUST_SEEK, CONST_PERSISTENT); + + REGISTER_LONG_CONSTANT("STREAM_URL_STAT_LINK", PHP_STREAM_URL_STAT_LINK, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_URL_STAT_QUIET", PHP_STREAM_URL_STAT_QUIET, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_MKDIR_RECURSIVE", PHP_STREAM_MKDIR_RECURSIVE, CONST_PERSISTENT); + + REGISTER_LONG_CONSTANT("STREAM_IS_URL", PHP_STREAM_IS_URL, CONST_PERSISTENT); + + REGISTER_LONG_CONSTANT("STREAM_OPTION_BLOCKING", PHP_STREAM_OPTION_BLOCKING, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_OPTION_READ_TIMEOUT", PHP_STREAM_OPTION_READ_TIMEOUT, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_OPTION_READ_BUFFER", PHP_STREAM_OPTION_READ_BUFFER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_OPTION_WRITE_BUFFER", PHP_STREAM_OPTION_WRITE_BUFFER, CONST_PERSISTENT); + + REGISTER_LONG_CONSTANT("STREAM_BUFFER_NONE", PHP_STREAM_BUFFER_NONE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_BUFFER_LINE", PHP_STREAM_BUFFER_LINE, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_BUFFER_FULL", PHP_STREAM_BUFFER_FULL, CONST_PERSISTENT); + + REGISTER_LONG_CONSTANT("STREAM_CAST_AS_STREAM", PHP_STREAM_AS_STDIO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_CAST_FOR_SELECT", PHP_STREAM_AS_FD_FOR_SELECT, CONST_PERSISTENT); + + REGISTER_LONG_CONSTANT("STREAM_META_TOUCH", PHP_STREAM_META_TOUCH, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_META_OWNER", PHP_STREAM_META_OWNER, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_META_OWNER_NAME", PHP_STREAM_META_OWNER_NAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_META_GROUP", PHP_STREAM_META_GROUP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_META_GROUP_NAME", PHP_STREAM_META_GROUP_NAME, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("STREAM_META_ACCESS", PHP_STREAM_META_ACCESS, CONST_PERSISTENT); return SUCCESS; } diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c index 9830d84a0afb0..519c16f32216f 100644 --- a/sapi/cli/php_cli.c +++ b/sapi/cli/php_cli.c @@ -536,7 +536,7 @@ static void cli_register_file_handles(void) s_out = php_stream_open_wrapper_ex("php://stdout", "wb", 0, NULL, sc_out); s_err = php_stream_open_wrapper_ex("php://stderr", "wb", 0, NULL, sc_err); - /* Release stream resources, but don't free the underlying handles. Othewrise, + /* Release stream resources, but don't free the underlying handles. Otherwise, * extensions which write to stderr or company during mshutdown/gshutdown * won't have the expected functionality. */ diff --git a/win32/signal.c b/win32/signal.c index 88f975ab644bf..1207fe1fc092f 100644 --- a/win32/signal.c +++ b/win32/signal.c @@ -55,8 +55,8 @@ PHP_WINUTIL_API void php_win32_signal_ctrl_handler_init(void) vm_interrupt_flag = &EG(vm_interrupt); ZVAL_UNDEF(&ctrl_handler); - REGISTER_MAIN_LONG_CONSTANT("PHP_WINDOWS_EVENT_CTRL_C", CTRL_C_EVENT, CONST_PERSISTENT | CONST_CS); - REGISTER_MAIN_LONG_CONSTANT("PHP_WINDOWS_EVENT_CTRL_BREAK", CTRL_BREAK_EVENT, CONST_PERSISTENT | CONST_CS); + REGISTER_MAIN_LONG_CONSTANT("PHP_WINDOWS_EVENT_CTRL_C", CTRL_C_EVENT, CONST_PERSISTENT); + REGISTER_MAIN_LONG_CONSTANT("PHP_WINDOWS_EVENT_CTRL_BREAK", CTRL_BREAK_EVENT, CONST_PERSISTENT); }/*}}}*/ PHP_WINUTIL_API void php_win32_signal_ctrl_handler_shutdown(void) From bf79375df866aeadfdc82501d0b80ba14379d1bf Mon Sep 17 00:00:00 2001 From: Jorg Sowa Date: Mon, 10 Oct 2022 20:38:00 +0200 Subject: [PATCH 2/9] Inline mode value --- ext/com_dotnet/com_com.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ext/com_dotnet/com_com.c b/ext/com_dotnet/com_com.c index c10ea46bbcf03..e42f30002093c 100644 --- a/ext/com_dotnet/com_com.c +++ b/ext/com_dotnet/com_com.c @@ -39,7 +39,6 @@ PHP_METHOD(com, __construct) CLSID clsid; CLSCTX ctx = CLSCTX_SERVER; HRESULT res = E_FAIL; - int mode = 0; ITypeLib *TL = NULL; COSERVERINFO info; COAUTHIDENTITY authid = {0}; @@ -235,7 +234,7 @@ PHP_METHOD(com, __construct) if (TL) { if (COMG(autoreg_on)) { - php_com_import_typelib(TL, mode, obj->code_page); + php_com_import_typelib(TL, 0, obj->code_page); } /* cross your fingers... there is no guarantee that this ITypeInfo @@ -254,7 +253,7 @@ PHP_METHOD(com, __construct) zend_string *typelib_str = php_com_olestring_to_string(name, obj->code_page); if (NULL != php_com_cache_typelib(TL, ZSTR_VAL(typelib_str), ZSTR_LEN(typelib_str))) { - php_com_import_typelib(TL, mode, obj->code_page); + php_com_import_typelib(TL, 0, obj->code_page); /* add a reference for the hash */ ITypeLib_AddRef(TL); @@ -262,7 +261,7 @@ PHP_METHOD(com, __construct) zend_string_release_ex(typelib_str, /* persistent */ false); } else { /* try it anyway */ - php_com_import_typelib(TL, mode, obj->code_page); + php_com_import_typelib(TL, 0, obj->code_page); } ITypeLib_Release(TL); From f94327167cb2c37f2f4c6eba2480472b3aa06eca Mon Sep 17 00:00:00 2001 From: Jorg Sowa Date: Thu, 13 Oct 2022 23:44:16 +0200 Subject: [PATCH 3/9] Removed usage of CONST_CS --- Zend/zend_builtin_functions.c | 2 +- Zend/zend_compile.c | 2 +- Zend/zend_vm_def.h | 2 +- Zend/zend_vm_execute.h | 2 +- ext/opcache/zend_accelerator_util_funcs.c | 2 +- sapi/cli/php_cli.c | 8 ++++---- sapi/phpdbg/phpdbg.c | 6 +++--- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index 7958f44a4d906..b3103393b833d 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -510,7 +510,7 @@ ZEND_FUNCTION(define) register_constant: /* non persistent */ - ZEND_CONSTANT_SET_FLAGS(&c, CONST_CS, PHP_USER_CONSTANT); + ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); c.name = zend_string_copy(name); if (zend_register_constant(&c) == SUCCESS) { RETURN_TRUE; diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index c5a8d4fa04678..e8c3eb8adf12c 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -8294,7 +8294,7 @@ static void zend_compile_halt_compiler(zend_ast *ast) /* {{{ */ name = zend_mangle_property_name(const_name, sizeof(const_name) - 1, ZSTR_VAL(filename), ZSTR_LEN(filename), 0); - zend_register_long_constant(ZSTR_VAL(name), ZSTR_LEN(name), offset, CONST_CS, 0); + zend_register_long_constant(ZSTR_VAL(name), ZSTR_LEN(name), offset, 0, 0); zend_string_release_ex(name, 0); } /* }}} */ diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index cebf44282909d..4186e00069bbd 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -8026,7 +8026,7 @@ ZEND_VM_HANDLER(143, ZEND_DECLARE_CONST, CONST, CONST) } } /* non persistent, case sensitive */ - ZEND_CONSTANT_SET_FLAGS(&c, CONST_CS, PHP_USER_CONSTANT); + ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); c.name = zend_string_copy(Z_STR_P(name)); if (zend_register_constant(&c) == FAILURE) { diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index f51e628d27361..208b579b1e4ce 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -7519,7 +7519,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DECLARE_CONST_SPEC_CONST_CONST } } /* non persistent, case sensitive */ - ZEND_CONSTANT_SET_FLAGS(&c, CONST_CS, PHP_USER_CONSTANT); + ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); c.name = zend_string_copy(Z_STR_P(name)); if (zend_register_constant(&c) == FAILURE) { diff --git a/ext/opcache/zend_accelerator_util_funcs.c b/ext/opcache/zend_accelerator_util_funcs.c index 9a64f92dab6ee..c5efdc3f33abf 100644 --- a/ext/opcache/zend_accelerator_util_funcs.c +++ b/ext/opcache/zend_accelerator_util_funcs.c @@ -387,7 +387,7 @@ zend_op_array* zend_accel_load_script(zend_persistent_script *persistent_script, name = zend_mangle_property_name(haltoff, sizeof(haltoff) - 1, ZSTR_VAL(persistent_script->script.filename), ZSTR_LEN(persistent_script->script.filename), 0); if (!zend_hash_exists(EG(zend_constants), name)) { - zend_register_long_constant(ZSTR_VAL(name), ZSTR_LEN(name), persistent_script->compiler_halt_offset, CONST_CS, 0); + zend_register_long_constant(ZSTR_VAL(name), ZSTR_LEN(name), persistent_script->compiler_halt_offset, 0, 0); } zend_string_release_ex(name, 0); } diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c index 519c16f32216f..68ab049edb025 100644 --- a/sapi/cli/php_cli.c +++ b/sapi/cli/php_cli.c @@ -557,15 +557,15 @@ static void cli_register_file_handles(void) php_stream_to_zval(s_out, &oc.value); php_stream_to_zval(s_err, &ec.value); - ZEND_CONSTANT_SET_FLAGS(&ic, CONST_CS, 0); + ZEND_CONSTANT_SET_FLAGS(&ic, 0, 0); ic.name = zend_string_init_interned("STDIN", sizeof("STDIN")-1, 0); zend_register_constant(&ic); - ZEND_CONSTANT_SET_FLAGS(&oc, CONST_CS, 0); + ZEND_CONSTANT_SET_FLAGS(&oc, 0, 0); oc.name = zend_string_init_interned("STDOUT", sizeof("STDOUT")-1, 0); zend_register_constant(&oc); - ZEND_CONSTANT_SET_FLAGS(&ec, CONST_CS, 0); + ZEND_CONSTANT_SET_FLAGS(&ec, 0, 0); ec.name = zend_string_init_interned("STDERR", sizeof("STDERR")-1, 0); zend_register_constant(&ec); } @@ -938,7 +938,7 @@ static int do_cli(int argc, char **argv) /* {{{ */ zend_register_bool_constant( ZEND_STRL("PHP_CLI_PROCESS_TITLE"), is_ps_title_available() == PS_TITLE_SUCCESS, - CONST_CS, 0); + 0, 0); *arg_excp = arg_free; /* reconstruct argv */ diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c index 0540676e0f5f2..230e00611b634 100644 --- a/sapi/phpdbg/phpdbg.c +++ b/sapi/phpdbg/phpdbg.c @@ -911,19 +911,19 @@ void phpdbg_register_file_handles(void) /* {{{ */ php_stream_to_zval(s_err, &zerr); ic.value = zin; - ZEND_CONSTANT_SET_FLAGS(&ic, CONST_CS, 0); + ZEND_CONSTANT_SET_FLAGS(&ic, 0, 0); ic.name = zend_string_init(ZEND_STRL("STDIN"), 0); zend_hash_del(EG(zend_constants), ic.name); zend_register_constant(&ic); oc.value = zout; - ZEND_CONSTANT_SET_FLAGS(&oc, CONST_CS, 0); + ZEND_CONSTANT_SET_FLAGS(&oc, 0, 0); oc.name = zend_string_init(ZEND_STRL("STDOUT"), 0); zend_hash_del(EG(zend_constants), oc.name); zend_register_constant(&oc); ec.value = zerr; - ZEND_CONSTANT_SET_FLAGS(&ec, CONST_CS, 0); + ZEND_CONSTANT_SET_FLAGS(&ec, 0, 0); ec.name = zend_string_init(ZEND_STRL("STDERR"), 0); zend_hash_del(EG(zend_constants), ec.name); zend_register_constant(&ec); From 2e17efafdf03d27a2abe8f2c66c2511036bb4623 Mon Sep 17 00:00:00 2001 From: Jorg Sowa Date: Wed, 9 Nov 2022 23:01:09 +0100 Subject: [PATCH 4/9] Removed empty flags functions --- Zend/zend_builtin_functions.c | 1 - Zend/zend_vm_def.h | 1 - Zend/zend_vm_execute.h | 1 - ext/com_dotnet/com_extension.c | 3 +-- sapi/cli/php_cli.c | 3 --- sapi/phpdbg/phpdbg.c | 3 --- 6 files changed, 1 insertion(+), 11 deletions(-) diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index b3103393b833d..8c8f1f585e12b 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -510,7 +510,6 @@ ZEND_FUNCTION(define) register_constant: /* non persistent */ - ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); c.name = zend_string_copy(name); if (zend_register_constant(&c) == SUCCESS) { RETURN_TRUE; diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 578523da908f3..f855a15595202 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -8043,7 +8043,6 @@ ZEND_VM_HANDLER(143, ZEND_DECLARE_CONST, CONST, CONST) } } /* non persistent, case sensitive */ - ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); c.name = zend_string_copy(Z_STR_P(name)); if (zend_register_constant(&c) == FAILURE) { diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index fb1c2f171219c..eb7d61fd2d988 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -7536,7 +7536,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DECLARE_CONST_SPEC_CONST_CONST } } /* non persistent, case sensitive */ - ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); c.name = zend_string_copy(Z_STR_P(name)); if (zend_register_constant(&c) == FAILURE) { diff --git a/ext/com_dotnet/com_extension.c b/ext/com_dotnet/com_extension.c index c07e9062e3454..6714db4e5236f 100644 --- a/ext/com_dotnet/com_extension.c +++ b/ext/com_dotnet/com_extension.c @@ -101,7 +101,6 @@ static PHP_INI_MH(OnTypeLibFileUpdate) ITypeLib *pTL; char *typelib_name; char *modifier, *ptr; - int mode = CONST_PERSISTENT; /* CONST_PERSISTENT is ok here */ if (typelib_name_buffer[0]==';') { continue; @@ -129,7 +128,7 @@ static PHP_INI_MH(OnTypeLibFileUpdate) } if ((pTL = php_com_load_typelib_via_cache(typelib_name, COMG(code_page))) != NULL) { - php_com_import_typelib(pTL, mode, COMG(code_page)); + php_com_import_typelib(pTL, CONST_PERSISTENT, COMG(code_page)); ITypeLib_Release(pTL); } } diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c index 68ab049edb025..5c5078d4d1e57 100644 --- a/sapi/cli/php_cli.c +++ b/sapi/cli/php_cli.c @@ -557,15 +557,12 @@ static void cli_register_file_handles(void) php_stream_to_zval(s_out, &oc.value); php_stream_to_zval(s_err, &ec.value); - ZEND_CONSTANT_SET_FLAGS(&ic, 0, 0); ic.name = zend_string_init_interned("STDIN", sizeof("STDIN")-1, 0); zend_register_constant(&ic); - ZEND_CONSTANT_SET_FLAGS(&oc, 0, 0); oc.name = zend_string_init_interned("STDOUT", sizeof("STDOUT")-1, 0); zend_register_constant(&oc); - ZEND_CONSTANT_SET_FLAGS(&ec, 0, 0); ec.name = zend_string_init_interned("STDERR", sizeof("STDERR")-1, 0); zend_register_constant(&ec); } diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c index 230e00611b634..87d69e85f82ce 100644 --- a/sapi/phpdbg/phpdbg.c +++ b/sapi/phpdbg/phpdbg.c @@ -911,19 +911,16 @@ void phpdbg_register_file_handles(void) /* {{{ */ php_stream_to_zval(s_err, &zerr); ic.value = zin; - ZEND_CONSTANT_SET_FLAGS(&ic, 0, 0); ic.name = zend_string_init(ZEND_STRL("STDIN"), 0); zend_hash_del(EG(zend_constants), ic.name); zend_register_constant(&ic); oc.value = zout; - ZEND_CONSTANT_SET_FLAGS(&oc, 0, 0); oc.name = zend_string_init(ZEND_STRL("STDOUT"), 0); zend_hash_del(EG(zend_constants), oc.name); zend_register_constant(&oc); ec.value = zerr; - ZEND_CONSTANT_SET_FLAGS(&ec, 0, 0); ec.name = zend_string_init(ZEND_STRL("STDERR"), 0); zend_hash_del(EG(zend_constants), ec.name); zend_register_constant(&ec); From 0c0569bdd112c6eb6cd15ea206bb03352469c514 Mon Sep 17 00:00:00 2001 From: Jorg Sowa Date: Tue, 22 Nov 2022 23:34:12 +0100 Subject: [PATCH 5/9] Reverted back ZEND_CONSTANT_SET_FLAGS --- Zend/zend_builtin_functions.c | 1 + Zend/zend_vm_def.h | 1 + Zend/zend_vm_execute.h | 1 + 3 files changed, 3 insertions(+) diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index 8c8f1f585e12b..7dc21f8a572b0 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -510,6 +510,7 @@ ZEND_FUNCTION(define) register_constant: /* non persistent */ + ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); c.name = zend_string_copy(name); if (zend_register_constant(&c) == SUCCESS) { RETURN_TRUE; diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index f855a15595202..75325abb925b5 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -8043,6 +8043,7 @@ ZEND_VM_HANDLER(143, ZEND_DECLARE_CONST, CONST, CONST) } } /* non persistent, case sensitive */ + ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); c.name = zend_string_copy(Z_STR_P(name)); if (zend_register_constant(&c) == FAILURE) { diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index eb7d61fd2d988..5e653d3141eec 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -7536,6 +7536,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DECLARE_CONST_SPEC_CONST_CONST } } /* non persistent, case sensitive */ + ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); c.name = zend_string_copy(Z_STR_P(name)); if (zend_register_constant(&c) == FAILURE) { From 9ae8fa7341a5e6c748fcbc31e97c656e9ac5d9dc Mon Sep 17 00:00:00 2001 From: Jorg Sowa Date: Wed, 23 Nov 2022 01:58:18 +0100 Subject: [PATCH 6/9] Reverted setting flags to constants --- main/php_streams.h | 2 +- sapi/cli/php_cli.c | 3 +++ sapi/phpdbg/phpdbg.c | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/main/php_streams.h b/main/php_streams.h index fd16901f7c767..0661491db98fe 100644 --- a/main/php_streams.h +++ b/main/php_streams.h @@ -182,7 +182,7 @@ struct _php_stream_wrapper { #define PHP_STREAM_FLAG_NO_FCLOSE 0x80 /* Suppress generation of PHP warnings on stream read/write errors. - * Currently for internal use only. */ + * Currently, for internal use only. */ #define PHP_STREAM_FLAG_SUPPRESS_ERRORS 0x100 /* Do not close handle except it is explicitly closed by user (e.g. fclose) */ diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c index 5c5078d4d1e57..0c6c5be6d5a74 100644 --- a/sapi/cli/php_cli.c +++ b/sapi/cli/php_cli.c @@ -557,12 +557,15 @@ static void cli_register_file_handles(void) php_stream_to_zval(s_out, &oc.value); php_stream_to_zval(s_err, &ec.value); + Z_CONSTANT_FLAGS(ic.value) = 0; ic.name = zend_string_init_interned("STDIN", sizeof("STDIN")-1, 0); zend_register_constant(&ic); + Z_CONSTANT_FLAGS(oc.value) = 0; oc.name = zend_string_init_interned("STDOUT", sizeof("STDOUT")-1, 0); zend_register_constant(&oc); + Z_CONSTANT_FLAGS(ec.value) = 0; ec.name = zend_string_init_interned("STDERR", sizeof("STDERR")-1, 0); zend_register_constant(&ec); } diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c index 87d69e85f82ce..a1dffeca1d9ed 100644 --- a/sapi/phpdbg/phpdbg.c +++ b/sapi/phpdbg/phpdbg.c @@ -911,16 +911,19 @@ void phpdbg_register_file_handles(void) /* {{{ */ php_stream_to_zval(s_err, &zerr); ic.value = zin; + Z_CONSTANT_FLAGS(ic.value) = 0; ic.name = zend_string_init(ZEND_STRL("STDIN"), 0); zend_hash_del(EG(zend_constants), ic.name); zend_register_constant(&ic); oc.value = zout; + Z_CONSTANT_FLAGS(oc.value) = 0; oc.name = zend_string_init(ZEND_STRL("STDOUT"), 0); zend_hash_del(EG(zend_constants), oc.name); zend_register_constant(&oc); ec.value = zerr; + Z_CONSTANT_FLAGS(ec.value) = 0; ec.name = zend_string_init(ZEND_STRL("STDERR"), 0); zend_hash_del(EG(zend_constants), ec.name); zend_register_constant(&ec); From 04552b6132f6434d11f7224234c2429823a4cec8 Mon Sep 17 00:00:00 2001 From: Jorg Sowa Date: Wed, 23 Nov 2022 02:15:34 +0100 Subject: [PATCH 7/9] Simplify method php_com_import_typelib --- ext/com_dotnet/com_typeinfo.c | 12 +----------- sapi/cli/php_cli.c | 6 +++--- sapi/phpdbg/phpdbg.c | 6 +++--- 3 files changed, 7 insertions(+), 17 deletions(-) diff --git a/ext/com_dotnet/com_typeinfo.c b/ext/com_dotnet/com_typeinfo.c index ccdcc3ff7e8c8..e7e76f1a06e13 100644 --- a/ext/com_dotnet/com_typeinfo.c +++ b/ext/com_dotnet/com_typeinfo.c @@ -184,7 +184,6 @@ PHP_COM_DOTNET_API zend_result php_com_import_typelib(ITypeLib *TL, int mode, in VARDESC *pVarDesc; UINT NameCount; BSTR bstr_ids; - zend_constant c; zval *exists, results, value; if (TL == NULL) { @@ -224,16 +223,7 @@ PHP_COM_DOTNET_API zend_result php_com_import_typelib(ITypeLib *TL, int mode, in /* register the constant */ if (Z_TYPE(value) == IS_LONG) { - ZEND_CONSTANT_SET_FLAGS(&c, mode, 0); - ZVAL_LONG(&c.value, Z_LVAL(value)); - if (mode & CONST_PERSISTENT) { - /* duplicate string in a persistent manner */ - c.name = zend_string_dup(const_name, /* persistent */ true); - zend_string_release_ex(const_name, /* persistent */ false); - } else { - c.name = const_name; - } - zend_register_constant(&c); + REGISTER_LONG_CONSTANT(const_name, Z_LVAL(value), mode); } ITypeInfo_ReleaseVarDesc(TypeInfo, pVarDesc); } diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c index 0c6c5be6d5a74..cc9a26c41389d 100644 --- a/sapi/cli/php_cli.c +++ b/sapi/cli/php_cli.c @@ -557,15 +557,15 @@ static void cli_register_file_handles(void) php_stream_to_zval(s_out, &oc.value); php_stream_to_zval(s_err, &ec.value); - Z_CONSTANT_FLAGS(ic.value) = 0; + Z_CONSTANT_FLAGS(ic.value) = 0; ic.name = zend_string_init_interned("STDIN", sizeof("STDIN")-1, 0); zend_register_constant(&ic); - Z_CONSTANT_FLAGS(oc.value) = 0; + Z_CONSTANT_FLAGS(oc.value) = 0; oc.name = zend_string_init_interned("STDOUT", sizeof("STDOUT")-1, 0); zend_register_constant(&oc); - Z_CONSTANT_FLAGS(ec.value) = 0; + Z_CONSTANT_FLAGS(ec.value) = 0; ec.name = zend_string_init_interned("STDERR", sizeof("STDERR")-1, 0); zend_register_constant(&ec); } diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c index a1dffeca1d9ed..41e44a48cc935 100644 --- a/sapi/phpdbg/phpdbg.c +++ b/sapi/phpdbg/phpdbg.c @@ -911,19 +911,19 @@ void phpdbg_register_file_handles(void) /* {{{ */ php_stream_to_zval(s_err, &zerr); ic.value = zin; - Z_CONSTANT_FLAGS(ic.value) = 0; + Z_CONSTANT_FLAGS(ic.value) = 0; ic.name = zend_string_init(ZEND_STRL("STDIN"), 0); zend_hash_del(EG(zend_constants), ic.name); zend_register_constant(&ic); oc.value = zout; - Z_CONSTANT_FLAGS(oc.value) = 0; + Z_CONSTANT_FLAGS(oc.value) = 0; oc.name = zend_string_init(ZEND_STRL("STDOUT"), 0); zend_hash_del(EG(zend_constants), oc.name); zend_register_constant(&oc); ec.value = zerr; - Z_CONSTANT_FLAGS(ec.value) = 0; + Z_CONSTANT_FLAGS(ec.value) = 0; ec.name = zend_string_init(ZEND_STRL("STDERR"), 0); zend_hash_del(EG(zend_constants), ec.name); zend_register_constant(&ec); From 92172e73685720fbc478921c457a71ed57d650d5 Mon Sep 17 00:00:00 2001 From: Jorg Sowa Date: Thu, 24 Nov 2022 23:25:19 +0100 Subject: [PATCH 8/9] Changed indentation --- Zend/zend_builtin_functions.c | 2 +- Zend/zend_vm_def.h | 6 +++--- Zend/zend_vm_execute.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index 7dc21f8a572b0..b3103393b833d 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -510,7 +510,7 @@ ZEND_FUNCTION(define) register_constant: /* non persistent */ - ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); + ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); c.name = zend_string_copy(name); if (zend_register_constant(&c) == SUCCESS) { RETURN_TRUE; diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 75325abb925b5..f01b3b6ae2ec2 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -6048,7 +6048,7 @@ ZEND_VM_C_LABEL(add_unpack_again): if (EXPECTED(Z_TYPE_P(op1) == IS_ARRAY)) { HashTable *ht = Z_ARRVAL_P(op1); zval *val; - + if (HT_IS_PACKED(ht) && (zend_hash_num_elements(result_ht) == 0 || HT_IS_PACKED(result_ht))) { zend_hash_extend(result_ht, zend_hash_num_elements(result_ht) + zend_hash_num_elements(ht), 1); ZEND_HASH_FILL_PACKED(result_ht) { @@ -7615,7 +7615,7 @@ ZEND_VM_HOT_NOCONST_HANDLER(198, ZEND_JMP_NULL, CONST|TMP|VAR|CV, JMP_ADDR) uint32_t short_circuiting_type = opline->extended_value & ZEND_SHORT_CIRCUITING_CHAIN_MASK; if (EXPECTED(short_circuiting_type == ZEND_SHORT_CIRCUITING_CHAIN_EXPR)) { ZVAL_NULL(result); - if (OP1_TYPE == IS_CV + if (OP1_TYPE == IS_CV && UNEXPECTED(Z_TYPE_P(val) == IS_UNDEF) && (opline->extended_value & ZEND_JMP_NULL_BP_VAR_IS) == 0 ) { @@ -8043,7 +8043,7 @@ ZEND_VM_HANDLER(143, ZEND_DECLARE_CONST, CONST, CONST) } } /* non persistent, case sensitive */ - ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); + ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); c.name = zend_string_copy(Z_STR_P(name)); if (zend_register_constant(&c) == FAILURE) { diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 5e653d3141eec..fb1c2f171219c 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -7536,7 +7536,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DECLARE_CONST_SPEC_CONST_CONST } } /* non persistent, case sensitive */ - ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); + ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT); c.name = zend_string_copy(Z_STR_P(name)); if (zend_register_constant(&c) == FAILURE) { From 601466ea066792132d770180db3f0a6cf6c8808f Mon Sep 17 00:00:00 2001 From: Jorg Sowa Date: Thu, 24 Nov 2022 23:26:50 +0100 Subject: [PATCH 9/9] Reverted function replacement --- ext/com_dotnet/com_typeinfo.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/ext/com_dotnet/com_typeinfo.c b/ext/com_dotnet/com_typeinfo.c index e7e76f1a06e13..ccdcc3ff7e8c8 100644 --- a/ext/com_dotnet/com_typeinfo.c +++ b/ext/com_dotnet/com_typeinfo.c @@ -184,6 +184,7 @@ PHP_COM_DOTNET_API zend_result php_com_import_typelib(ITypeLib *TL, int mode, in VARDESC *pVarDesc; UINT NameCount; BSTR bstr_ids; + zend_constant c; zval *exists, results, value; if (TL == NULL) { @@ -223,7 +224,16 @@ PHP_COM_DOTNET_API zend_result php_com_import_typelib(ITypeLib *TL, int mode, in /* register the constant */ if (Z_TYPE(value) == IS_LONG) { - REGISTER_LONG_CONSTANT(const_name, Z_LVAL(value), mode); + ZEND_CONSTANT_SET_FLAGS(&c, mode, 0); + ZVAL_LONG(&c.value, Z_LVAL(value)); + if (mode & CONST_PERSISTENT) { + /* duplicate string in a persistent manner */ + c.name = zend_string_dup(const_name, /* persistent */ true); + zend_string_release_ex(const_name, /* persistent */ false); + } else { + c.name = const_name; + } + zend_register_constant(&c); } ITypeInfo_ReleaseVarDesc(TypeInfo, pVarDesc); }