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;;

We tend to use variables in all capitals for things like this.  I.e.
LOCATE and FIND.

> +             -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

I know these default to zero, but if you are going to add them I'd like
them to be explicitly set to zero at the top of the script.  See what we
do in makepkg and pacman-key for example.

> +     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*}"
> 


Reply via email to