--- editor/ppmquantall.orig 2009-04-28 03:43:45.000000000 +0200 +++ editor/ppmquantall 2013-12-30 12:26:49.000000000 +0100 @@ -53,8 +53,6 @@ newcolors=$1 shift -nfiles=$# -files=($@) # Extract the width and height of each of the images. # Here, we make the assumption that the width and height are on the @@ -62,14 +60,6 @@ # To be robust, we need to use Pnmfile to get that information, or # Put this program in C and use ppm_readppminit(). -widths=() -heights=() - -for i in ${files[@]}; do - widths=(${widths[*]} `grep -v '^#' $i | sed '1d; s/ .*//; 2q'`) - heights=(${heights[*]} `grep -v '^#' $i | sed '1d; s/.* //; 2q'`) -done - tempdir="${TMPDIR-/tmp}/ppmquantall.$$" mkdir $tempdir || { echo "Could not create temporary file. Exiting."; exit 1;} chmod 700 $tempdir @@ -78,7 +68,7 @@ all=$tempdir/pqa.all.$$ -pnmcat -topbottom -jleft -white ${files[@]} | pnmquant $newcolors > $all +pnmcat -topbottom -jleft -white "$@" | pnmquant $newcolors > $all if [ $? != 0 ]; then exit $? fi @@ -86,12 +76,15 @@ y=0 i=0 -while [ $i -lt $nfiles ]; do - pamcut -left 0 -top $y -width ${widths[$i]} -height ${heights[$i]} $all \ - > ${files[$i]}$ext +for f in "$@"; do + width=`grep -v '^#' "$f" | sed '1d; s/ .*//; 2q'` + height=`grep -v '^#' "$f" | sed '1d; s/.* //; 2q'` + + pamcut -left 0 -top $y -width $width -height $height $all \ + > "$f$ext" if [ $? != 0 ]; then exit $? fi - y=$(($y + ${heights[$i]})) + y=$(($y + $height)) i=$(($i + 1)) done