#!/bin/sh # This is a wrapper script that checks openttd's exit status and # displays its stderr output # 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` 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"