From 900bc9104ccbaa3ddea700afcdae643d68c90654 Mon Sep 17 00:00:00 2001 From: Felipe Pena Date: Sun, 24 Nov 2013 12:56:59 -0200 Subject: [PATCH] - Oppss, forgot to add new files --- phpdbg_set.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ phpdbg_set.h | 38 +++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 phpdbg_set.c create mode 100644 phpdbg_set.h diff --git a/phpdbg_set.c b/phpdbg_set.c new file mode 100644 index 00000000000..41bc251502e --- /dev/null +++ b/phpdbg_set.c @@ -0,0 +1,57 @@ +/* + +----------------------------------------------------------------------+ + | PHP Version 5 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2013 The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 3.01 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_01.txt | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Authors: Felipe Pena | + | Authors: Joe Watkins | + +----------------------------------------------------------------------+ +*/ + +#include "phpdbg.h" +#include "phpdbg_set.h" +#include "phpdbg_utils.h" + +ZEND_EXTERN_MODULE_GLOBALS(phpdbg); + +void phpdbg_set_prompt(const char* prompt TSRMLS_DC) /* {{{ */ +{ + if (PHPDBG_G(prompt)) { + efree(PHPDBG_G(prompt)); + } + + PHPDBG_G(prompt) = NULL; + spprintf(&PHPDBG_G(prompt), 0, "%s ", prompt); +} /* }}} */ + +const char *phpdbg_get_prompt(TSRMLS_D) /* {{{ */ +{ + return PHPDBG_G(prompt); +} /* }}} */ + +PHPDBG_SET(prompt) /* {{{ */ +{ + switch (param->type) { + case EMPTY_PARAM: + phpdbg_writeln(phpdbg_get_prompt(TSRMLS_C)); + break; + + case STR_PARAM: + phpdbg_set_prompt(param->str TSRMLS_CC); + break; + + phpdbg_default_switch_case(); + } + + return SUCCESS; +} /* }}} */ + diff --git a/phpdbg_set.h b/phpdbg_set.h new file mode 100644 index 00000000000..e5233645193 --- /dev/null +++ b/phpdbg_set.h @@ -0,0 +1,38 @@ +/* + +----------------------------------------------------------------------+ + | PHP Version 5 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2013 The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 3.01 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_01.txt | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Authors: Felipe Pena | + | Authors: Joe Watkins | + +----------------------------------------------------------------------+ +*/ + +#ifndef PHPDBG_SET_H +#define PHPDBG_SET_H + +#include "phpdbg_cmd.h" + +#define PHPDBG_SET(name) PHPDBG_COMMAND(set_##name) + +void phpdbg_set_prompt(const char* TSRMLS_DC); +const char* phpdbg_get_prompt(TSRMLS_D); + +PHPDBG_SET(prompt); + +static const phpdbg_command_t phpdbg_set_commands[] = { + PHPDBG_COMMAND_D_EX(prompt, "set prompt", 'p', set_prompt, NULL, 0), + PHPDBG_END_COMMAND +}; + + +#endif /* PHPDBG_SET_H */