From 37bcc2770788d8fd9fd8cda3413a27dd131d9e22 Mon Sep 17 00:00:00 2001 From: "G.P. Halkes" Date: Sat, 6 Jan 2007 09:49:47 +0100 Subject: * src/fmt.c (copy_rest): Correct prefix handling. Don't elide a line with the prefix followed by only white space. (get_line): Move EOF-check to loop-termination condition. * tests/fmt/basic (pfx-1): Adjust test to expect desired result. (pfx-2): Remove test; its premise was contrary to the documentation. --- src/fmt.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/fmt.c') diff --git a/src/fmt.c b/src/fmt.c index 9a6c1c0fd..5ccc8c44a 100644 --- a/src/fmt.c +++ b/src/fmt.c @@ -607,12 +607,15 @@ copy_rest (FILE *f, int c) const char *s; out_column = 0; - if (in_column > next_prefix_indent && c != '\n' && c != EOF) + if (in_column > next_prefix_indent || (c != '\n' && c != EOF)) { put_space (next_prefix_indent); for (s = prefix; out_column != in_column && *s; out_column++) putchar (*s++); - put_space (in_column - out_column); + if (c != EOF && c != '\n') + put_space (in_column - out_column); + if (c == EOF && in_column >= next_prefix_indent + prefix_length) + putchar ('\n'); } while (c != '\n' && c != EOF) { @@ -688,10 +691,8 @@ get_line (FILE *f, int c) flush_paragraph (); } word_limit++; - if (c == EOF) - return EOF; } - while (c != '\n'); + while (c != '\n' && c != EOF); return get_prefix (f); } -- cgit v1.2.3-54-g00ecf