sbase

suckless unix tools
git clone git://git.2f30.org/sbase
Log | Files | Refs | README | LICENSE

commit 3a3cd240920e9fef6a3c5c07521f71368c2e69ed
parent 96c8c5f389f358da904ed3e9c07b0ba76cb21644
Author: Markus Teich <markus.teich@stusta.mhn.de>
Date:   Fri,  4 Oct 2013 11:12:11 +0100

ls: add option to reverse the sort order

Now you can list directory contents ordered by mtime with the
latest file displayed last in the output.

Diffstat:
Mls.1 | 3+++
Mls.c | 8++++++--
2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ls.1 b/ls.1 @@ -24,6 +24,9 @@ print the index number of each file. lists detailed information about each file, including their type, permissions, links, owner, group, size, and modification time. .TP +.B \-r +reverses the sort order. +.TP .B \-t sorts files by modification time instead of by name. .TP diff --git a/ls.c b/ls.c @@ -35,6 +35,7 @@ static bool iflag = false; static bool lflag = false; static bool tflag = false; static bool Uflag = false; +static int sortorder = 1; static bool first = true; static bool many; @@ -63,6 +64,9 @@ main(int argc, char *argv[]) case 'l': lflag = true; break; + case 'r': + sortorder = -1; + break; case 't': tflag = true; break; @@ -94,9 +98,9 @@ entcmp(const void *va, const void *vb) const Entry *a = va, *b = vb; if(tflag) - return b->mtime - a->mtime; + return sortorder * (b->mtime - a->mtime); else - return strcmp(a->name, b->name); + return sortorder * (strcmp(a->name, b->name)); } void