1
0
mirror of https://git.zap.org.au/git/trader.git synced 2024-12-04 14:46:45 -05:00
Commit Graph

773 Commits

Author SHA1 Message Date
John Zaitseff
b1e4aa8651 Update copyright year to 2019 2019-01-05 08:20:18 +11:00
John Zaitseff
fa0cb153ff Update copyright year to 2019 2019-01-05 08:10:28 +11:00
John Zaitseff
6f5778cfc7 Report the command line needed to compile under macOS 10.13 2018-08-25 15:34:44 +10:00
John Zaitseff
b521ba96e4 Report the command line needed to compile under NetBSD 8.0 2018-08-24 21:14:43 +10:00
John Zaitseff
7c5fd1092f Update line numbers in all PO files 2018-08-24 17:42:44 +10:00
John Zaitseff
d553aca98c Rename ret to n for consistency with other utility functions 2018-08-24 14:53:18 +10:00
John Zaitseff
aed5e8a46d Correct comments about locale 2018-08-24 14:11:21 +10:00
John Zaitseff
98696aa91c Use the wide-character version of EILSEQ_REPL 2018-08-24 13:32:32 +10:00
John Zaitseff
7647561a92 Use the more common post-increment form 2018-08-24 13:21:20 +10:00
John Zaitseff
daab2e94da Convert xstrfmon() into a wide-character version xwcsfmon()
Also work around buggy implementations of strfmon() that do not copy
complete multibyte sequences that may be part of a locale's
mon_thousands_sep, thousands_sep, mon_decimal_point or decimal_point.
2018-08-24 13:20:51 +10:00
John Zaitseff
6ec3beab75 Minor aesthetic cleanup 2018-08-24 10:46:13 +10:00
John Zaitseff
74218edb89 Bug fix: preincrement index when storing EILSEQ_REPL 2018-08-24 10:45:31 +10:00
John Zaitseff
8f9072ecfb Rename heading from "Supported Systems" to "Tested Systems" 2018-08-23 11:57:42 +10:00
John Zaitseff
0df2830c85 Move tables of supported operating systems / compilers from NEWS to INSTALL 2018-08-23 11:55:03 +10:00
John Zaitseff
5c8e1c44d3 Correct text justification to be 74 columns 2018-08-23 11:22:11 +10:00
John Zaitseff
3733875c29 Reformat the table of tested operating systems / compilers 2018-08-22 09:25:35 +10:00
John Zaitseff
539ac4bcae Update line numbers in all PO files 2018-08-21 22:18:09 +10:00
John Zaitseff
242aa2ea95 Remove the now-unused 'strstr' Gnulib module 2018-08-21 22:11:16 +10:00
John Zaitseff
1e0285f6c0 Rename l_strfmon() and rewrite as xstrfmon() to handle POSIX locale better
Current and previous versions of ISO/IEC 9945-1 (POSIX), particularly SUSv3
(2001) and SUSv4 (2008), require strfmon() to return rather meaningless
strings when used with the POSIX "C" locale.  In particular, the standard
POSIX locale does not define a currency symbol, a monetary radix symbol
(decimal point) or a negative sign.  This means strfmon(..., "%n", -123.45)
is supposed to produce "12345" instead of something like "$-123.45"!

The new xstrfmon() overcomes these limitations by using snprintf() as
appropriate.
2018-08-21 21:55:21 +10:00
John Zaitseff
827db8a537 Correct the sentence from plural to singular form 2018-08-10 20:34:16 +10:00
John Zaitseff
d1239aab57 Correct locations of files to include ".." where needed 2018-08-10 20:33:39 +10:00
John Zaitseff
117400e7df Use a hyphen instead of underscore for xopen-source.m4 and xopen-source.h 2018-08-10 20:30:06 +10:00
John Zaitseff
391fb1cec8 Update line numbers in all PO files 2018-08-09 19:00:09 +10:00
John Zaitseff
89be55c7c9 Use __attribute__((unused)) to silence GCC with the -Wextra flag 2018-08-09 18:42:10 +10:00
John Zaitseff
80c1301e1a Bug fix: Allow compilations using separate build directories to succeed 2018-08-09 18:11:28 +10:00
John Zaitseff
2032f6de8a Move redefinition of _XOPEN_SOURCE into its own Autoconf macro and header
This makes the main source code look a little cleaner, at the expense of
background magic happening in the configure-generated config.h.  But this
magic was already happening for _GNU_SOURCE, __EXTENSIONS__ and the like.

The only wrinkle is that newer versions of NcursesW cause ./configure to
include "-D_XOPEN_SOURCE=600" as part of the compilation command line--on
systems that support _XOPEN_SOURCE=700.  The AC_DEFINE/AC_DEFINE_UNQUOTED
macros automatically comment out any "#undef" lines in config.h, so the
file lib/xopen_source.h works around this limitation.  It is
automatically included by config.h.
2018-08-09 18:05:39 +10:00
John Zaitseff
e578802ac6 Use the Gnulib extensions module to define _GNU_SOURCE and __EXTENSIONS__ 2018-08-09 14:11:38 +10:00
John Zaitseff
d35abf787a Remove any mention of Minix from NEWS
The Minix C library does not seem to support Unicode well (for example,
wcwidth() returns -1 for UTF-8 byte sequences), the native curses library
is quite buggy, playing around with the Gnulib wcwidth module did not fix
issues with Unicode--it's all in the "too hard" basket!
2018-08-09 11:23:22 +10:00
John Zaitseff
1b0387441f Report the command line necessary to compile under Minix 3.4.0rc6
Note that although Star Traders compiles and installs successfully,
running the binary with a locale set to use non-ASCII strings currently
fails with "mkchstr: 'STRING': Illegal byte sequence" ("STRING" being the
translated string).
2018-08-09 10:41:35 +10:00
John Zaitseff
1f734e960b Replace spaces with tabs and vice versa
For Star Traders, all text files use spaces only (no tabs); for C source
code files, tabs are used, except in comments, where spaces only are used.
2018-08-08 14:55:58 +10:00
John Zaitseff
097c9b0e5b Avoid a Clang warning about a comparison that is always false
Rewrite a check that unscramble_table[] is of the right size as an
assertion, which prevents Clang from issuing a warning that the "result
of comparison of constant 256 with expression of type 'const unsigned
char' is always false".

Oh for the day that C11's _Static_assert can be used amongst all
compilers!  But perhaps Gnulib's assert-h module can be used instead...
2018-08-08 13:50:15 +10:00
John Zaitseff
0a1e837c4d Add the Gnulib monetary module to check for the existence of <monetary.h> 2018-08-08 09:57:25 +10:00
John Zaitseff
0e656681bc Correct spelling or grammatical mistakes in various comments 2018-08-06 22:09:20 +10:00
John Zaitseff
3701ba13fb Document the operating system and compiler combinations tested in NEWS 2018-08-06 20:52:26 +10:00
John Zaitseff
83878efce2 Update to the latest (unreleased) version of ax_cflags_warn_all.m4 2018-08-06 20:29:09 +10:00
John Zaitseff
9d9a3befca Update m4/README to include changes to the m4 files now included 2018-08-06 15:42:44 +10:00
John Zaitseff
a02c7388e2 Ensure m4/ax_prepend_flag.m4 is distributed
Also remove ax_append_flag.m4 from the distribution list, and order
everything alphabetically.
2018-08-06 15:25:56 +10:00
John Zaitseff
265ed12de8 Update to an unreleased version of ax_cflags_warn_all.m4
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.
2018-08-06 15:21:05 +10:00
John Zaitseff
5caf1ef165 Keep the Intel C compiler quiet
By default, the Intel C compiler warns "enumerated type mixed with
another type" when compiling this code.  Explicit casts keep it quiet.
2018-08-06 13:59:25 +10:00
John Zaitseff
eb0ed43ce2 Bug fix: char may be unsigned on some platforms
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.
2018-08-06 13:57:16 +10:00
John Zaitseff
61e6dec3a3 Tweak configuration summary to include the compiler used with flags 2018-08-06 12:37:32 +10:00
John Zaitseff
4f3a870b9d Update unreleased version of m4/ax_compiler_vendor.m4
This version of ax_compiler_vendor.m4 has been submitted upstream; see
https://savannah.gnu.org/patch/index.php?9671 for details.
2018-08-06 09:46:19 +10:00
John Zaitseff
cef694cab6 Add an unreleased version of m4/ax_compiler_vendor.m4 for compiler detection 2018-08-06 09:24:48 +10:00
John Zaitseff
1c3afc571b Minor whitespace cleanup in #define statements 2018-08-04 22:14:03 +10:00
John Zaitseff
192b749018 Use a better check for Solaris (SunOS 5.x)
The __sun__ macro is not always defined by Oracle Solaris Studio, but
__sun is, as it is in GCC and Clang.  By itself, __sun__ also matches the
very obsolete SunOS 4.x BSD-based operating system, hence the need for
__SVR4 as well.

See https://web.archive.org/web/20180221212835/http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system
for more information on operating system macro checks.
2018-08-04 18:03:33 +10:00
John Zaitseff
2d6a339fb1 Define _XOPEN_SOURCE correctly for Solaris systems 2018-08-04 16:48:29 +10:00
John Zaitseff
de6f113d12 Change parameters of apply_xor() from void * to char *
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.
2018-08-04 14:31:45 +10:00
John Zaitseff
a47e8528dc Force redefinition of _XOPEN_SOURCE if required
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.
2018-07-27 18:39:18 +10:00
John Zaitseff
f45986e88d Pedantically type-cast integer comparisons
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.
2018-07-27 18:33:14 +10:00
John Zaitseff
9e3f7c7713 Replace incorrect command line argument "--maxturn" with "--max-turn" 2018-07-27 06:55:14 +10:00