1
0
mirror of https://git.zap.org.au/git/trader.git synced 2024-11-03 17:27:29 -05:00
Commit Graph

304 Commits

Author SHA1 Message Date
John Zaitseff
3a68213e80 Remove all unnecessary Gnulib modules
In particular, the various printf-posix modules are not needed as %ls and
the ' flag (thousands separator) is supported on all modern platforms (it
is needed on Cygwin 1.5.x, for example, but the 1.5.x series do not
support swprintf() anyway).  Similarly, OpenBSD 3.8 (released November
2005) is not supported: it does not have <monetary.h>.  A number of
modules (locale, string, unistd, wchar) are only required for NetBSD 5.0
(c. 2009: quite recent).  We try to support MacOS X 10.5 (October 2007),
but it may require GNU libiconv.
2011-08-26 06:33:40 +10:00
John Zaitseff
dffb4c59fe Implement the single-byte equivalent of getwch()
This implementation assembles a wide character from a stream of
multibyte-forming bytes.
2011-08-26 04:51:44 +10:00
John Zaitseff
4c99f9a57f More (slight) code clean-ups 2011-08-26 03:22:25 +10:00
John Zaitseff
cb67513bb9 Correct a minor bug in cursor decrement (cpos_dec) 2011-08-25 22:15:12 +10:00
John Zaitseff
dfab785ba7 Add a couple more places where the character constant is a wide char 2011-08-25 21:55:10 +10:00
John Zaitseff
167bcd82f5 Remove the unused header file <ctype.h> 2011-08-25 21:45:22 +10:00
John Zaitseff
1c2518a78b Minor clean-up: replace character constants with wide-char versions
Wide-char character constants is not strictly needed for most (all?)
modern C compilers, as ASCII maps to wchar_t directly (as long as
__STDC_ISO_10646__ is defined).  However, it doesn't hurt to be pedantic!
2011-08-25 21:34:41 +10:00
John Zaitseff
61411e3416 Rearrange the order of constants, type declarations and macros 2011-08-25 14:49:51 +10:00
John Zaitseff
10815a2803 Move some global variables to intf.c and intf.h
Move the keycode_company, printable_map_val, chtype_map_val,
keycode_game_move, printable_game_move and chtype_game_move global
variables to intf.c and intf.h.
2011-08-25 14:48:31 +10:00
John Zaitseff
4733e98e7f Change program_name() to be a global variable
We're using global variables all over the place, in any case...
2011-08-25 14:26:25 +10:00
John Zaitseff
485a867b99 Remove superfluous #include directives 2011-08-25 14:09:48 +10:00
John Zaitseff
20473ae409 Use wide-character functions for input routines and most strings
Convert all input routines, and most internal strings, to use
wide-character functions.  All extended characters are supported,
including those having column widths of zero (eg, combining characters),
one (eg, normal Western characters) and two (eg, many East Asian
characters).  This was quite a major undertaking!
2011-08-25 13:19:31 +10:00
John Zaitseff
b951b21894 Add global (wide-character) currency and numeric variables
Add the variables decimal_point, thousands_sep, currency_symbol,
mon_decimal_point and mon_thousands_sep, with code to initialise them.
2011-08-25 12:26:15 +10:00
John Zaitseff
3a4b014e64 Add the module wcswidth from the GNU Portability Library 2011-08-22 13:42:29 +10:00
John Zaitseff
07e9d30a66 Add the module wctob from the GNU Portability Library 2011-08-22 09:34:07 +10:00
John Zaitseff
150bcf10c2 Try loading UTF-8 strings with transliteration, if at all possible
Also fix a bug in save_game(): the iconv_open() parameters were the wrong
way around!
2011-08-20 16:27:11 +10:00
John Zaitseff
cf944c58f6 Minor fix: we don't use mbrtowc() in our program 2011-08-20 15:49:19 +10:00
John Zaitseff
a4cc805a65 Use wchar_t in answer_yesno()
Calls to wgetch(win) do not use wchar_t for the moment.
2011-08-20 15:38:26 +10:00
John Zaitseff
4b8d2529a8 Replace '0' with L'0', just in case 2011-08-20 15:27:22 +10:00
John Zaitseff
0a8e05f4d4 Rearrange the order of the internal mkchstr_XXX functions 2011-08-20 15:24:27 +10:00
John Zaitseff
b5b211313e Move chstrdup() to utils.c and rename it to xchstrdup()
The new name is for consistency with other XXXdup() functions used in
this program.
2011-08-20 15:17:09 +10:00
John Zaitseff
bc8dc76f00 Minor white-space formatting change: indent by 8 characters, not 7 2011-08-20 13:34:28 +10:00
John Zaitseff
c90265ec28 Replace "---" with "--": it looks better in text mode 2011-08-20 13:30:31 +10:00
John Zaitseff
4d145813ff Make the show_help() function multibyte-aware
All text in the show_help() function is now processed as wide characters.
2011-08-20 13:27:26 +10:00
John Zaitseff
7b544bbd35 Add the functions xwcrtomb() and xmbstowcs()
The xwcrtomb() and xmbstowcs() functions replace illegal characters with
EILSEQ_REPL ('?').  Adjust other functions, particularly mkchstr() and
friends, to suit.
2011-08-20 13:03:40 +10:00
John Zaitseff
336611559b Add the error-checking function xwcsdup() 2011-08-20 10:40:07 +10:00
John Zaitseff
02fd017807 Make the errno_exit() string a little more regular
This is to match all other such strings in the program.
2011-08-19 17:34:41 +10:00
John Zaitseff
a49c50b4fd Allow mkchstr_conv error strings to be localised 2011-08-19 17:24:28 +10:00
John Zaitseff
6fb62460ca Add some asserts to newtxwin(), just to be on the safe side 2011-08-19 17:20:41 +10:00
John Zaitseff
aeaf08a8a4 Possible bug fix: test for "C" locale when return string is opaque
On some systems the return string from setlocale() may be opaque, so we
need to explicitly set the locale to "C", then test the return value from
that.
2011-08-19 17:14:00 +10:00
John Zaitseff
8a7dfcaf99 Handle multibyte characters correctly in mkchstr()
Internal processing is now done in terms of wide characters (type
wchar_t).
2011-08-19 16:52:27 +10:00
John Zaitseff
74031a0415 Add yet another module from the GNU Portability Library: btowc 2011-08-19 14:26:30 +10:00
John Zaitseff
03e33a6465 Update the list of (auto-generated) files to ignore 2011-08-19 13:31:07 +10:00
John Zaitseff
75b5c986c0 Add the module wcwidth from the GNU Portability Library 2011-08-19 13:22:16 +10:00
John Zaitseff
87f09a6fda Add the Gnulib modules mbrtowc, mbsrtowcs, wcrtomb and wcsrtombs 2011-08-19 13:11:43 +10:00
John Zaitseff
3a6f33d2a1 Update some minor comments about character encodings 2011-08-18 15:05:55 +10:00
John Zaitseff
4d6f1478e6 Remove the superfluous argument to chstrdup()
This argument is not required: we KNOW that we have initialised chtype
arrays with an ending NUL!
2011-08-18 14:53:03 +10:00
John Zaitseff
bee30b7343 Ignore additional files in the po subdirectory
Yes, trader.pot should be ignored: it is autogenerated from the source
code.
2011-08-18 12:56:21 +10:00
John Zaitseff
ef3e06ed36 Add the wchar and wctype-h modules from the GNU Portability Library 2011-08-18 12:53:23 +10:00
John Zaitseff
6ef7c7b6da Allow localisation of company letters and map moves (choices) 2011-08-18 12:10:33 +10:00
John Zaitseff
a024ad83e7 Update help text company letter; clarify tilde escapes in general 2011-08-18 09:10:38 +10:00
John Zaitseff
e87c6ce9b3 Allow input keycodes in ask_number_players() to be localised 2011-08-17 22:27:51 +10:00
John Zaitseff
75503ab103 Parameterise answer_yesno() so that the input keycodes can be localised 2011-08-17 22:07:31 +10:00
John Zaitseff
1c4cac2ba1 Add a detailed explanation of the help text markup format 2011-08-17 21:41:38 +10:00
John Zaitseff
c2a3c5ac8f Require Gettext 0.18.1; regularise usage of Ncurses; update version 2011-08-17 19:48:39 +10:00
John Zaitseff
b674c05d56 Add many comments for translators; use pgettext() where appropriate 2011-08-17 19:13:05 +10:00
John Zaitseff
25d586f775 Add some translator comments regarding company names and ordinals 2011-08-17 13:26:55 +10:00
John Zaitseff
5f5c512e45 Highlight the word "one" 2011-08-17 13:26:11 +10:00
John Zaitseff
5f069b983d Inform xgettext(1) that files are in UTF-8 format and may be wide 2011-08-17 13:19:57 +10:00
John Zaitseff
197de2804f Add calls to ngettext() where appropriate 2011-08-17 13:18:41 +10:00