#!/bin/sh
# portable subst (for systems without sed -i)
# TODO: use sed -i if possible
set +e

#sed -i "$@" && exit

PRESERVE=
if [ "$1" = "-p" ] ; then
	PRESERVE=1
	shift
fi

SCRIPT=$1; shift

# Check for broken mktemp
if mktemp -V 2>/dev/null >/dev/null ; then
	T=`mktemp || exit 1`
else
	T=`mktemp /tmp/$NAME.XXXXXX || exit 1`
fi

for s in "$@"; do
	if cat $s | sed "$SCRIPT" > $T; then
	   [ -n "$PRESERVE" ] && touch -r $s $T
	   cat $T > $s
	   [ -n "$PRESERVE" ] && touch -r $T $s
	else
		exit 1
	fi
done

rm -f $T
exit 0
