#!/bin/bash

RERENDER_PS=""
MFOMATIC=""

# stupid case
[ $# -eq 0 ] && exec cat

# Strip arguments
args=""
echo $@ > /dev/stderr
for ARG in "$@" ; do
	echo $ARG > /dev/stderr

	case $ARG in
		"--rerender-ps" )
			RERENDER_PS="1" ;;
		"--mfomatic" )
			MFOMATIC='1';;
		-J* | -Z* )
			args="$args $ARG" ;;
		-*)
			# Skip other options.
			;;
		* )
			args="$args $ARG" ;;
	esac
done

echo $args > /dev/stderr

if [ -n "$RERENDER_PS" -a -n "$MFOMATIC" ] ; then
	echo "Case 1" > /dev/stderr
	echo $RERENDER_PS > /dev/stderr
	echo $MFOMATIC > /dev/stderr
	/usr/bin/gs -q -sDEVICE=pswrite -dNOPAUSE -dSAFER -dPARANOIDSAFER \
		-dLanguageLevel=1 -sOutputFile=- - | \
		/usr/sbin/lpdomatic --lprng $args
	RETVAL=$?

elif [ -n "$RERENDER_PS" -a -z "$MFOMATIC" ] ; then
	echo "Case 2" > /dev/stderr
	echo $RERENDER_PS > /dev/stderr
	echo $MFOMATIC > /dev/stderr
	/usr/bin/gs -q -sDEVICE=pswrite -dNOPAUSE -dSAFER -dPARANOIDSAFER \
		-dLanguageLevel=1 -sOutputFile=- -
	RETVAL=$?

elif [ -z "$RERENDER_PS" -a -n "$MFOMATIC" ] ; then
	echo "Case 3" > /dev/stderr
	echo $RERENDER_PS > /dev/stderr
	echo $MFOMATIC > /dev/stderr
	/usr/sbin/lpdomatic --lprng $args
	RETVAL=$?

elif [ -z "$RERENDER_PS" -a -z "$MFOMATIC" ] ; then
	echo "Case 4" > /dev/stderr
	echo $RERENDER_PS > /dev/stderr
	echo $MFOMATIC > /dev/stderr
	cat
	RETVAL=$?

fi

exit $RETVAL

