From: John Crispin <john@openwrt.org>
Date: Wed, 31 Mar 2010 21:12:02 +0000 (+0000)
Subject: improve extract code
X-Git-Tag: reboot~20350
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=bfc37a1a1906ed5d7c310766688fd903a2704032;p=openwrt%2Fstaging%2Fchunkeey.git

improve extract code

SVN-Revision: 20641
---

diff --git a/target/linux/ifxmips/extract.sh b/target/linux/ifxmips/extract.sh
index 4024969d1f..7b1c1da0b1 100755
--- a/target/linux/ifxmips/extract.sh
+++ b/target/linux/ifxmips/extract.sh
@@ -11,10 +11,16 @@ echo "Please only do so if it is legal in your country"
 	exit 1
 }
 
-[ ! -f ${DIR}bbd.crypt ] && {
-	dd if=${FILE} of=${DIR}bbd.crypt bs=1 skip=104 count=1472302
+[ -f ${DIR}/ifxmips_fw_decode.tar.bz2 -a ! -f ${DIR}voip_coef.bin ] && {
+	[ ! -f ${DIR}decode_ifx_fw ] && {
+		tar xjf ${DIR}ifxmips_fw_decode.tar.bz2 ifxmips_fw_decode/decode.c -O > ${DIR}decode.c
+		gcc -o ${DIR}decode_ifx_fw ${DIR}decode.c
+	}
+	[ ! -f ${DIR}voip_coef.lzma ] && {
+		${DIR}decode_ifx_fw $FILE ${DIR}voip_coef.lzma
+	}
+	lzma d ${DIR}voip_coef.lzma ${DIR}voip_coef.bin
 }
-
 [ ! -f ${DIR}dsl_a.bin ] && {
 	dd if=${FILE} of=${DIR}dsl1.lzma bs=1 skip=2168832 count=150724
 	lzma d ${DIR}dsl2.lzma ${DIR}dsl_a.bin