diff options
author | Bob Weinand <bobwei9@hotmail.com> | 2014-06-29 12:18:39 +0200 |
---|---|---|
committer | Bob Weinand <bobwei9@hotmail.com> | 2014-06-29 12:18:39 +0200 |
commit | 4fde0c258ea3c094a421563deadbaa7811c67950 (patch) | |
tree | 05eb8cd055971bf1e1a1e708a17a481e3968aedf | |
parent | d29842532397233a0a9419962426965063ad376d (diff) | |
download | php-git-4fde0c258ea3c094a421563deadbaa7811c67950.tar.gz |
Fix issue krakjoe/phpdbg#97 - list now appends a newline if there is none
The prompt should always ensure it is on a newline
-rw-r--r-- | phpdbg_list.c | 12 |
1 files changed, 9 insertions, 3 deletions
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; } |