]> granicus.if.org Git - php/commitdiff
- Oppss, forgot to add new files
authorFelipe Pena <felipensp@gmail.com>
Sun, 24 Nov 2013 14:56:59 +0000 (12:56 -0200)
committerFelipe Pena <felipensp@gmail.com>
Sun, 24 Nov 2013 14:56:59 +0000 (12:56 -0200)
phpdbg_set.c [new file with mode: 0644]
phpdbg_set.h [new file with mode: 0644]

diff --git a/phpdbg_set.c b/phpdbg_set.c
new file mode 100644 (file)
index 0000000..41bc251
--- /dev/null
@@ -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;
+} /* }}} */
+
diff --git a/phpdbg_set.h b/phpdbg_set.h
new file mode 100644 (file)
index 0000000..e523364
--- /dev/null
@@ -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 */