From 5e6f8739be1b3de38ed7ad1c7dc80bc1f4c4bf31 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Fri, 15 Jun 2007 15:59:56 +0000
Subject: [PATCH] some shell variable handling fixes

SVN-Revision: 7638
---
 package/base-files/files/etc/functions.sh  | 6 +++---
 package/base-files/files/lib/config/uci.sh | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh
index 7ba59afbbe..8d1117163d 100755
--- a/package/base-files/files/etc/functions.sh
+++ b/package/base-files/files/etc/functions.sh
@@ -55,7 +55,7 @@ config_rename() {
 	local oldvar
 	local newvar
 	
-	[ "$OLD" -a "$NEW" ] || return
+	[ -n "$OLD" -a -n "$NEW" ] || return
 	for oldvar in `set | grep ^CONFIG_${OLD}_ | \
 		sed -e 's/\(.*\)=.*$/\1/'` ; do
 		newvar="CONFIG_${NEW}_${oldvar##CONFIG_${OLD}_}"
@@ -139,7 +139,7 @@ config_foreach() {
 	[ -z "$CONFIG_SECTIONS" ] && return 0
 	for section in ${CONFIG_SECTIONS}; do
 		config_get cfgtype "$section" TYPE
-		[ -n "$type" -a "$cfgtype" != "$type" ] && continue
+		[ -n "$type" -a "x$cfgtype" != "x$type" ] && continue
 		eval "$function \"\$section\""
 	done
 }
@@ -186,7 +186,7 @@ strtok() { # <string> { <variable> [<separator>] ... }
 		shift 2
 	done
 
-	if [ $# -gt 0 -a "$val" ]; then
+	if [ $# -gt 0 -a -n "$val" ]; then
 		export ${NO_EXPORT:+-n} "$1=$val"; count=$((count+1))
 	fi
 
diff --git a/package/base-files/files/lib/config/uci.sh b/package/base-files/files/lib/config/uci.sh
index da6ecab51c..a539388359 100644
--- a/package/base-files/files/lib/config/uci.sh
+++ b/package/base-files/files/lib/config/uci.sh
@@ -90,7 +90,7 @@ uci_set() {
 			( # spawn a subshell so you don't mess up the current environment
 				uci_load "$PACKAGE"
 				config_get OLDVAL "$CONFIG" "$OPTION"
-				if [ "$OLDVAL" != "$VALUE" ]; then
+				if [ "x$OLDVAL" != "x$VALUE" ]; then
 					config_get type "$CONFIG" TYPE
 					[ -z "$type" ]
 				fi
-- 
2.30.2