-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