From 0226791b14d55b9a127bce559e1475d5865edd6f Mon Sep 17 00:00:00 2001 From: AngeD Date: Fri, 21 Oct 2022 17:06:46 +0200 Subject: [PATCH] fix: cleaner dkpurge getopts --- bin/dkpurge | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/bin/dkpurge b/bin/dkpurge index 5167e49..f091336 100755 --- a/bin/dkpurge +++ b/bin/dkpurge @@ -17,14 +17,19 @@ EOF } function add_opt() { - if [ "$(($1 & $2))" == 0 ]; then - echo "$(($1 + $2))" - else - echo "$1" - fi + local RESULT + + RESULT="$(unset "1")" + for o in "$@"; do + if [ "$((RESULT & o))" == 0 ]; then + RESULT="$((RESULT + o))" + else + RESULT="$RESULT" + fi + done + echo "$RESULT" } -CLEAN=0 c=1 C=2 v=4 @@ -33,7 +38,7 @@ I=16 n=32 a="$((c + C + v + I + n))" - +CLEAN=0 while getopts hcCviIna o; do case "$o" in h) @@ -43,8 +48,7 @@ while getopts hcCviIna o; do CLEAN="$(add_opt "$CLEAN" "$c")" ;; C) - CLEAN="$(add_opt "$CLEAN" "$c")" - CLEAN="$(add_opt "$CLEAN" "$C")" + CLEAN="$(add_opt "$CLEAN" "$c" "$C")" ;; v) CLEAN="$(add_opt "$CLEAN" "$v")" @@ -59,11 +63,7 @@ while getopts hcCviIna o; do CLEAN="$(add_opt "$CLEAN" "$n")" ;; a) - CLEAN="$(add_opt "$CLEAN" "$c")" - CLEAN="$(add_opt "$CLEAN" "$C")" - CLEAN="$(add_opt "$CLEAN" "$v")" - CLEAN="$(add_opt "$CLEAN" "$I")" - CLEAN="$(add_opt "$CLEAN" "$n")" + CLEAN="$(add_opt "$CLEAN" "$c" "$C" "$v" "$I" "$n")" ;; *) exit 1