Signed-off-by: Florian Pritz <bluew...@xinu.at>
---
 scripts/pkgdelta.sh.in |   41 ++++++++++++++++++++++++-----------------
 1 file changed, 24 insertions(+), 17 deletions(-)

diff --git a/scripts/pkgdelta.sh.in b/scripts/pkgdelta.sh.in
index 5a2e6a3..806ae23 100644
--- a/scripts/pkgdelta.sh.in
+++ b/scripts/pkgdelta.sh.in
@@ -38,11 +38,14 @@ m4_include(library/output_format.sh)
 # print usage instructions
 usage() {
        printf "pkgdelta (pacman) %s\n\n" "$myver"
-       printf -- "$(gettext "Usage: pkgdelta [-q] <package1> <package2>\n")"
+       printf -- "$(gettext "Usage: pkgdelta [options] <package1> 
<package2>\n")"
        printf -- "$(gettext "\
        pkgdelta will create a delta file between two packages.\n\
 This delta file can then be added to a database using repo-add.\n\n")"
        printf -- "$(gettext "Example:  pkgdelta pacman-3.0.0.pkg.tar.gz 
pacman-3.0.1.pkg.tar.gz")\n"
+       echo
+       printf -- "$(gettext "Options:\n")"
+       printf -- "  -q                ""$(gettext "quiet\n")"
 }
 
 version() {
@@ -123,32 +126,36 @@ create_xdelta()
        return 0
 }
 
-case "$1" in
-       -h|--help)    usage; exit 0 ;;
-       -V|--version) version; exit 0 ;;
-       -q|--quiet)   QUIET=1; shift ;;
-esac
+declare -a args
 
-if (( $# != 2 )); then
+# parse arguments
+while (( $# )); do
+       case "$1" in
+               -h|--help)    usage; exit 0 ;;
+               -V|--version) version; exit 0 ;;
+               -q|--quiet) QUIET=1;;
+               *) args+=("$1");;
+       esac
+       shift
+done
+
+if (( ${#args[@]} != 2 )); then
        usage
        exit 1
 fi
 
-if [[ ! -f $1 ]]; then
-       error "$(gettext "File '%s' does not exist")" "$1"
-       exit 0
-fi
-
-if [[ ! -f $2 ]]; then
-       error "$(gettext "File '%s' does not exist")" "$2"
-       exit 0
-fi
+for i in "${args[@]}"; do
+       if [[ ! -f $i ]]; then
+               error "$(gettext "File '%s' does not exist")" "$i"
+               exit 0
+       fi
+done
 
 if ! type xdelta3 &>/dev/null; then
        error "$(gettext "Cannot find the xdelta3 binary! Is xdelta3 
installed?")"
        exit 1
 fi
 
-create_xdelta "$1" "$2"
+create_xdelta "${args[0]}" "${args[1]}"
 
 # vim: set ts=2 sw=2 noet:
-- 
1.7.9.6

Reply via email to