From: Bob Weinand Date: Sun, 29 Jun 2014 10:18:39 +0000 (+0200) Subject: Fix issue krakjoe/phpdbg#97 - list now appends a newline if there is none X-Git-Tag: php-5.6.0RC2~1^2~16^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4fde0c258ea3c094a421563deadbaa7811c67950;p=php Fix issue krakjoe/phpdbg#97 - list now appends a newline if there is none The prompt should always ensure it is on a newline --- diff --git a/phpdbg_list.c b/phpdbg_list.c index 037c6c38b2..c745222224 100644 --- a/phpdbg_list.c +++ b/phpdbg_list.c @@ -130,7 +130,7 @@ void phpdbg_list_file(const char *filename, long count, long offset, int highlig char *opened = NULL; char buffer[8096] = {0,}; long line = 0; - + php_stream *stream = NULL; if (VCWD_STAT(filename, &st) == FAILURE) { @@ -146,6 +146,8 @@ void phpdbg_list_file(const char *filename, long count, long offset, int highlig } while (php_stream_gets(stream, buffer, sizeof(buffer)) != NULL) { + long linelen = strlen(buffer); + ++line; if (!offset || offset <= line) { @@ -159,9 +161,13 @@ void phpdbg_list_file(const char *filename, long count, long offset, int highlig phpdbg_write(">%05ld: %s", line, buffer); } } + + if (buffer[linelen - 1] != '\n') { + phpdbg_write("\n"); + } } - - if ((count + (offset-1)) == line) + + if ((count + (offset - 1)) == line) break; }