cat: fix cat -e and cat -v erroneously numbering 1st line
No binary (build failed)
—
(log yok)
| @@ -112,10 +112,10 @@ static int catv(unsigned opts, char **argv) | |
| int retval = EXIT_SUCCESS; | |
| int fd; | |
| #if ENABLE_FEATURE_CATN | |
| - | unsigned lineno = 0; |
| - | unsigned eol_char = (opts & (CAT_OPT_n|CAT_OPT_b)) ? '\n' : 0x100; |
| + | bool eol_seen = (opts & (CAT_OPT_n|CAT_OPT_b)); |
| + | unsigned eol_char = (eol_seen ? '\n' : 0x100); |
| unsigned skip_num_on = (opts & CAT_OPT_b) ? '\n' : 0x100; | |
| - | bool eol_seen = 1; |
| + | unsigned lineno = 0; |
| #endif | |
| BUILD_BUG_ON(CAT_OPT_e != VISIBLE_ENDLINE); | |
| @@ -0,0 +1,21 @@ | |
| + | #!/bin/sh |
| + | |
| + | # Copyright 2018 by Denys Vlasenko <[email protected]> |
| + | # Licensed under GPLv2, see file LICENSE in this source tree. |
| + | |
| + | . ./testing.sh |
| + | |
| + | # testing "description" "command" "result" "infile" "stdin" |
| + | testing 'cat -e' \ |
| + | 'cat -e' \ |
| + | 'foo$\n' \ |
| + | '' \ |
| + | 'foo\n' |
| + | |
| + | testing 'cat -v' \ |
| + | 'cat -v' \ |
| + | 'foo\n' \ |
| + | '' \ |
| + | 'foo\n' |
| + | |
| + | exit $FAILCOUNT |