#!/bin/bash
#
# Wrap calls to magicfilter, so that we can composite mf rules.
#
#

# Collect the rule set, as it exists now
MF_RULE_DIR='/usr/share/printconf/mf_rules'
MF_RULES=$MF_RULE_DIR/mf[[:digit:]][[:digit:]]-*
TMP_FILE=`mktemp /tmp/printconf.XXXXXX` || exit 1
cat ./mf.cfg $MF_RULES | m4 > $TMP_FILE

# Close up ghostscript.
GS_OPTIONS=$GS_OPTIONS" -dSAFER -dPARANOIDSAFER"
export GS_OPTIONS

# Debug expansion (This would be prettier if I knew more shell)
if [ -n "$DEBUG" ]; then
	case "$DEBUG" in
		2)
		DEBUGSTRING="--debug --debug"
		;;
		3)
		DEBUGSTRING="--debug --debug --debug"
		;;
		4)
		DEBUGSTRING="--debug --debug --debug --debug"
		;;
		5)
		DEBUGSTRING="--debug --debug --debug --debug --debug"
		;;
		*)
		DEBUGSTRING="--debug"
		;;
	esac
else
	DEBUGSTRING=""
fi

# Run magic filter
/usr/bin/magicfilter-t $TMP_FILE $DEBUGSTRING $* < /dev/stdin
RETVAL=$?

if [ -f $TMP_FILE ]; then
	rm -f $TMP_FILE;
fi

if [[ $RETVAL -eq 0 ]]; then
	TERMINATION=`grep '^[[:space:]]*#[[:space:]]*TERMINATION=' ./mf.cfg | sed 's/^[[:space:]]*#[[:space:]]*TERMINATION=//;'`
	if [ -n $TERMINATION ]; then
		echo -n -e $TERMINATION;
	fi
fi

exit $RETVAL
