[OpenWrt-Devel] [PATCH 2/2] procd: fix/clean some conditions in nand.sh

Rafał Miłecki zajec5 at gmail.com
Mon Nov 24 06:03:43 EST 2014


1) nand_upgrade_tar: use a simpler condition that matches if () { }
   logic and fix check of $kernel_length variable
2) nand_do_upgrade_stage2: use case, otherwise one could believe we
   always call nand_upgrade_tar

Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
---
This hasn't been tested on any hardware, could someone try that just in
case?
---
 package/system/procd/files/nand.sh | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/package/system/procd/files/nand.sh b/package/system/procd/files/nand.sh
index 0d30810..1da63e2 100644
--- a/package/system/procd/files/nand.sh
+++ b/package/system/procd/files/nand.sh
@@ -250,10 +250,10 @@ nand_upgrade_tar() {
 	local has_kernel=1
 	local has_env=0
 
-	[ "kernel_length" = 0 -o -z "$kernel_mtd" ] || {
+	[ "$kernel_length" != 0 -a -n "$kernel_mtd" ] && {
 		tar xf $tar_file sysupgrade-$board_name/kernel -O | mtd write - $CI_KERNPART
 	}
-	[ "kernel_length" = 0 -o ! -z "$kernel_mtd" ] && has_kernel=0
+	[ "$kernel_length" = 0 -o ! -z "$kernel_mtd" ] && has_kernel=0
 
 	nand_upgrade_prepare_ubi "$rootfs_length" "$rootfs_type" "$has_kernel" "$has_env"
 
@@ -277,9 +277,11 @@ nand_do_upgrade_stage2() {
 
 	[ ! "$(find_mtd_index "$CI_UBIPART")" ] && CI_UBIPART="rootfs"
 
-	[ "$file_type" = "ubi" ] && nand_upgrade_ubinized $1
-	[ "$file_type" = "ubifs" ] && nand_upgrade_ubifs $1
-	nand_upgrade_tar $1
+	case "$file_type" in
+		"ubi")		nand_upgrade_ubinized $1;;
+		"ubifs")	nand_upgrade_ubifs $1;;
+		*)		nand_upgrade_tar $1;;
+	esac
 }
 
 nand_upgrade_stage2() {
-- 
1.8.4.5
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list