X-Git-Url: http://git.ozo.com/?p=openwrt-10.03%2F.git;a=blobdiff_plain;f=package%2Fbase-files%2Ffiles%2Flib%2Fupgrade%2Fcommon.sh;fp=package%2Fbase-files%2Ffiles%2Flib%2Fupgrade%2Fcommon.sh;h=06c257b639ffd381db22ae5deecba2408c694fda;hp=2c392496a0981763ebfa31dadbef00dbd3ff16d4;hb=75b6ff70318b01f5a7ef2d4d3959ec5f25dc6b03;hpb=e2e0b921de20d12a3e331a2f067455f2a6489153 diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh index 2c392496a..06c257b63 100644 --- a/package/base-files/files/lib/upgrade/common.sh +++ b/package/base-files/files/lib/upgrade/common.sh @@ -105,26 +105,26 @@ rootfs_type() { get_image() { # [ ] local from="$1" - local cmd="$2" - local conc - - if [ -z "$cmd" ]; then - case "$from" in - http://*|ftp://*) cmd="wget -O- -q";; - *) cmd="cat";; - esac + local conc="$2" + local cmd + + case "$from" in + http://*|ftp://*) cmd="wget -O- -q";; + *) cmd="cat";; + esac + if [ -z "$conc" ]; then local magic="$(eval $cmd $from | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"')" case "$magic" in - 1f8b) conc="| zcat";; - 425a) conc="| bzcat";; + 1f8b) conc="zcat";; + 425a) conc="bzcat";; esac fi - eval "$cmd $from $conc" + eval "$cmd $from ${conc:+| $conc}" } get_magic_word() { - get_image "$1" | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"' + get_image "$@" | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"' } refresh_mtd_partitions() {