`ls -1s` doesn't print "total"

Jan Schaumann <[email protected]>
Newsgroups gmane.os.netbsd.devel.userlevel
Message-ID <[email protected]>
Hi,

It looks like `ls -1s` (single-column + '-s') does not
print the "total" summary.  The manual page describes
both flags as follows:

-1      (The numeric digit "one").  Force output
        to be one entry per line.  This is the default
        when output is not to a terminal.

-s      Display the number of file system blocks
        actually used by each file [...]
        If the output is to a terminal, a total sum
        for all the file sizes is output on a line
        before the listing.

I.e., there is no note of '-1' changing the behavior
of '-s'.

Current output:

$ ls -1s
 4 CVS
 4 Makefile
84 a.out
12 cmp.c
 8 extern.h
24 ls.1
36 ls.c
 8 ls.h
 4 main.c
28 print.c
12 util.c

Expected output:

$ ls -1s
total 224
 4 CVS
 4 Makefile
84 a.out
12 cmp.c
 8 extern.h
24 ls.1
36 ls.c
 8 ls.h
 4 main.c
28 print.c
12 util.c


The fix is trivial (see attached), but I wanted to
check whether perhaps this was done by intent and
there's a reason why we're not printing the total when
using `-1`?

-Jan
ls.diff (text/plain, 434 B)
Index: print.c
===================================================================
RCS file: /cvsroot/src/bin/ls/print.c,v
retrieving revision 1.57
diff -b -u -r1.57 print.c
--- print.c	17 May 2020 23:34:11 -0000	1.57
+++ print.c	3 Nov 2024 19:30:11 -0000
@@ -117,6 +117,9 @@
 {
 	FTSENT *p;
 
+	if (!f_leafonly)
+		printtotal(dp);		/* "total: %u\n" */
+
 	for (p = dp->list; p; p = p->fts_link) {
 		if (IS_NOPRINT(p))
 			continue;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.