2010-02-18 18:20:15 +00:00
|
|
|
#!/bin/sh
|
|
|
|
# This is a wrapper script that checks openttd's exit status and
|
|
|
|
# displays its stderr output
|
|
|
|
|
2010-04-07 14:07:49 +00:00
|
|
|
# Get a file to capture stderr to. Use the deprecated -t option, so this
|
|
|
|
# works on the old mktemp from the mktemp package (which has been
|
|
|
|
# replaced by the version from the coreutils package).
|
|
|
|
TMPFILE=`mktemp -t openttd.errout.XXXXXXXXX`
|
2010-02-18 18:20:15 +00:00
|
|
|
|
|
|
|
if [ ! -w "$TMPFILE" ]; then
|
|
|
|
xmessage "Could not create temporary file for error messages. Not starting OpenTTD."
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Capture stderr
|
|
|
|
openttd "$@" 2> "$TMPFILE"
|
|
|
|
ERRCODE=$?
|
|
|
|
if [ "$ERRCODE" -ne 0 ]; then
|
|
|
|
CODEMSG="OpenTTD returned with error code $ERRCODE."
|
|
|
|
if [ -s "$TMPFILE" ]; then
|
|
|
|
MESSAGE="$CODEMSG The following error messages were produced:\n\n"
|
|
|
|
printf "$MESSAGE" | cat - "$TMPFILE" | fold -s | xmessage -file -
|
|
|
|
else
|
|
|
|
xmessage "$CODEMSG No error messages were produced."
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
rm -f "$TMPFILE"
|