sbase

suckless unix tools
git clone git://git.suckless.org/sbase
Log | Files | Refs | README | LICENSE

commit feeb6e32792b1e4611a9a57476417fcf6b49e6c8
parent 2cbf61dff99c349c5e629d4e8dc7714d03b576fa
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Fri, 22 Sep 2023 19:43:37 +0200

ed: Don't discard full lines

Discard() was reading stdin until a new line was found, but in
case of having an empty line in the input buffer then it didn't
make sense because we were just discarding the full next line.

Diffstat:
Med.c | 11+++++------
1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/ed.c b/ed.c @@ -76,15 +76,14 @@ discard(void) { int c; - if (repidx >= 0) + if (repidx >= 0 || cmdline.siz == 0) return; /* discard until the end of the line */ - if (cmdline.siz > 0 && cmdline.str[cmdline.siz-1] == '\n') - return; - - while ((c = getchar()) != '\n' && c != EOF) - ; + if (cmdline.str[cmdline.siz-1] != '\n') { + while ((c = getchar()) != '\n' && c != EOF) + ; + } } static void undo(void);