curl: Update from 7.48 to 7.49
[termux-packages] / packages / termux-api / termux-location
index 1c3e0fa..fa840c7 100755 (executable)
@@ -1,28 +1,50 @@
 #!/bin/sh
 set -e -u
 
-PARAMS=""
+SCRIPTNAME=termux-location
 show_usage () {
-       echo "usage: termux-location [OPTIONS]"
-       echo "Get the device location. Options:"
-       echo "       -r, --request      kind of request(s) to make [once/last/updates] (default: once)"
-       echo "       -p, --provider     location provider [gps/network/passive] (default: gps)"
+    echo "usage: $SCRIPTNAME [-p provider] [-r request]"
+    echo "Get the device location."
+    echo ""
+    echo "  -p provider  location provider [gps/network/passive] (default: gps)"
+    echo "  -r request   kind of request to make [once/last/updates] (default: once)"
+    echo ""
+    exit 0
+}
+
+validate_provider () {
+    PROVIDER=$1
+    case "$PROVIDER" in
+        gps) ;;
+        network) ;;
+        passive) ;;
+        *) echo "$SCRIPTNAME: Unsupported provider: '$PROVIDER'"; exit 1;;
+    esac
 }
 
-O=`busybox getopt -q -l request: -l provider: -- r:hp: "$@"`
-if [ $? != 0 ] ; then show_usage; exit 1 ; fi
-eval set -- "$O"
-while true; do
-case "$1" in
-       -h|--help) show_usage; exit 0;;
-       -r|--request) PARAMS="$PARAMS --es request $2"; shift 2;;
-       -p|--provider) PARAMS="$PARAMS --es provider $2"; shift 2;;
-       --)     shift; break;;
-       *)      echo Error; show_usage; exit 1;;
-esac
+validate_request () {
+    REQUEST=$1
+    case "$REQUEST" in
+        once) ;;
+        last) ;;
+        updates) ;;
+        *) echo "$SCRIPTNAME: Unsupported request: '$REQUEST'"; exit 1;;
+    esac
+}
+
+PARAMS=""
+
+while getopts :hr:p: option
+do
+    case "$option" in
+        h) show_usage;;
+        r) validate_request $OPTARG; PARAMS="$PARAMS --es request $OPTARG";;
+        p) validate_provider $OPTARG; PARAMS="$PARAMS --es provider $OPTARG";;
+        ?) echo "$SCRIPTNAME: illegal option -$OPTARG"; exit 1;
+    esac
 done
+shift $(($OPTIND-1))
 
-# Too many arguments:
-if [ $# != 0 ]; then show_usage; exit 1; fi
+if [ $# != 0 ]; then echo "$SCRIPTNAME: too many arguments"; exit 1; fi
 
 @TERMUX_API@ Location $PARAMS