From c849e72c0b216578f96b763529c5e58056d0662c Mon Sep 17 00:00:00 2001 From: Ron Yorston Date: Thu, 21 Jan 2021 08:40:54 +0000 Subject: 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 Signed-off-by: Denys Vlasenko --- coreutils/cat.c | 2 +- coreutils/nl.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'coreutils') diff --git a/coreutils/cat.c b/coreutils/cat.c index 65f0648f9..dae6089bd 100644 --- a/coreutils/cat.c +++ b/coreutils/cat.c @@ -201,7 +201,7 @@ int cat_main(int argc UNUSED_PARAM, char **argv) ns.start = 1; ns.inc = 1; ns.sep = "\t"; - ns.empty_str = "\n"; + ns.empty_str = NULL; ns.all = !(opts & CAT_OPT_b); /* -n without -b */ ns.nonempty = (opts & CAT_OPT_b); /* -b (with or without -n) */ exitcode = EXIT_SUCCESS; diff --git a/coreutils/nl.c b/coreutils/nl.c index 800b73c26..d06673881 100644 --- a/coreutils/nl.c +++ b/coreutils/nl.c @@ -68,7 +68,7 @@ int nl_main(int argc UNUSED_PARAM, char **argv) &ns.width, &ns.sep, &ns.start, &ns.inc, &opt_b); ns.all = (opt_b[0] == 'a'); ns.nonempty = (opt_b[0] == 't'); - ns.empty_str = xasprintf("%*s\n", ns.width + (int)strlen(ns.sep), ""); + ns.empty_str = xasprintf("%*s", ns.width + (int)strlen(ns.sep), ""); argv += optind; if (!*argv) -- cgit v1.2.3