scripts/ubinize-image.sh: fix parameter handling
authorJohn Crispin <john@openwrt.org>
Thu, 26 Jun 2014 11:43:42 +0000 (11:43 +0000)
committerJohn Crispin <john@openwrt.org>
Thu, 26 Jun 2014 11:43:42 +0000 (11:43 +0000)
ubinize-image.sh previously used ${var:offset:length} substitutions
which are not valid in standard shell.
Replace the existing parameter matching by a case ... esac expression.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 41347

scripts/ubinize-image.sh

index 1058aba..6ffedc5 100755 (executable)
@@ -57,36 +57,39 @@ ubilayout() {
 }
 
 while [ "$1" ]; do
-       if [ "$1" = "--uboot-env" ]; then
+       case "$1" in
+       "--uboot-env")
                ubootenv="ubootenv"
                shift
                continue
-       fi
-       if [ "$1" = "--no-kernel" ]; then
+               ;;
+       "--no-kernel")
                nokernel="nokernel"
                shift
                continue
-       fi
-       if [ ! "$kernel" -a ! "$nokernel" ]; then
-               [ "${1:0:1}" = "-" ] && break
-               kernel=$1
-               shift
-               continue
-       fi
-       if [ ! "$rootfs" ]; then
-               [ "${1:0:1}" = "-" ] && break
-               rootfs=$1
-               shift
-               continue
-       fi
-       if [ ! "$outfile" ]; then
-               [ "${1:0:1}" = "-" ] && break
-               outfile=$1
-               shift
-               continue
-       fi
-       ubinize_param="$@"
-       break
+               ;;
+       "-"*)
+               ubinize_param="$@"
+               break
+               ;;
+       *)
+               if [ ! "$kernel" -a ! "$nokernel" ]; then
+                       kernel=$1
+                       shift
+                       continue
+               fi
+               if [ ! "$rootfs" ]; then
+                       rootfs=$1
+                       shift
+                       continue
+               fi
+               if [ ! "$outfile" ]; then
+                       outfile=$1
+                       shift
+                       continue
+               fi
+               ;;
+       esac
 done
 
 if [ ! -r "$rootfs" -o ! -r "$kernel" -a ! "$nokernel" -o ! "$outfile" ]; then