diff -up hplip-3.10.5/fax/filters/pstotiff.pstotiff-is-rubbish hplip-3.10.5/fax/filters/pstotiff --- hplip-3.10.5/fax/filters/pstotiff.pstotiff-is-rubbish 2010-05-13 01:44:57.000000000 +0200 +++ hplip-3.10.5/fax/filters/pstotiff 2010-05-17 14:39:55.000000000 +0200 @@ -1,40 +1,16 @@ -#!/usr/bin/env python - -import os -import os.path -import time -import sys -import tempfile - -READ_SIZE = 8192 - -total_bytes_read = 0 -temp_in_file = "-" - -if (len(sys.argv) > 6): - temp_in_file = sys.argv[6] - -temp_out_handle, temp_out_fname = tempfile.mkstemp() - -font = "-I/usr/share/cups/fonts" -device = "-sDEVICE=tiffg4 -dMaxStripSize=0 -dNOPAUSE -dBATCH -dSAFER -dPARANOIDSAFER -dSHORTERRORS -dWRITESYSTEMDICT -dGHOSTSCRIPT -sstdout=%stderr -sOutputFile=" + temp_out_fname + " " + temp_in_file - -gs_command = "/usr/bin/gs" + " " + font + " " + device - -exit_code = os.system(gs_command) - -file_len = os.stat(temp_out_fname).st_size -if (file_len < READ_SIZE): - READ_SIZE = file_len - -os.close(temp_out_handle) - -out_handle = open(temp_out_fname, mode='rb') -while (total_bytes_read < file_len): - data = out_handle.read(READ_SIZE) - sys.stdout.write(data) - total_bytes_read += READ_SIZE -out_handle.close() - -os.remove(temp_out_fname) -sys.exit(0) +#!/bin/sh +if [ $# -lt 6 ]; then + IN=-_ +else + IN="$6" +fi + +TMPFILE=`mktemp /tmp/pstotiff.XXXXXX` || exit 1 +gs -I/usr/share/cups/fonts -sDEVICE=tiffg4 -dNOPAUSE -dBATCH \ + -dSAFER -dPARANOIDSAFER \ + -dSHORTERRORS -dWRITESYSTEMDICT -dGHOSTSCRIPT \ + -sstdout=%stderr -sOutputFile="$TMPFILE" "$IN" +RET=$? +cat "$TMPFILE" +rm -f "$TMPFILE" +exit $RET