Ver Fonte

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 <[email protected]>

SVN-Revision: 41347
John Crispin há 11 anos atrás
pai
commit
0f39877bac
1 ficheiros alterados com 27 adições e 24 exclusões
  1. 27 24
      scripts/ubinize-image.sh

+ 27 - 24
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