summaryrefslogtreecommitdiff
path: root/phpdbg.c
diff options
context:
space:
mode:
authorkrakjoe <joe.watkins@live.co.uk>2013-11-24 19:34:18 +0000
committerkrakjoe <joe.watkins@live.co.uk>2013-11-24 19:34:18 +0000
commitddcfa42f15217d8e8e21248cc5c7e1ee2007e7f6 (patch)
tree2bc89b90458ae52d810eb7ab597e7d200195cc37 /phpdbg.c
parentc85f247eacccec99d531109732bb3ba757806ecc (diff)
downloadphp-git-ddcfa42f15217d8e8e21248cc5c7e1ee2007e7f6.tar.gz
get good control over colors and prompt
Diffstat (limited to 'phpdbg.c')
-rw-r--r--phpdbg.c38
1 files changed, 21 insertions, 17 deletions
diff --git a/phpdbg.c b/phpdbg.c
index 72478e0535..c09e49f6ed 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -37,9 +37,13 @@ void (*zend_execute_old)(zend_op_array *op_array TSRMLS_DC);
static inline void php_phpdbg_globals_ctor(zend_phpdbg_globals *pg) /* {{{ */
{
- pg->prompt = NULL;
- pg->prompt_raw = NULL;
- pg->prompt_color = NULL;
+ pg->prompt[0] = NULL;
+ pg->prompt[1] = NULL;
+
+ pg->colors[0] = NULL;
+ pg->colors[1] = NULL;
+ pg->colors[2] = NULL;
+
pg->exec = NULL;
pg->exec_len = 0;
pg->ops = NULL;
@@ -151,20 +155,15 @@ static PHP_RSHUTDOWN_FUNCTION(phpdbg) /* {{{ */
PHPDBG_G(exec) = NULL;
}
- if (PHPDBG_G(prompt)) {
- efree(PHPDBG_G(prompt));
- PHPDBG_G(prompt) = NULL;
+ if (PHPDBG_G(prompt)[0]) {
+ free(PHPDBG_G(prompt)[0]);
}
-
- if (PHPDBG_G(prompt_raw)) {
- efree(PHPDBG_G(prompt_raw));
- PHPDBG_G(prompt_raw) = NULL;
- }
-
- if (PHPDBG_G(prompt_color)) {
- efree(PHPDBG_G(prompt_color));
- PHPDBG_G(prompt_color) = NULL;
+ if (PHPDBG_G(prompt)[1]) {
+ free(PHPDBG_G(prompt)[1]);
}
+
+ PHPDBG_G(prompt)[0] = NULL;
+ PHPDBG_G(prompt)[1] = NULL;
if (PHPDBG_G(oplog)) {
fclose(
@@ -698,9 +697,14 @@ phpdbg_main:
/* set flags from command line */
PHPDBG_G(flags) = flags;
- /* set default prompt */
- phpdbg_set_prompt(PROMPT, "1;64" TSRMLS_CC);
+ /* set default colors */
+ phpdbg_set_color_ex(PHPDBG_COLOR_PROMPT, "white-bold", sizeof("white-bold")-1 TSRMLS_CC);
+ phpdbg_set_color_ex(PHPDBG_COLOR_ERROR, "red", sizeof("red")-1 TSRMLS_CC);
+ phpdbg_set_color_ex(PHPDBG_COLOR_NOTICE, "green", sizeof("green")-1 TSRMLS_CC);
+ /* set default prompt */
+ phpdbg_set_prompt(PROMPT TSRMLS_CC);
+
zend_try {
zend_activate_modules(TSRMLS_C);
} zend_end_try();