Add spaces after the end of some sentences (and remove it from between
words), based on translator Rolland Illig's email sent 7th January 2024:
I'd prefer to have an extra space after a sentence instead of between
words.
In particular, tested successfully on FreeBSD, NetBSD, Solaris, Haiku and
Cygwin. OpenBSD 7.4 still doesn't work; NetBSD 9.3 still has its bugs in
strfmon().
Use the Australian National Computational Infrastructure (NCI) Gadi HPC
system with a newer version of the Intel openAPI C compiler (icx) as well
as the classic Intel compiler (icc).
Rename the desktop and AppStream data files to conform to the AppStream
1.0 specification; these now have names based on "au.org.zap.trader".
Add a caption to the AppStream screenshot; update all translations to
suit. Rename msgfmt-appdata to msgfmt-metainfo to reflect these changes.
All translations of Star Traders are present as stored on the Translation
Project website at https://translationproject.org/latest/trader/,
downloaded with "wget -nH --cut-dirs=2 -r -np".
Original dates:
da.po 2017-05-21 15:42
en_GB.po 2019-11-13 20:52
es.po 2018-03-29 23:17
fi.po 2015-09-19 12:52
hr.po 2012-04-19 16:27
ro.po 2023-10-01 17:57 (new translation)
ru.po 2012-03-29 10:27
A total of 25 systems, 34 combinations of compilers, were tested. All
passed except for OpenBSD (missing <monetary.h> header and associated
functions); NetBSD has major bugs in strfmon() and iconv_open().
The POSIX standards specify that the open() and openat() functions
technically return -1, not EOF, on failure -- even though most (perhaps
all) systems define EOF to be -1!
Coverity Scan (https://scan.coverity.com/projects/trader) complains that
a high-impact defect is present in the scramble() function: "String not
null terminated" -- even though b64encode() does give a NUL-termininated
buffer.
Checking the presence of the traditional data directory using stat()
leads to a time-of-check / time-of-use bug by the time it is possibly
created using xmkdir(). Use file descriptors and openat() to work around
this problem.