diff options
author | Michael Voříšek <mvorisek@mvorisek.cz> | 2020-02-12 12:24:54 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-02-17 11:11:14 +0100 |
commit | d2ba8485721144dbb235d183a82e34d8bb1720eb (patch) | |
tree | e19fae809cc75f8860bc4ae831f31e8186626557 | |
parent | 53fc8ef41d89e99a8c8fc40a3b0deb501e915141 (diff) | |
download | php-git-d2ba8485721144dbb235d183a82e34d8bb1720eb.tar.gz |
Use strlen for INI_* macros
strlen() is resolved at compile time by optimizing compilers.
Prevent mistakes and allow to use INI_* macros with char * variables
which can have sizeof() == 1.
Closes GH-5174.
-rw-r--r-- | Zend/zend_ini.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Zend/zend_ini.h b/Zend/zend_ini.h index ba8cc25f0a..3759ca3196 100644 --- a/Zend/zend_ini.h +++ b/Zend/zend_ini.h @@ -138,21 +138,21 @@ END_EXTERN_C() ZEND_INI_ENTRY3_EX(name, default_value, modifiable, on_modify, (void *) XtOffsetOf(struct_type, property_name), (void *) &struct_ptr, NULL, zend_ini_boolean_displayer_cb) #endif -#define INI_INT(name) zend_ini_long((name), sizeof(name)-1, 0) -#define INI_FLT(name) zend_ini_double((name), sizeof(name)-1, 0) -#define INI_STR(name) zend_ini_string_ex((name), sizeof(name)-1, 0, NULL) +#define INI_INT(name) zend_ini_long((name), strlen(name), 0) +#define INI_FLT(name) zend_ini_double((name), strlen(name), 0) +#define INI_STR(name) zend_ini_string_ex((name), strlen(name), 0, NULL) #define INI_BOOL(name) ((zend_bool) INI_INT(name)) -#define INI_ORIG_INT(name) zend_ini_long((name), sizeof(name)-1, 1) -#define INI_ORIG_FLT(name) zend_ini_double((name), sizeof(name)-1, 1) -#define INI_ORIG_STR(name) zend_ini_string((name), sizeof(name)-1, 1) +#define INI_ORIG_INT(name) zend_ini_long((name), strlen(name), 1) +#define INI_ORIG_FLT(name) zend_ini_double((name), strlen(name), 1) +#define INI_ORIG_STR(name) zend_ini_string((name), strlen(name), 1) #define INI_ORIG_BOOL(name) ((zend_bool) INI_ORIG_INT(name)) #define REGISTER_INI_ENTRIES() zend_register_ini_entries(ini_entries, module_number) #define UNREGISTER_INI_ENTRIES() zend_unregister_ini_entries(module_number) #define DISPLAY_INI_ENTRIES() display_ini_entries(zend_module) -#define REGISTER_INI_DISPLAYER(name, displayer) zend_ini_register_displayer((name), sizeof(name)-1, displayer) +#define REGISTER_INI_DISPLAYER(name, displayer) zend_ini_register_displayer((name), strlen(name), displayer) #define REGISTER_INI_BOOLEAN(name) REGISTER_INI_DISPLAYER(name, zend_ini_boolean_displayer_cb) /* Standard message handlers */ |