wok-current rev 9342
lzma, xz: add lzma --size
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Mar 19 12:43:20 2011 +0100 (2011-03-19) |
parents | 2a2419122241 |
children | 90ab20b44e0f |
files | lzma/stuff/lzma xz/stuff/lzma |
line diff
1.1 --- a/lzma/stuff/lzma Sat Mar 19 11:26:36 2011 +0100 1.2 +++ b/lzma/stuff/lzma Sat Mar 19 12:43:20 2011 +0100 1.3 @@ -2,6 +2,17 @@ 1.4 1.5 case "$1" in 1.6 d|e|b) exec /usr/bin/lzma-alone $@;; 1.7 +--size) size=$(dd if=$2 bs=1 skip=5 count=8 2> /dev/null | od -t d8 | awk '{ print $2; exit }') 1.8 + if [ $size -eq -1 ]; then 1.9 + size=$(unlzma -c $2 | wc -c) 1.10 + n=$size 1.11 + for i in $(seq 1 8); do 1.12 + printf '\\\\x%02X' $(($n & 255)) 1.13 + n=$(($n >> 8)) 1.14 + done | xargs echo -en | dd of=$2 conv=notrunc bs=1 seek=5 2> /dev/null 1.15 + fi 1.16 + echo $size 1.17 + exit ;; 1.18 --version|-V|--help|-h|-\?) exec /usr/bin/lzma-alone;; 1.19 esac 1.20
2.1 --- a/xz/stuff/lzma Sat Mar 19 11:26:36 2011 +0100 2.2 +++ b/xz/stuff/lzma Sat Mar 19 12:43:20 2011 +0100 2.3 @@ -84,9 +84,19 @@ 2.4 esac 2.5 2.6 # First look if help is needed. 2.7 -[ "$1" ] || usage 2.8 case "$1" in 2.9 - --version|-V|--help|-h|-\?|'') usage;; 2.10 +--version|-V|--help|-h|-\?|'') usage;; 2.11 +--size) size=$(dd if=$2 bs=1 skip=5 count=8 2> /dev/null | od -t d8 | awk '{ print $2; exit }') 2.12 + if [ $size -eq -1 ]; then 2.13 + size=$(unlzma -c $2 | wc -c) 2.14 + n=$size 2.15 + for i in $(seq 1 8); do 2.16 + printf '\\\\x%02X' $(($n & 255)) 2.17 + n=$(($n >> 8)) 2.18 + done | xargs echo -en | dd of=$2 conv=notrunc bs=1 seek=5 2> /dev/null 2.19 + fi 2.20 + echo $size 2.21 + exit ;; 2.22 esac 2.23 2.24 # lzma_utils or lzma_alone ?