summaryrefslogtreecommitdiff
path: root/ext/intl/php_intl.c
diff options
context:
space:
mode:
authorGustavo André dos Santos Lopes <cataphract@php.net>2012-07-24 15:13:02 +0200
committerGustavo André dos Santos Lopes <cataphract@php.net>2012-07-24 15:13:02 +0200
commitf356be68c244dd0dd70894ac4a5c9b4e3a882e04 (patch)
treeedf55ce713ff6713df0308b298fdf01decc1fc44 /ext/intl/php_intl.c
parent777160f7b544971f7e73932482735af69bc42ec7 (diff)
downloadphp-git-f356be68c244dd0dd70894ac4a5c9b4e3a882e04.tar.gz
ini intl.explicit_cleanup -> INTL_EXPLICIT_CLEANUP
Added an environment variable and removed the ini setting intl.explicit_cleanup for calling u_cleanup()
Diffstat (limited to 'ext/intl/php_intl.c')
-rwxr-xr-xext/intl/php_intl.c31
1 files changed, 5 insertions, 26 deletions
diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c
index 38175ca54c..78da0f5e32 100755
--- a/ext/intl/php_intl.c
+++ b/ext/intl/php_intl.c
@@ -853,36 +853,11 @@ zend_function_entry intl_functions[] = {
};
/* }}} */
-static zend_bool explicit_cleanup = 0;
-
-static ZEND_INI_MH(OnExplicitCleanupUpdate)
-{
- if (stage == PHP_INI_STAGE_STARTUP) {
- if (new_value_length == 2 && strcasecmp("on", new_value) == 0) {
- explicit_cleanup = (zend_bool)1;
- }
- else if (new_value_length == 3 && strcasecmp("yes", new_value) == 0) {
- explicit_cleanup = (zend_bool)1;
- }
- else if (new_value_length == 4 && strcasecmp("true", new_value) == 0) {
- explicit_cleanup = (zend_bool)1;
- }
- else {
- explicit_cleanup = (zend_bool)atoi(new_value);
- }
- return SUCCESS;
- } else {
- return FAILURE;
- }
-}
-
-
/* {{{ INI Settings */
PHP_INI_BEGIN()
STD_PHP_INI_ENTRY(LOCALE_INI_NAME, NULL, PHP_INI_ALL, OnUpdateStringUnempty, default_locale, zend_intl_globals, intl_globals)
STD_PHP_INI_ENTRY("intl.error_level", "0", PHP_INI_ALL, OnUpdateLong, error_level, zend_intl_globals, intl_globals)
STD_PHP_INI_ENTRY("intl.use_exceptions", "0", PHP_INI_ALL, OnUpdateBool, use_exceptions, zend_intl_globals, intl_globals)
- PHP_INI_ENTRY_EX("intl.explicit_cleanup", "0", 0, OnExplicitCleanupUpdate, zend_ini_boolean_displayer_cb)
PHP_INI_END()
/* }}} */
@@ -1015,14 +990,18 @@ PHP_MINIT_FUNCTION( intl )
}
/* }}} */
+#define EXPLICIT_CLEANUP_ENV_VAR "INTL_EXPLICIT_CLEANUP"
+
/* {{{ PHP_MSHUTDOWN_FUNCTION
*/
PHP_MSHUTDOWN_FUNCTION( intl )
{
+ const char *cleanup;
/* For the default locale php.ini setting */
UNREGISTER_INI_ENTRIES();
- if (explicit_cleanup) {
+ cleanup = getenv(EXPLICIT_CLEANUP_ENV_VAR);
+ if (cleanup != NULL && !(cleanup[0] == '0' && cleanup[1] == '\0')) {
u_cleanup();
}