diff options
author | jhb <jhb@FreeBSD.org> | 2006-03-24 16:47:22 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2006-03-24 16:47:22 +0000 |
commit | 3feffffd9831cc82e1e3ebc7a648013c06c55d0d (patch) | |
tree | c4865cf0466ba36ae8f51f934ab849fe528005ff /bin | |
parent | 64b8916c3ee96d1be07742f956b21ab9bd111b8f (diff) | |
download | FreeBSD-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')
-rw-r--r-- | bin/ls/ls.c | 8 |
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; } |