From cc3f4bb9ffdbd3d0161be5b232f3b36d1fd51215 Mon Sep 17 00:00:00 2001 From: juhosg Date: Fri, 8 Nov 2013 12:16:21 +0000 Subject: [PATCH] base-files: mtd_get_mac_ascii bugfix The mtd_get_mac_ascii utility function was broken. This fixes it. - Remove the superfluous include of /lib/functions.sh. The function is already in that file so it is pointless, - only use a variable if the whole key word matches, - don't try to process the MAC address if it is empty, - use 'tr' to canonicalize the MAC address, Signed-off-by: Daniel Gimpelevich [juhosg: add more fixes, update commit message] Signed-off-by: Gabor Juhos git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38690 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/Makefile | 2 +- package/base-files/files/lib/functions.sh | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 3ba30c3abc..f0b2e37d5b 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/version.mk PKG_NAME:=base-files -PKG_RELEASE:=146 +PKG_RELEASE:=147 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ PKG_BUILD_DEPENDS:=opkg/host diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh index 19cfbae172..6cb6df92fd 100755 --- a/package/base-files/files/lib/functions.sh +++ b/package/base-files/files/lib/functions.sh @@ -248,17 +248,16 @@ mtd_get_mac_ascii() local part local mac_dirty - . /lib/functions.sh - part=$(find_mtd_part "$mtdname") if [ -z "$part" ]; then echo "mtd_get_mac_ascii: partition $mtdname not found!" >&2 return fi - mac_dirty=$(strings "$part" | sed -n 's/'"$key"'=//p') + mac_dirty=$(strings "$part" | sed -n 's/^'"$key"'=//p') + # "canonicalize" mac - printf "%02x:%02x:%02x:%02x:%02x:%02x" 0x${mac_dirty//:/ 0x} + [ -n "$mac_dirty" ] && echo ${mac_dirty} | tr [A-F] [a-f] } mtd_get_mac_binary() { -- 2.11.0