From 7cd0ed51ed64fba08c85e0d802dd1ae3f382f92a Mon Sep 17 00:00:00 2001 From: krakjoe Date: Sat, 23 Nov 2013 15:11:09 +0000 Subject: [PATCH] fix ignore php.ini and override path --- phpdbg.c | 19 ++++++++++++++----- phpdbg_prompt.c | 2 +- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/phpdbg.c b/phpdbg.c index 1479b29c7a..bdb6c81073 100644 --- a/phpdbg.c +++ b/phpdbg.c @@ -463,6 +463,8 @@ int main(int argc, char **argv) /* {{{ */ sapi_module_struct *phpdbg = &phpdbg_sapi_module; char *ini_entries; int ini_entries_len; + zend_bool ini_ignore; + char *ini_override; char *exec; size_t exec_len; char *init_file; @@ -497,6 +499,8 @@ int main(int argc, char **argv) /* {{{ */ phpdbg_main: ini_entries = NULL; ini_entries_len = 0; + ini_ignore = 0; + ini_override = NULL; exec = NULL; exec_len = 0; init_file = NULL; @@ -517,13 +521,13 @@ phpdbg_main: run++; break; case 'n': - phpdbg->php_ini_ignore = 1; + ini_ignore = 1; break; case 'c': - if (phpdbg->php_ini_path_override) { - free(phpdbg->php_ini_path_override); + if (ini_override) { + free(ini_override); } - phpdbg->php_ini_path_override = strdup(php_optarg); + ini_override = strdup(php_optarg); break; case 'd': { int len = strlen(php_optarg); @@ -615,7 +619,8 @@ phpdbg_main: phpdbg->executable_location = argv[0]; phpdbg->phpinfo_as_text = 1; - phpdbg->php_ini_ignore = 0; + phpdbg->php_ini_ignore = ini_ignore; + phpdbg->php_ini_path_override = ini_override; if (ini_entries) { ini_entries = realloc(ini_entries, ini_entries_len + sizeof(phpdbg_ini_hardcoded)); @@ -730,6 +735,10 @@ phpdbg_out: if (ini_entries) { free(ini_entries); } + + if (ini_override) { + free(ini_override); + } if (PG(modules_activated)) { zend_try { diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c index f34eaaf030..73e18174a6 100644 --- a/phpdbg_prompt.c +++ b/phpdbg_prompt.c @@ -556,7 +556,7 @@ PHPDBG_COMMAND(run) /* {{{ */ EG(active_op_array) = orig_op_array; EG(opline_ptr) = orig_opline; EG(return_value_ptr_ptr) = orig_retval_ptr; - + if (!(PHPDBG_G(flags) & PHPDBG_IS_QUITTING)) { phpdbg_error("Caught exit/error from VM"); goto out; -- 2.40.0