From 54d6d78d9dc1368d50833489efb918b0dcfba70a Mon Sep 17 00:00:00 2001 From: Yorhel <git@yorhel.nl> Date: Wed, 30 Apr 2014 13:00:23 +0200 Subject: [PATCH] delete.c: Minor nitpicks The ternary operator is awesome, makes DRY much easier. "_clear" -> "clearing" is just a preference. --- src/delete.c | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/src/delete.c b/src/delete.c index f863cfe..504cbe0 100644 --- a/src/delete.c +++ b/src/delete.c @@ -37,22 +37,21 @@ static struct dir *root, *nextsel, *curdir; -static char noconfirm = 0, ignoreerr = 0, state, seloption; -static int lasterrno, _clear = 0; +static char noconfirm = 0, ignoreerr = 0, clearing, state, seloption; +static int lasterrno; static void delete_draw_confirm() { - - if (_clear) { + if(clearing) { nccreate(6, 60, "Confirm clear"); - ncprint(1, 2, "Are you sure you want to clear \"%s\"%c", - cropstr(root->name, 21), root->flags & FF_DIR ? ' ' : '?'); + ncprint(1, 2, "Are you sure you want to clear \"%s\"?", cropstr(root->name, 21)); } else { + int single = !(root->flags & FF_DIR) || root->sub == NULL; nccreate(6, 60, "Confirm delete"); ncprint(1, 2, "Are you sure you want to delete \"%s\"%c", - cropstr(root->name, 21), root->flags & FF_DIR ? ' ' : '?'); + cropstr(root->name, 21), single ? '?' : ' '); - if(root->flags & FF_DIR) + if(!single) ncprint(2, 18, "and all of its contents?"); } @@ -74,11 +73,7 @@ static void delete_draw_confirm() { static void delete_draw_progress() { - if (_clear) - nccreate(6, 60, "Clearing..."); - else - nccreate(6, 60, "Deleting..."); - + nccreate(6, 60, clearing ? "Clearing..." : "Deleting..."); ncaddstr(1, 2, cropstr(getpath(curdir), 47)); ncaddstr(4, 41, "Press q to abort"); } @@ -87,10 +82,9 @@ static void delete_draw_progress() { static void delete_draw_error() { nccreate(6, 60, "Error!"); - if (_clear && root == curdir) - ncprint(1, 2, "Can't clear %s:", cropstr(getpath(curdir), 42)); - else - ncprint(1, 2, "Can't delete %s:", cropstr(getpath(curdir), 42)); + ncprint(1, 2, + clearing && root == curdir ? "Can't clear %s:" : "Can't delete %s:", + cropstr(getpath(curdir), 42)); ncaddstr(2, 4, strerror(lasterrno)); if(seloption == 0) @@ -200,7 +194,7 @@ static int delete_dir(struct dir *dr) { } if((r = chdir("..")) < 0) goto delete_nxt; - r = dr->sub == NULL && (!_clear || dr != root) ? rmdir(dr->name) : 0; + r = dr->sub == NULL && (!clearing || dr != root) ? rmdir(dr->name) : 0; } else r = unlink(dr->name); @@ -214,7 +208,7 @@ delete_nxt: if(input_handle(0)) return 1; } else if( !(dr->flags & FF_DIR && dr->sub != NULL) - && (!_clear || root != dr)) { + && (!clearing || root != dr)) { freedir(dr); return 0; } @@ -249,7 +243,7 @@ void delete_process() { delete_dir(root); if(nextsel) nextsel->flags |= FF_BSEL; - if (_clear) + if(clearing) browse_init(root); else browse_init(par); @@ -263,6 +257,6 @@ void delete_init(struct dir *dr, struct dir *s, int clear) { root = curdir = dr; pstate = ST_DEL; nextsel = s; - _clear = clear; + clearing = !!clear; } -- GitLab