Skip to content

Commit

Permalink
ini intl.explicit_cleanup -> INTL_EXPLICIT_CLEANUP
Browse files Browse the repository at this point in the history
Added an environment variable and removed the ini setting
intl.explicit_cleanup for calling u_cleanup()
  • Loading branch information
cataphract committed Jul 24, 2012
1 parent 777160f commit f356be6
Showing 1 changed file with 5 additions and 26 deletions.
31 changes: 5 additions & 26 deletions ext/intl/php_intl.c
Original file line number Diff line number Diff line change
Expand Up @@ -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()
/* }}} */

Expand Down Expand Up @@ -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();
}

Expand Down

0 comments on commit f356be6

Please sign in to comment.