diff options
author | Bob Weinand <bobwei9@hotmail.com> | 2015-10-20 21:56:00 +0200 |
---|---|---|
committer | Bob Weinand <bobwei9@hotmail.com> | 2015-10-20 21:56:00 +0200 |
commit | 2ef327caed5e7cb2683c040904a57d0cc6be1e5d (patch) | |
tree | c9547fa4f86c57794f3233814cd54cf1e0d87c5b /sapi/phpdbg/phpdbg_io.c | |
parent | 1149833a58a478b35bd95f4c4b9f23fe52c719d6 (diff) | |
download | php-git-2ef327caed5e7cb2683c040904a57d0cc6be1e5d.tar.gz |
Exempt paging from -qrr mode
Diffstat (limited to 'sapi/phpdbg/phpdbg_io.c')
-rw-r--r-- | sapi/phpdbg/phpdbg_io.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/sapi/phpdbg/phpdbg_io.c b/sapi/phpdbg/phpdbg_io.c index cf4fdb88b4..98628b77f9 100644 --- a/sapi/phpdbg/phpdbg_io.c +++ b/sapi/phpdbg/phpdbg_io.c @@ -202,13 +202,13 @@ static int phpdbg_output_pager(int sock, const char *ptr, int len) { bytes += write(sock, ptr + bytes, (p - ptr) - bytes); if (memchr(p, '\n', endp - p)) { - int chr; - printf("\r---Type <return> to continue or q <return> to quit---"); - chr = getchar(); - if (chr == 'q') { + char buf[PHPDBG_MAX_CMD]; + write(sock, ZEND_STRL("\r---Type <return> to continue or q <return> to quit---")); + phpdbg_consume_stdin_line(buf); + if (*buf == 'q') { break; } - printf("\r"); + write(sock, "\r", 1); } else break; } } @@ -225,9 +225,10 @@ PHPDBG_API int phpdbg_mixed_write(int sock, const char *ptr, int len) { return phpdbg_send_bytes(sock, ptr, len); } - if (PHPDBG_G(flags) & PHPDBG_HAS_PAGINATION - && PHPDBG_G(io)[PHPDBG_STDOUT].fd == sock - && PHPDBG_G(lines) > 0) { + if ((PHPDBG_G(flags) & PHPDBG_HAS_PAGINATION) + && !(PHPDBG_G(flags) & PHPDBG_WRITE_XML) + && PHPDBG_G(io)[PHPDBG_STDOUT].fd == sock + && PHPDBG_G(lines) > 0) { return phpdbg_output_pager(sock, ptr, len); } |