summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/phpdbg_bp.c
diff options
context:
space:
mode:
authorBob Weinand <bobwei9@hotmail.com>2016-11-13 13:22:35 +0100
committerBob Weinand <bobwei9@hotmail.com>2016-11-13 13:22:35 +0100
commitef657978b24d889ab335c2c238352f5152188705 (patch)
treec21d984f5e1820f5b3b801b4e90e0958361f875e /sapi/phpdbg/phpdbg_bp.c
parentdbd504eaa9bd6e5055d589753d5e9da5db3d15ab (diff)
parentba75d4c50b973f6b85e8d6abab79d8c3aee2737a (diff)
downloadphp-git-ef657978b24d889ab335c2c238352f5152188705.tar.gz
Merge branch 'PHP-7.0' into PHP-7.1
Diffstat (limited to 'sapi/phpdbg/phpdbg_bp.c')
-rw-r--r--sapi/phpdbg/phpdbg_bp.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/sapi/phpdbg/phpdbg_bp.c b/sapi/phpdbg/phpdbg_bp.c
index a690a77af8..5b70fe8bbb 100644
--- a/sapi/phpdbg/phpdbg_bp.c
+++ b/sapi/phpdbg/phpdbg_bp.c
@@ -25,6 +25,7 @@
#include "phpdbg_utils.h"
#include "phpdbg_opcode.h"
#include "zend_globals.h"
+#include "ext/standard/php_string.h"
ZEND_EXTERN_MODULE_GLOBALS(phpdbg)
@@ -135,10 +136,12 @@ PHPDBG_API void phpdbg_export_breakpoints_to_string(char **str) /* {{{ */
switch (brake->type) {
case PHPDBG_BREAK_FILE: {
+ zend_string *filename = php_addcslashes(zend_string_init(((phpdbg_breakfile_t*)brake)->filename, strlen(((phpdbg_breakfile_t*)brake)->filename), 0), 1, "\\\"\n", 3);
phpdbg_asprintf(&new_str,
- "%sbreak %s:%lu\n", *str,
- ((phpdbg_breakfile_t*)brake)->filename,
+ "%sbreak \"%s\":%lu\n", *str,
+ ZSTR_VAL(filename),
((phpdbg_breakfile_t*)brake)->line);
+ zend_string_release(filename);
} break;
case PHPDBG_BREAK_SYM: {
@@ -170,10 +173,12 @@ PHPDBG_API void phpdbg_export_breakpoints_to_string(char **str) /* {{{ */
} break;
case PHPDBG_BREAK_FILE_OPLINE: {
+ zend_string *filename = php_addcslashes(zend_string_init(((phpdbg_breakopline_t*)brake)->class_name, strlen(((phpdbg_breakopline_t*)brake)->class_name), 0), 1, "\\\"\n", 3);
phpdbg_asprintf(&new_str,
- "%sbreak %s:#%llu\n", *str,
- ((phpdbg_breakopline_t*)brake)->class_name,
+ "%sbreak \"%s\":#%llu\n", *str,
+ filename,
((phpdbg_breakopline_t*)brake)->opline_num);
+ zend_string_release(filename);
} break;
case PHPDBG_BREAK_OPCODE: {
@@ -199,12 +204,14 @@ PHPDBG_API void phpdbg_export_breakpoints_to_string(char **str) /* {{{ */
conditional->code);
break;
- case FILE_PARAM:
+ case FILE_PARAM: {
+ zend_string *filename = php_addcslashes(zend_string_init(conditional->param.file.name, strlen(conditional->param.file.name), 0), 1, "\\\"\n", 3);
phpdbg_asprintf(&new_str,
- "%sbreak at %s:%lu if %s\n", *str,
+ "%sbreak at \"%s\":%lu if %s\n", *str,
conditional->param.file.name, conditional->param.file.line,
conditional->code);
- break;
+ zend_string_release(filename);
+ } break;
default: { /* do nothing */ } break;
}