summaryrefslogtreecommitdiffstats
path: root/bin/ls
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2006-03-24 16:47:22 +0000
committerjhb <jhb@FreeBSD.org>2006-03-24 16:47:22 +0000
commit3feffffd9831cc82e1e3ebc7a648013c06c55d0d (patch)
treec4865cf0466ba36ae8f51f934ab849fe528005ff /bin/ls
parent64b8916c3ee96d1be07742f956b21ab9bd111b8f (diff)
downloadFreeBSD-src-3feffffd9831cc82e1e3ebc7a648013c06c55d0d.zip
FreeBSD-src-3feffffd9831cc82e1e3ebc7a648013c06c55d0d.tar.gz
Fix a bug such that if you enabled sorting by size (-S) and enabled a
flag to use a time other than modtime (-c, -u, or -U), the output would actually be sorted by the specified time rather than size. This does alter the behavior in the case where both -S and -t are specified. Now, -S is always preferred. Previously, -t was preferred if one of -c, -u, or -U was specified, and -S was preferred otherwise. Perhaps -S and -t should override each other (last one specified wins).
Diffstat (limited to 'bin/ls')
-rw-r--r--bin/ls/ls.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/bin/ls/ls.c b/bin/ls/ls.c
index 4a752ce..053803c 100644
--- a/bin/ls/ls.c
+++ b/bin/ls/ls.c
@@ -416,27 +416,27 @@ main(int argc, char *argv[])
if (f_reversesort) {
if (!f_timesort && !f_sizesort)
sortfcn = revnamecmp;
+ else if (f_sizesort)
+ sortfcn = revsizecmp;
else if (f_accesstime)
sortfcn = revacccmp;
else if (f_birthtime)
sortfcn = revbirthcmp;
else if (f_statustime)
sortfcn = revstatcmp;
- else if (f_sizesort)
- sortfcn = revsizecmp;
else /* Use modification time. */
sortfcn = revmodcmp;
} else {
if (!f_timesort && !f_sizesort)
sortfcn = namecmp;
+ else if (f_sizesort)
+ sortfcn = sizecmp;
else if (f_accesstime)
sortfcn = acccmp;
else if (f_birthtime)
sortfcn = birthcmp;
else if (f_statustime)
sortfcn = statcmp;
- else if (f_sizesort)
- sortfcn = sizecmp;
else /* Use modification time. */
sortfcn = modcmp;
}
OpenPOWER on IntegriCloud