summaryrefslogtreecommitdiff
path: root/graphics/netpbm/files/patch-ppmquantall
blob: c2363d19cb1714e8e15f194f154ba0bf295428bf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
--- 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