From: Felipe Pena Date: Sun, 24 Nov 2013 14:56:59 +0000 (-0200) Subject: - Oppss, forgot to add new files X-Git-Tag: php-5.6.0alpha1~110^2~95 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=900bc9104ccbaa3ddea700afcdae643d68c90654;p=php - Oppss, forgot to add new files --- diff --git a/phpdbg_set.c b/phpdbg_set.c new file mode 100644 index 0000000000..41bc251502 --- /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 0000000000..e523364519 --- /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 */