]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
lxc-destroy: use posix shell instead of bash
authorNatanael Copa <ncopa@alpinelinux.org>
Tue, 25 Dec 2012 16:08:53 +0000 (17:08 +0100)
committerStéphane Graber <stgraber@ubuntu.com>
Tue, 25 Dec 2012 16:30:19 +0000 (17:30 +0100)
- avoid use getopt --longoptions

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
src/lxc/lxc-destroy.in

index 15274957487d0135a0c8ea8a10f9f3bc8bafbaf0..0c27e4a1a7d31cfa1a48d9e9829bd7b9f0117a44 100644 (file)
@@ -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