device numbers greater than 999 by measuring the two widths needed
for device numbers just like it is already done for other numbers.
In the output, this only changes whitespace, but not the text.
Ugly formatting reported by
Crystal Kolipe <kolipe dot c at exoticsilicon dot com>.
OK millert. Also tested by Crystal Kolipe.
we have no entries to print (either due to an empty directory or
an error). This makes the -l and -s options more consistent, and
matches the behavior of AT&T and GNU ls. From FreeBSD (das).
OK kn@
Previously, our ls would only print the directory name when listing
more than one directory, which is the correct behavior for non-recursive
ls but not for -R mode. OK deraadt@
It is not enough to avoid displaying the contents of the directory,
we need to set FTS_SKIP to avoid descending into any subdirs too.
Otherwise, if a ".foo" directory has a subdirectory "bar", ls will
descend into bar and display its contents. OK deraadt@
Previously behaviors were all over the map. This changes them to
use COLUMNS first, and either terminal width or a hardcoded value
(typically 80) as appropriate.
ok deraadt@; man bits ok jmc@
non-printable Unicode codepoints and invalid bytes with ASCII
question marks. No change for the SMALL version.
Using ideas developed by tedu@, phessler@, bentley@ and feedback from many.
OK yasuoka@ czarkoff@ sthen@.
Not bugs in short-lived commands that call exit() -> _exit() immediately,
but for idempotency.
Originally found in ls(1) by Valgrind. Changes for other commands are
from deraadt@. Reviewed by me, tested in snapshots.
OK deraadt@
forgot to restore it when the -f flag was put back on 2nd of September 1989,
after being removed on 16th of August as a consequence of issues getting it
working over NFS, so deviation from traditional UNIX behavior in all BSDs
looks like an historical accident; as a side effect, this change accommodates
behavior of this option to IEEE Std 1003.1-2008 (``POSIX.1'').
joint work with jmc@ (who found the inaccuracy in our implementation),
schwarze@ (who provided a detailed tracking of historical facts) and millert@
ok millert@, schwarze@
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms
an empty dir non-recursively. By not setting FTS_SKIP on the empty
subdir, a next iteration of the fts_read loop recurses into the
subdir, which might not be empty any more. Report by jacekm@,
troublespot identified by pedro@; ok pedro@ millert@
behaviour now similar to netbsd/freebsd/solaris.
- make -gn and -ng combinations behave identically: long listing, numeric
group ID, no user ID. currently -g overrides -n. behaviour now similar to
netbsd/solaris.
- allow -m and -x to override -1Cgln (and each other) if specified last.
currently -m and -x can be overriden even if they are specified last.
behaviour now similar to netbsd/freebsd. fixes PR 5785 from
Jacek Masiulaniec.
- update man page to reflect reality.
ls.c diff based on Jacek Masiulaniec's diff from PR 5785, and extended by
sobrado. this work is really a joint effort from sobrado and myself.
i don't know about igor, but this particular diff has nearly killed me...
ok millert otto
since they are prototyped in grp.h and pwd.h.
o Increase size of 'buf' to 21 since we store the string representation
of a u_quad_t in it (max 20 chars + the NUL).
o Minor KNF wrt pointers in boolean context.
From Denis Afonin