Skip to content

Commit 912c881

Browse files
committed
fix(ls): disambiguate size sorting appropiately
1 parent 9559e9b commit 912c881

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

src/uu/ls/src/ls.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1480,7 +1480,12 @@ fn sort_entries(entries: &mut [PathData], config: &Config) {
14801480
)
14811481
}),
14821482
Sort::Size => {
1483-
entries.sort_unstable_by_key(|k| Reverse(k.metadata().map_or(0, Metadata::len)));
1483+
entries.sort_unstable_by(|a, b| {
1484+
b.metadata()
1485+
.map_or(0, Metadata::len)
1486+
.cmp(&a.metadata().map_or(0, Metadata::len))
1487+
.then(a.file_name().cmp(b.file_name()))
1488+
});
14841489
}
14851490
// The default sort in GNU ls is case insensitive
14861491
Sort::Name => entries.sort_unstable_by(|a, b| a.display_name().cmp(b.display_name())),

0 commit comments

Comments
 (0)