# HG changeset patch # User Pascal Bellard # Date 1296920058 -3600 # Node ID 7d497422d8034e5dd7a403d994e6de4a0c061cd8 # Parent af59b5551936b068dd383303b7944409ec52d2c3 linux,syslinux: no more awk in shell tools diff -r af59b5551936 -r 7d497422d803 linux/stuff/bootloader.sh --- a/linux/stuff/bootloader.sh Sat Feb 05 04:06:47 2011 +0000 +++ b/linux/stuff/bootloader.sh Sat Feb 05 16:34:18 2011 +0100 @@ -58,10 +58,11 @@ # usage: store16 offset data16 file store16() { - echo $(( $2 + 0x10000 )) | \ - awk '{ printf "\\\\x%02X\\\\x%02X",$1%256,($1/256)%256 }' | \ - xargs echo -en | \ - dd bs=2 conv=notrunc of=$3 seek=$(( $1 / 2 )) 2> /dev/null + n=$2; i=2; while [ $i -ne 0 ]; do + printf '\\\\x%02X' $(($n & 255)) + i=$(($i-1)); n=$(($n >> 8)) + done | xargs echo -en | \ + dd bs=2 conv=notrunc of=$3 seek=$(( $1 / 2 )) 2> /dev/null [ -n "$DEBUG" ] && printf "store16(%04X) = %04X\n" $1 $2 1>&2 } @@ -69,9 +70,10 @@ # usage: storelong offset data32 file storelong() { - echo $2 | awk '{ printf "\\\\x%02X\\\\x%02X\\\\x%02X\\\\x%02X", - $1%256,($1/256)%256,($1/256/256)%256,($1/256/256/256)%256 }' | \ - xargs echo -en | \ + n=$2; i=4; while [ $i -ne 0 ]; do + printf '\\\\x%02X' $(($n & 255)) + i=$(($i-1)); n=$(($n >> 8)) + done | xargs echo -en | \ dd bs=4 conv=notrunc of=$3 seek=$(( $1 / 4 )) 2> /dev/null [ -n "$DEBUG" ] && printf "storelong(%04X) = %08X\n" $1 $2 1>&2 } diff -r af59b5551936 -r 7d497422d803 syslinux/stuff/tools/isohybrid.sh --- a/syslinux/stuff/tools/isohybrid.sh Sat Feb 05 04:06:47 2011 +0000 +++ b/syslinux/stuff/tools/isohybrid.sh Sat Feb 05 16:34:18 2011 +0100 @@ -64,8 +64,10 @@ # write a 32 bits data store32() { - echo $2 | awk '{ for(n=$1,i=4;i--;n/=256) printf "\\\\x%02X",n%256 }' |\ - xargs echo -en | ddq bs=1 conv=notrunc of=$iso seek=$(($1)) + n=$2; i=4; while [ $i -ne 0 ]; do + printf '\\\\x%02X' $(($n & 255)) + i=$(($i-1)); n=$(($n >> 8)) + done | xargs echo -en | ddq bs=1 conv=notrunc of=$iso seek=$(($1)) } main()