- avoid use getopt --longoptions

Signed-off-by: Natanael Copa <nc...@alpinelinux.org>
---
 src/lxc/lxc-destroy.in | 41 +++++++++++++++++++++++++----------------
 1 file changed, 25 insertions(+), 16 deletions(-)

diff --git a/src/lxc/lxc-destroy.in b/src/lxc/lxc-destroy.in
index 1527495..0c27e4a 100644
--- a/src/lxc/lxc-destroy.in
+++ b/src/lxc/lxc-destroy.in
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 
 #
 # lxc: linux Container library
@@ -39,38 +39,47 @@ help() {
     echo "  -f        stop the container if it is running (rather than abort)" 
>&2
 }
 
-shortoptions='hn:f'
-longoptions='help,name:'
-lxc_path=@LXCPATH@
-force=0
-
-getopt=$(getopt -o $shortoptions --longoptions  $longoptions -- "$@")
-if [ $? != 0 ]; then
+usage_err() {
+    [ -n "$1" ] && echo "$1" >&2
     usage
-    exit 1;
-fi
+    exit 1
+}
 
-eval set -- "$getopt"
+optarg_check() {
+    if [ -z "$2" ]; then
+        usage_err "option '$1' requires an argument"
+    fi
+}
 
-while true; do
-        case "$1" in
+lxc_path=@LXCPATH@
+force=0
+
+while [ $# -gt 0 ]; do
+        opt="$1"
+        shift
+        case "$opt" in
             -h|--help)
                 help
                 exit 1
             ;;
             -n|--name)
-                shift
+                optarg_check "$opt" "$1"
                 lxc_name=$1
                 shift
             ;;
             -f)
                 force=1
-                shift
             ;;
             --)
-                shift
                 break
             ;;
+            -?)
+                usage_err "unknown option '$opt'"
+            ;;
+            -*)
+                # split opts -abc into -a -b -c
+                set -- $(echo "${opt#-}" | sed 's/\(.\)/ -\1/g') "$@"
+                ;;
             *)
             usage
             exit 1
-- 
1.8.0.2


------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to