2 changed files with 95 additions and 0 deletions
-
57phpdbg_set.c
-
38phpdbg_set.h
@ -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 <felipe@php.net> | |
||||
|
| Authors: Joe Watkins <joe.watkins@live.co.uk> | |
||||
|
+----------------------------------------------------------------------+ |
||||
|
*/ |
||||
|
|
||||
|
#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; |
||||
|
} /* }}} */ |
||||
|
|
||||
@ -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 <felipe@php.net> | |
||||
|
| Authors: Joe Watkins <joe.watkins@live.co.uk> | |
||||
|
+----------------------------------------------------------------------+ |
||||
|
*/ |
||||
|
|
||||
|
#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 */ |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue