From: Denys Vlasenko Date: Sun, 21 Sep 2014 20:10:55 +0000 (+0200) Subject: less: disable "suppress empty wraparound" optimization X-Git-Tag: 1_23_0~45 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=15943c886d6e1929b90db9bc6077c849cbaa187e;p=oweals%2Fbusybox.git less: disable "suppress empty wraparound" optimization It is buggy wrt another use case... Signed-off-by: Denys Vlasenko --- diff --git a/miscutils/less.c b/miscutils/less.c index d84df469c..719af5a0d 100644 --- a/miscutils/less.c +++ b/miscutils/less.c @@ -491,6 +491,11 @@ static void read_lines(void) *p++ = c; *p = '\0'; } /* end of "read chars until we have a line" loop */ +#if 0 +//BUG: also triggers on this: +// { printf "\nfoo\n"; sleep 1; printf "\nbar\n"; } | less +// (resulting in lost empty line between "foo" and "bar" lines) +// the "terminated" logic needs fixing (or explaining) /* Corner case: linewrap with only "" wrapping to next line */ /* Looks ugly on screen, so we do not store this empty line */ if (!last_terminated && !current_line[0]) { @@ -498,6 +503,7 @@ static void read_lines(void) max_lineno++; continue; } +#endif reached_eof: last_terminated = terminated; flines = xrealloc_vector(flines, 8, max_fline);