diff options
| author | Stanislav Malyshev <stas@php.net> | 2000-09-05 18:33:02 +0000 |
|---|---|---|
| committer | Stanislav Malyshev <stas@php.net> | 2000-09-05 18:33:02 +0000 |
| commit | 3fb701add0e0270fb0cc19009210e535653bfeef (patch) | |
| tree | ddc1024bb4a24bc83d292479ec7bd39415e142e9 | |
| parent | 6f59f8b0785f07d5450bbceb0cf67455eb65c1d8 (diff) | |
| download | php-git-3fb701add0e0270fb0cc19009210e535653bfeef.tar.gz | |
More fixes fo ini_ handling functions
| -rw-r--r-- | ext/standard/basic_functions.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 859f15a55c..02101d60f7 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -1832,6 +1832,7 @@ void test_class_startup() PHP_FUNCTION(ini_get) { pval **varname; + char *str; if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1, &varname)==FAILURE) { WRONG_PARAM_COUNT; @@ -1839,15 +1840,13 @@ PHP_FUNCTION(ini_get) convert_to_string_ex(varname); - return_value->value.str.val = php_ini_string((*varname)->value.str.val, (*varname)->value.str.len+1, 0); + str = php_ini_string((*varname)->value.str.val, (*varname)->value.str.len+1, 0); - if (!return_value->value.str.val) { + if (!str) { RETURN_FALSE; } - return_value->value.str.len = strlen(return_value->value.str.val); - return_value->type = IS_STRING; - pval_copy_constructor(return_value); + RETURN_STRING(str,1); } /* }}} */ @@ -1866,13 +1865,14 @@ PHP_FUNCTION(ini_set) convert_to_string_ex(new_value); old_value = php_ini_string((*varname)->value.str.val, (*varname)->value.str.len+1, 0); - - if (php_alter_ini_entry((*varname)->value.str.val, (*varname)->value.str.len+1, (*new_value)->value.str.val, (*new_value)->value.str.len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME)==FAILURE) { - RETURN_FALSE; - } + /* copy to return here, because alter might free it! */ if (old_value) { - RETURN_STRING(old_value, 1); + RETVAL_STRING(old_value, 1); } else { + RETVAL_FALSE; + } + + if (php_alter_ini_entry((*varname)->value.str.val, (*varname)->value.str.len+1, (*new_value)->value.str.val, (*new_value)->value.str.len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME)==FAILURE) { RETURN_FALSE; } } |
