This version of the AX_CFLAGS_WARN_ALL macro uses a far more robust
method of detecting compilers to select appropriate warning flags. It
also uses the AX_PREPEND_FLAG macro instead of AX_APPEND_FLAG.
This version of ax_cflags_warn_all.m4 (and ax_prepend_flag.m4) has been
submitted upstream; see https://savannah.gnu.org/patch/?9673 for details.
The function wctob() returns an int that can be -1; a conversion to
unsigned char will make that value 0xFF. Although the "if" statement
still works in this case, we should be more diligent in our programming.
Arithmetic on void * pointers is undefined, according to Section 6.5.6
Paragraph 2, Section 6.2.5 Paragraph 1 and Section 6.2.5 Paragraph 19 of
the ISO/IEC 9899:1999 C99 standard: the void type is incomplete and thus
its size cannot be determined.
GCC allows pointer arithmetic on void * as an extension (and only warns
if "-Wpointer-arith" is given); the Oracle Developer Studio C compiler
issues a warning by default.
Newer versions of libncurses/libncursesw "#define _XOPEN_SOURCE 600" in
their pkg-config file. This change forces _XOPEN_SOURCE to be redefined
to 700 in that case.
The latest versions of the GNU Compiler Collection complain about signed
and unsigned integer comparisons when run with the "-Wextra" flag. Keep
those compilers happy.
Previous versions of the GNU Portability Library, and versions of the GNU
C Library as released with various Linux distributions, used strings no
longer present in the current version of the GNU Portability Library.
When used on systems with those strings, Star Traders could not provide
appropriate translations. This patch fixes that problem.
If Native Language Support is disabled, the program does not use the GNU
Gettext library and thus all strings are in ASCII format: enhanced Curses
is not needed in such situations.
In particular, mention the Clang LLVM compiler, require POSIX.1-2008
instead of POSIX.1-2001, and require libiconv if the GNU Gettext library
requires it.
The FTP protocol is all but dead (even though it is still supported by
The ZAP Group which distributes Star Traders). Demote such URLs below
the secure HTTP versions.
Change the whitespacing, padding and word-wrapping of many strings and
labels, add the standard header comment, correct a few obvious spelling
and translation mistakes, replace 'quotes' and `quotes' with «quotes» and
tabs with spaces.