From 0f39877bacc59049eb0185a93abbcbe23f180bde Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Thu, 26 Jun 2014 11:43:42 +0000
Subject: [PATCH] scripts/ubinize-image.sh: fix parameter handling

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 | 51 +++++++++++++++++++++-------------------
 1 file changed, 27 insertions(+), 24 deletions(-)

diff --git a/scripts/ubinize-image.sh b/scripts/ubinize-image.sh
index 1058aba812..6ffedc5f32 100755
--- a/scripts/ubinize-image.sh
+++ b/scripts/ubinize-image.sh
@@ -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
-- 
GitLab