diff options
Diffstat (limited to 'src/browser.c')
-rw-r--r-- | src/browser.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/browser.c b/src/browser.c index d4a04db..ee93404 100644 --- a/src/browser.c +++ b/src/browser.c @@ -48,15 +48,16 @@ int cmp(struct dir *x, struct dir *y) { b = y; a = x; } if(!(bflags & BF_NDIRF) && y->flags & FF_DIR && !(x->flags & FF_DIR)) - r = 1; - else if(!(bflags & BF_NDIRF) && !(y->flags & FF_DIR) && x->flags & FF_DIR) - r = -1; - else if(bflags & BF_NAME) + return(1); + if(!(bflags & BF_NDIRF) && !(y->flags & FF_DIR) && x->flags & FF_DIR) + return(-1); + + if(bflags & BF_NAME) r = strcmp(a->name, b->name); - else if(bflags & BF_FILES) - r = (a->files - b->files); if(r == 0) r = a->size > b->size ? 1 : (a->size == b->size ? 0 : -1); + if(r == 0) + r = strcmp(a->name, b->name); return(r); } |