static ZEND_INI_MH(OnEnable) { if (stage == ZEND_INI_STAGE_STARTUP || stage == ZEND_INI_STAGE_SHUTDOWN || stage == ZEND_INI_STAGE_DEACTIVATE) { return OnUpdateBool(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); } else { /* It may be only temporary disabled */ zend_bool *p; #ifndef ZTS char *base = (char *) mh_arg2; #else char *base = (char *) ts_resource(*((int *) mh_arg2)); #endif p = (zend_bool *) (base+(size_t) mh_arg1); if ((new_value_length == 2 && strcasecmp("on", new_value) == 0) || (new_value_length == 3 && strcasecmp("yes", new_value) == 0) || (new_value_length == 4 && strcasecmp("true", new_value) == 0) || atoi(new_value) != 0) { zend_error(E_WARNING, ACCELERATOR_PRODUCT_NAME " can't be temporary enabled (it may be only disabled till the end of request)"); return FAILURE; } else { *p = 0; return SUCCESS; } } }
static ZEND_INI_MH(OnUpdateGCEnabled) /* {{{ */ { OnUpdateBool(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage); if (GC_G(gc_enabled)) { gc_init(); } return SUCCESS; }
static PHP_INI_MH(php_tidy_set_clean_output) { int status; zend_bool value; if (ZSTR_LEN(new_value)==2 && strcasecmp("on", ZSTR_VAL(new_value))==0) { value = (zend_bool) 1; } else if (ZSTR_LEN(new_value)==3 && strcasecmp("yes", ZSTR_VAL(new_value))==0) { value = (zend_bool) 1; } else if (ZSTR_LEN(new_value)==4 && strcasecmp("true", ZSTR_VAL(new_value))==0) { value = (zend_bool) 1; } else { value = (zend_bool) atoi(ZSTR_VAL(new_value)); } if (stage == PHP_INI_STAGE_RUNTIME) { status = php_output_get_status(); if (value && (status & PHP_OUTPUT_WRITTEN)) { php_error_docref(NULL, E_WARNING, "Cannot enable tidy.clean_output - there has already been output"); return FAILURE; } if (status & PHP_OUTPUT_SENT) { php_error_docref(NULL, E_WARNING, "Cannot change tidy.clean_output - headers already sent"); return FAILURE; } } status = OnUpdateBool(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage); if (stage == PHP_INI_STAGE_RUNTIME && value) { if (!php_output_handler_started(ZEND_STRL("ob_tidyhandler"))) { php_tidy_clean_output_start(ZEND_STRL("ob_tidyhandler")); } } return status; }