On 17/07/13 04:00, Jonathan Frazier wrote: > change cmd tests to if (( $find ))... as it is cleaner. All search cmds > have an option and a variable initialized to zero. the active option > should be set to 1. Add a switch to exclude multiple search options. > set the default when all are equal to zero. > > Signed-off-by: Jonathan Frazier <[email protected]> > --- > contrib/pacdiff.sh.in | 26 +++++++++++++++++++------- > 1 file changed, 19 insertions(+), 7 deletions(-) > > diff --git a/contrib/pacdiff.sh.in b/contrib/pacdiff.sh.in > index a39a02a..c12e9d5 100644 > --- a/contrib/pacdiff.sh.in > +++ b/contrib/pacdiff.sh.in > @@ -23,19 +23,23 @@ declare -r myver='@PACKAGE_VERSION@' > > diffprog=${DIFFPROG:-vimdiff} > diffsearchpath=${DIFFSEARCHPATH:-/etc} > -locate=0 > USE_COLOR='y' > > +declare -i findActive=0 locateActive=0 > + > m4_include(../scripts/library/output_format.sh) > > usage() { > cat <<EOF > $myname is a simple pacnew/pacorig/pacsave updater. > > -Usage: $myname [-l] > +Usage: $myname [-l | -f] [--nocolor] > + > +Search Options: select one, default: find > + -l/--locate scan using locate > + -f/--find scan using find > > -Options: > - -l/--locate scan using locate (default: find) > +General Options: > --nocolor remove colors from output > > Enviroment Variables: > @@ -55,9 +59,9 @@ version() { > } > > cmd() { > - if [ $locate -eq 1 ]; then > + if (( $locateActive )); then > locate -0 -e -b \*.pacnew \*.pacorig \*.pacsave > '*.pacsave.[0-9]' > - else > + elif (( $findActive )); then > find $diffsearchpath \( -name \*.pacnew -o -name \*.pacorig -o > -name \*.pacsave -o -name '*.pacsave.[0-9]' \) -print0 > fi > } > @@ -65,7 +69,9 @@ cmd() { > while [[ -n "$1" ]]; do > case "$1" in > -l|--locate) > - locate=1;; > + locateActive=1;;
Can you fix the indentation here too? Extra tabs needed. > + -f|--find) > + findActive=1;; > --nocolor) > USE_COLOR='n' ;; > -V|--version) > @@ -80,6 +86,12 @@ done > > m4_include(../scripts/library/term_colors.sh) > > +case $(( findActive+locateActive )) in > + 0) findActive=1;; # set the default search option > + [^1]) error "Only one search option may be used at a time" > + usage; exit 1;; > +esac > + > # see http://mywiki.wooledge.org/BashFAQ/020 > while IFS= read -u 3 -r -d '' pacfile; do > file="${pacfile%.pac*}" >
