diff options
author | John Baldwin <jhb@FreeBSD.org> | 2006-03-24 16:47:22 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2006-03-24 16:47:22 +0000 |
commit | 86cca1e75ed02a39d8fd8785fa8db8de71a72cfb (patch) | |
tree | c4865cf0466ba36ae8f51f934ab849fe528005ff /bin/ls/ls.c | |
parent | bea12be630bd7c9b064f75895420238044c79491 (diff) |
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).
Notes
Notes:
svn path=/head/; revision=157100
Diffstat (limited to 'bin/ls/ls.c')
-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 4a752ce2f989..053803cf2ec5 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; } |