From ca7ae5c14271b3071c81d299687307d752239e48 Mon Sep 17 00:00:00 2001 From: yorhel <yorhel@ce56bc8d-f834-0410-b703-f827bd498a76> Date: Thu, 11 Dec 2008 17:13:03 +0000 Subject: [PATCH] Items are ordered by displayed size rather than disk usage git-svn-id: svn://blicky.net/ncdu/trunk@46 ce56bc8d-f834-0410-b703-f827bd498a76 --- ChangeLog | 1 + src/browser.c | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6d93283..26ce6f4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,7 @@ svn - ? - Browsing keys now work while file info window is displayed - Current directory is assumed when no directory is specified - Size graph uses the apparent size if that is displayed + - Items are ordered by displayed size rather than disk usage 1.4 - 2008-09-10 - Removed the startup window diff --git a/src/browser.c b/src/browser.c index be95cd5..7127ea2 100644 --- a/src/browser.c +++ b/src/browser.c @@ -68,10 +68,17 @@ int cmp(struct dir *x, struct dir *y) { if(bflags & BF_NAME) r = strcmp(a->name, b->name); - if(r == 0) - r = a->size > b->size ? 1 : (a->size == b->size ? 0 : -1); - if(r == 0) - r = a->asize > b->asize ? 1 : (a->asize == b->asize ? 0 : -1); + if(bflags & BF_AS) { + if(r == 0) + r = a->asize > b->asize ? 1 : (a->asize == b->asize ? 0 : -1); + if(r == 0) + r = a->size > b->size ? 1 : (a->size == b->size ? 0 : -1); + } else { + if(r == 0) + r = a->size > b->size ? 1 : (a->size == b->size ? 0 : -1); + if(r == 0) + r = a->asize > b->asize ? 1 : (a->asize == b->asize ? 0 : -1); + } if(r == 0) r = strcmp(x->name, y->name); return(r); @@ -486,7 +493,7 @@ void showBrowser(void) { else goto endloop; } - if((last != bcur || (oldflags | BF_HIDE | BF_AS | BF_INFO) != (bflags | BF_HIDE | BF_AS | BF_INFO)) && bflags & BF_SORT) + if((last != bcur || (oldflags | BF_HIDE | BF_INFO) != (bflags | BF_HIDE | BF_INFO)) && bflags & BF_SORT) bflags -= BF_SORT; drawBrowser(change); -- GitLab