nl: ensure '-b n' option displays file content

The command 'nl -b n' should output no line numbers, just some
spaces as a placeholder followed by the actual file content.

Add tests for line numbering by cat and nl.  The correct results
were obtained from coreutils.

function                                             old     new   delta
print_numbered_lines                                 152     157      +5
.rodata                                           182456  182453      -3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 5/-3)                Total: 2 bytes

Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Ron Yorston
2021-01-21 08:40:54 +00:00
committed by Denys Vlasenko
parent 27ae859c50
commit c849e72c0b
5 changed files with 67 additions and 3 deletions

View File

@@ -22,10 +22,11 @@ int FAST_FUNC print_numbered_lines(struct number_state *ns, const char *filename
if (ns->all
|| (ns->nonempty && line[0])
) {
printf("%*u%s%s\n", ns->width, N, ns->sep, line);
printf("%*u%s", ns->width, N, ns->sep);
N += ns->inc;
} else if (ns->empty_str)
fputs(ns->empty_str, stdout);
puts(line);
free(line);
}
ns->start = N;