Files
@ r15899:3bbe04d427d2
Branch filter:
Location: cpp/openttd-patchpack/source/os/debian/openttd-wrapper - annotation
r15899:3bbe04d427d2
863 B
text/plain
(svn r20593) -Fix: (rlongago, r20547): long ago the service interval was int16, after which is got converted to Date except in the order backup. Much later I copied the savegame snippets from a vehicle and applied that on the order backup. Presto, reading/writing 32 bits (of Date) into 16 bits of ancient style service interval. That would then "spoil" the name pointer and that eventually crashes OpenTTD as it's likely to be an invalid pointer.
r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14954:41eb825176fe r14954:41eb825176fe r14954:41eb825176fe r14954:41eb825176fe r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 r14576:72f72375ce46 | #!/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"
|