mirror of
https://git.zap.org.au/git/trader.git
synced 2024-10-27 18:20:13 -04:00
Merge branch with-autogenerated into with-debian
This commit is contained in:
commit
be709e997c
8
INSTALL
8
INSTALL
@ -102,12 +102,12 @@ You can also run configure in a separate build-only directory tree. This
|
||||
feature requires GNU Make and allows you to keep the source code tree from
|
||||
being modified by the compilation process. To use this option, create a
|
||||
separate build directory, then run configure. For example, if you placed
|
||||
the Star Traders source code tree in $HOME/src/trader-7.3, you could run
|
||||
the Star Traders source code tree in $HOME/src/trader-7.4, you could run
|
||||
something like:
|
||||
|
||||
mkdir $HOME/build/trader-build-7.3
|
||||
cd $HOME/build/trader-build-7.3
|
||||
$HOME/src/trader-7.3/configure
|
||||
mkdir $HOME/build/trader-build-7.4
|
||||
cd $HOME/build/trader-build-7.4
|
||||
$HOME/src/trader-7.4/configure
|
||||
|
||||
Once again, the Autoconf manual describes these options (and many others):
|
||||
|
||||
|
39
Makefile.in
39
Makefile.in
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11.3 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.4 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -43,6 +43,23 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
VPATH = @srcdir@
|
||||
am__make_dryrun = \
|
||||
{ \
|
||||
am__dry=no; \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
||||
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
||||
*) \
|
||||
for am__flg in $$MAKEFLAGS; do \
|
||||
case $$am__flg in \
|
||||
*=*|--*) ;; \
|
||||
*n*) am__dry=yes; break;; \
|
||||
esac; \
|
||||
done;; \
|
||||
esac; \
|
||||
test $$am__dry = yes; \
|
||||
}
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
@ -123,6 +140,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
install-pdf-recursive install-ps-recursive install-recursive \
|
||||
installcheck-recursive installdirs-recursive pdf-recursive \
|
||||
ps-recursive uninstall-recursive
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
|
||||
@ -263,7 +285,6 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
|
||||
GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
|
||||
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
|
||||
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
|
||||
GNULIB_GETS = @GNULIB_GETS@
|
||||
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
|
||||
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
|
||||
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
|
||||
@ -278,6 +299,7 @@ GNULIB_LCHMOD = @GNULIB_LCHMOD@
|
||||
GNULIB_LCHOWN = @GNULIB_LCHOWN@
|
||||
GNULIB_LINK = @GNULIB_LINK@
|
||||
GNULIB_LINKAT = @GNULIB_LINKAT@
|
||||
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
|
||||
GNULIB_LSEEK = @GNULIB_LSEEK@
|
||||
GNULIB_LSTAT = @GNULIB_LSTAT@
|
||||
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
|
||||
@ -749,6 +771,7 @@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
|
||||
REPLACE_LCHOWN = @REPLACE_LCHOWN@
|
||||
REPLACE_LINK = @REPLACE_LINK@
|
||||
REPLACE_LINKAT = @REPLACE_LINKAT@
|
||||
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
|
||||
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
|
||||
REPLACE_LSEEK = @REPLACE_LSEEK@
|
||||
REPLACE_LSTAT = @REPLACE_LSTAT@
|
||||
@ -807,6 +830,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
|
||||
REPLACE_STRSTR = @REPLACE_STRSTR@
|
||||
REPLACE_STRTOD = @REPLACE_STRTOD@
|
||||
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
|
||||
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
|
||||
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
|
||||
REPLACE_SYMLINK = @REPLACE_SYMLINK@
|
||||
REPLACE_TIMEGM = @REPLACE_TIMEGM@
|
||||
@ -1140,13 +1164,10 @@ distdir: $(DISTFILES)
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
$(am__make_dryrun) \
|
||||
|| test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
|
26
NEWS
26
NEWS
@ -15,6 +15,32 @@ consult the Subversion repository for "trader" on The ZAP Group web server
|
||||
at http://www.zap.org.au/services/svn/.
|
||||
|
||||
|
||||
Version 7.4 (not yet released)
|
||||
------------------------------
|
||||
|
||||
For the first time since the CP/M-80 version of Star Traders, the game
|
||||
algorithms have been carefully reviewed and revised. In particular,
|
||||
companies may now have negative returns, making players lose money on such
|
||||
shares. This may encourage players to use the "Sell shares" option at
|
||||
appropriate times... In addition, changes in share prices, returns and
|
||||
bank interest rates have been made much "smoother", less prone to wild
|
||||
variations. These new algorithms were first modelled using Gnuplot and
|
||||
Perl before being implemented in C.
|
||||
|
||||
The "configure" script now prints a prominent warning if a wide-character
|
||||
version of Curses, such as NcursesW, is not available when compiling the
|
||||
game. It is a warning and not an error as single-byte locales (such as
|
||||
US-ASCII and ISO8859-1) do not require NcursesW, even if the compilation
|
||||
environment itself is a multibyte one (such as UTF-8).
|
||||
|
||||
The Russian translation has been updated, with thanks to Vladimir Tsarkov
|
||||
and Pavel Maryanov. Translations for French, German, Finnish and Croatian
|
||||
have been added (in that order), with thanks to Frédéric Marchal, Philipp
|
||||
Thomas, Jorma Karvonen and Tomislav Krznar. Special thanks also to the
|
||||
Translation Project, which brings free (open-source) software developers
|
||||
and translators together.
|
||||
|
||||
|
||||
Version 7.3 (16th March, 2012)
|
||||
------------------------------
|
||||
|
||||
|
6
aclocal.m4
vendored
6
aclocal.m4
vendored
@ -1,4 +1,4 @@
|
||||
# generated automatically by aclocal 1.11.3 -*- Autoconf -*-
|
||||
# generated automatically by aclocal 1.11.4 -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
|
||||
@ -38,7 +38,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
|
||||
[am__api_version='1.11'
|
||||
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
||||
dnl require some minimum version. Point them to the right macro.
|
||||
m4_if([$1], [1.11.3], [],
|
||||
m4_if([$1], [1.11.4], [],
|
||||
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||
])
|
||||
|
||||
@ -54,7 +54,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
||||
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||
[AM_AUTOMAKE_VERSION([1.11.3])dnl
|
||||
[AM_AUTOMAKE_VERSION([1.11.4])dnl
|
||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||
|
@ -337,6 +337,9 @@
|
||||
/* Define to 1 if getpagesize is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETPAGESIZE
|
||||
|
||||
/* Define to 1 if gets is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETS
|
||||
|
||||
/* Define to 1 if getsubopt is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETSUBOPT
|
||||
|
||||
@ -901,6 +904,9 @@
|
||||
'wint_t'. */
|
||||
#undef WINT_T_SUFFIX
|
||||
|
||||
/* Define to 1 on Solaris. */
|
||||
#undef _LCONV_C99
|
||||
|
||||
/* Define to 1 if on MINIX. */
|
||||
#undef _MINIX
|
||||
|
||||
|
90
configure
vendored
90
configure
vendored
@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.68 for Star Traders 7.3.
|
||||
# Generated by GNU Autoconf 2.68 for Star Traders 7.4-pre2.
|
||||
#
|
||||
# Report bugs to <J.Zaitseff@zap.org.au>.
|
||||
#
|
||||
@ -560,8 +560,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='Star Traders'
|
||||
PACKAGE_TARNAME='trader'
|
||||
PACKAGE_VERSION='7.3'
|
||||
PACKAGE_STRING='Star Traders 7.3'
|
||||
PACKAGE_VERSION='7.4-pre2'
|
||||
PACKAGE_STRING='Star Traders 7.4-pre2'
|
||||
PACKAGE_BUGREPORT='J.Zaitseff@zap.org.au'
|
||||
PACKAGE_URL='http://www.zap.org.au/software/trader/'
|
||||
|
||||
@ -784,7 +784,6 @@ GNULIB_PERROR
|
||||
GNULIB_PCLOSE
|
||||
GNULIB_OBSTACK_PRINTF_POSIX
|
||||
GNULIB_OBSTACK_PRINTF
|
||||
GNULIB_GETS
|
||||
GNULIB_GETLINE
|
||||
GNULIB_GETDELIM
|
||||
GNULIB_GETCHAR
|
||||
@ -999,11 +998,14 @@ GL_GENERATE_STDDEF_H_TRUE
|
||||
STDDEF_H
|
||||
HAVE_WCHAR_T
|
||||
REPLACE_NULL
|
||||
REPLACE_STRUCT_LCONV
|
||||
REPLACE_DUPLOCALE
|
||||
REPLACE_SETLOCALE
|
||||
REPLACE_LOCALECONV
|
||||
HAVE_DUPLOCALE
|
||||
GNULIB_DUPLOCALE
|
||||
GNULIB_SETLOCALE
|
||||
GNULIB_LOCALECONV
|
||||
LOCALCHARSET_TESTS_ENVIRONMENT
|
||||
GLIBC21
|
||||
NEXT_AS_FIRST_DIRECTIVE_ICONV_H
|
||||
@ -1923,7 +1925,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures Star Traders 7.3 to adapt to many kinds of systems.
|
||||
\`configure' configures Star Traders 7.4-pre2 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@ -1993,7 +1995,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of Star Traders 7.3:";;
|
||||
short | recursive ) echo "Configuration of Star Traders 7.4-pre2:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@ -2096,7 +2098,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
Star Traders configure 7.3
|
||||
Star Traders configure 7.4-pre2
|
||||
generated by GNU Autoconf 2.68
|
||||
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
@ -2743,7 +2745,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by Star Traders $as_me 7.3, which was
|
||||
It was created by Star Traders $as_me 7.4-pre2, which was
|
||||
generated by GNU Autoconf 2.68. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@ -3592,7 +3594,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='trader'
|
||||
VERSION='7.3'
|
||||
VERSION='7.4-pre2'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@ -9994,11 +9996,14 @@ $as_echo "$ac_cv_gnu_library_2_1" >&6; }
|
||||
|
||||
|
||||
|
||||
GNULIB_LOCALECONV=0;
|
||||
GNULIB_SETLOCALE=0;
|
||||
GNULIB_DUPLOCALE=0;
|
||||
HAVE_DUPLOCALE=1;
|
||||
REPLACE_LOCALECONV=0;
|
||||
REPLACE_SETLOCALE=0;
|
||||
REPLACE_DUPLOCALE=0;
|
||||
REPLACE_STRUCT_LCONV=0;
|
||||
|
||||
|
||||
REPLACE_NULL=0;
|
||||
@ -11919,7 +11924,6 @@ fi
|
||||
GNULIB_GETCHAR=0;
|
||||
GNULIB_GETDELIM=0;
|
||||
GNULIB_GETLINE=0;
|
||||
GNULIB_GETS=0;
|
||||
GNULIB_OBSTACK_PRINTF=0;
|
||||
GNULIB_OBSTACK_PRINTF_POSIX=0;
|
||||
GNULIB_PCLOSE=0;
|
||||
@ -13349,6 +13353,15 @@ LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_sourc
|
||||
|
||||
|
||||
|
||||
|
||||
case "$host_os" in
|
||||
solaris*)
|
||||
|
||||
$as_echo "#define _LCONV_C99 1" >>confdefs.h
|
||||
|
||||
;;
|
||||
esac
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h conforms to POSIX:2001" >&5
|
||||
$as_echo_n "checking whether locale.h conforms to POSIX:2001... " >&6; }
|
||||
if ${gl_cv_header_locale_h_posix2001+:} false; then :
|
||||
@ -13358,6 +13371,7 @@ else
|
||||
/* end confdefs.h. */
|
||||
#include <locale.h>
|
||||
int x = LC_MESSAGES;
|
||||
int y = sizeof (((struct lconv *) 0)->decimal_point);
|
||||
int
|
||||
main ()
|
||||
{
|
||||
@ -13417,6 +13431,39 @@ $as_echo "$gl_cv_header_locale_has_locale_t" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct lconv is properly defined" >&5
|
||||
$as_echo_n "checking whether struct lconv is properly defined... " >&6; }
|
||||
if ${gl_cv_sys_struct_lconv_ok+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <locale.h>
|
||||
struct lconv l;
|
||||
int x = sizeof (l.decimal_point);
|
||||
int y = sizeof (l.int_p_cs_precedes);
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
gl_cv_sys_struct_lconv_ok=yes
|
||||
else
|
||||
gl_cv_sys_struct_lconv_ok=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_lconv_ok" >&5
|
||||
$as_echo "$gl_cv_sys_struct_lconv_ok" >&6; }
|
||||
if test $gl_cv_sys_struct_lconv_ok = no; then
|
||||
REPLACE_STRUCT_LCONV=1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
@ -15028,7 +15075,6 @@ $as_echo "$gl_cv_next_stdio_h" >&6; }
|
||||
GNULIB_GETC=1
|
||||
GNULIB_GETCHAR=1
|
||||
GNULIB_FGETS=1
|
||||
GNULIB_GETS=1
|
||||
GNULIB_FREAD=1
|
||||
|
||||
|
||||
@ -15046,7 +15092,7 @@ $as_echo "$gl_cv_next_stdio_h" >&6; }
|
||||
|
||||
|
||||
|
||||
for gl_func in dprintf fpurge fseeko ftello getdelim getline pclose popen renameat snprintf tmpfile vdprintf vsnprintf; do
|
||||
for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose popen renameat snprintf tmpfile vdprintf vsnprintf; do
|
||||
as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
|
||||
$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
|
||||
@ -17749,6 +17795,22 @@ if test "x$ax_cv_curses" != xyes || test "x$ax_cv_curses_color" != xyes; then :
|
||||
|
||||
as_fn_error $? "requires an X/Open-compatible Curses library with colour" "$LINENO" 5
|
||||
|
||||
fi
|
||||
if test "x$ax_cv_curses_enhanced" != xyes; then :
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no X/Open-compatible Enhanced Curses library found
|
||||
|
||||
***************** Locales with multibyte character sequences (such as
|
||||
*** WARNING *** UTF-8) require a wide-character version of Curses,
|
||||
***************** such as NcursesW, to work correctly.
|
||||
" >&5
|
||||
$as_echo "$as_me: WARNING: no X/Open-compatible Enhanced Curses library found
|
||||
|
||||
***************** Locales with multibyte character sequences (such as
|
||||
*** WARNING *** UTF-8) require a wide-character version of Curses,
|
||||
***************** such as NcursesW, to work correctly.
|
||||
" >&2;}
|
||||
|
||||
fi
|
||||
|
||||
ac_config_files="$ac_config_files Makefile lib/Makefile src/Makefile doc/Makefile po/Makefile.in m4/Makefile"
|
||||
@ -18360,7 +18422,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by Star Traders $as_me 7.3, which was
|
||||
This file was extended by Star Traders $as_me 7.4-pre2, which was
|
||||
generated by GNU Autoconf 2.68. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@ -18427,7 +18489,7 @@ _ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
Star Traders config.status 7.3
|
||||
Star Traders config.status 7.4-pre2
|
||||
configured by $0, generated by GNU Autoconf 2.68,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
10
configure.ac
10
configure.ac
@ -26,7 +26,7 @@ dnl You should have received a copy of the GNU General Public License
|
||||
dnl along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
|
||||
AC_INIT([Star Traders], [7.3], [J.Zaitseff@zap.org.au], [trader], [http://www.zap.org.au/software/trader/])
|
||||
AC_INIT([Star Traders], [7.4-pre2], [J.Zaitseff@zap.org.au], [trader], [http://www.zap.org.au/software/trader/])
|
||||
AC_DEFINE([PACKAGE_AUTHOR], ["John Zaitseff"], [Package author])
|
||||
|
||||
AC_PREREQ([2.67])
|
||||
@ -59,6 +59,14 @@ AX_WITH_CURSES
|
||||
AS_IF([test "x$ax_cv_curses" != xyes || test "x$ax_cv_curses_color" != xyes], [
|
||||
AC_MSG_ERROR([requires an X/Open-compatible Curses library with colour])
|
||||
])
|
||||
AS_IF([test "x$ax_cv_curses_enhanced" != xyes], [
|
||||
AC_MSG_WARN([no X/Open-compatible Enhanced Curses library found
|
||||
|
||||
***************** Locales with multibyte character sequences (such as
|
||||
*** WARNING *** UTF-8) require a wide-character version of Curses,
|
||||
***************** such as NcursesW, to work correctly.
|
||||
])
|
||||
])
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11.3 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.4 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -43,6 +43,23 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
VPATH = @srcdir@
|
||||
am__make_dryrun = \
|
||||
{ \
|
||||
am__dry=no; \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
||||
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
||||
*) \
|
||||
for am__flg in $$MAKEFLAGS; do \
|
||||
case $$am__flg in \
|
||||
*=*|--*) ;; \
|
||||
*n*) am__dry=yes; break;; \
|
||||
esac; \
|
||||
done;; \
|
||||
esac; \
|
||||
test $$am__dry = yes; \
|
||||
}
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
@ -110,6 +127,11 @@ CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
@ -234,7 +256,6 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
|
||||
GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
|
||||
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
|
||||
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
|
||||
GNULIB_GETS = @GNULIB_GETS@
|
||||
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
|
||||
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
|
||||
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
|
||||
@ -249,6 +270,7 @@ GNULIB_LCHMOD = @GNULIB_LCHMOD@
|
||||
GNULIB_LCHOWN = @GNULIB_LCHOWN@
|
||||
GNULIB_LINK = @GNULIB_LINK@
|
||||
GNULIB_LINKAT = @GNULIB_LINKAT@
|
||||
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
|
||||
GNULIB_LSEEK = @GNULIB_LSEEK@
|
||||
GNULIB_LSTAT = @GNULIB_LSTAT@
|
||||
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
|
||||
@ -720,6 +742,7 @@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
|
||||
REPLACE_LCHOWN = @REPLACE_LCHOWN@
|
||||
REPLACE_LINK = @REPLACE_LINK@
|
||||
REPLACE_LINKAT = @REPLACE_LINKAT@
|
||||
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
|
||||
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
|
||||
REPLACE_LSEEK = @REPLACE_LSEEK@
|
||||
REPLACE_LSTAT = @REPLACE_LSTAT@
|
||||
@ -778,6 +801,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
|
||||
REPLACE_STRSTR = @REPLACE_STRSTR@
|
||||
REPLACE_STRTOD = @REPLACE_STRTOD@
|
||||
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
|
||||
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
|
||||
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
|
||||
REPLACE_SYMLINK = @REPLACE_SYMLINK@
|
||||
REPLACE_TIMEGM = @REPLACE_TIMEGM@
|
||||
@ -916,9 +940,18 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
$(am__aclocal_m4_deps):
|
||||
install-man6: $(dist_man6_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(man6dir)" || $(MKDIR_P) "$(DESTDIR)$(man6dir)"
|
||||
@list='$(dist_man6_MANS)'; test -n "$(man6dir)" || exit 0; \
|
||||
{ for i in $$list; do echo "$$i"; done; \
|
||||
@list1='$(dist_man6_MANS)'; \
|
||||
list2=''; \
|
||||
test -n "$(man6dir)" \
|
||||
&& test -n "`echo $$list1$$list2`" \
|
||||
|| exit 0; \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(man6dir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(man6dir)" || exit 1; \
|
||||
{ for i in $$list1; do echo "$$i"; done; \
|
||||
if test -n "$$list2"; then \
|
||||
for i in $$list2; do echo "$$i"; done \
|
||||
| sed -n '/\.6[a-z]*$$/p'; \
|
||||
fi; \
|
||||
} | while read p; do \
|
||||
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; echo "$$p"; \
|
||||
|
@ -336,12 +336,15 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
||||
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
||||
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
||||
-e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \
|
||||
-e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \
|
||||
-e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
|
||||
-e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
|
||||
-e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
|
||||
-e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
|
||||
-e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \
|
||||
-e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
|
||||
-e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
|
||||
-e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \
|
||||
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
||||
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
||||
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
|
||||
@ -646,7 +649,6 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
|
||||
-e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
|
||||
-e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
|
||||
-e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
|
||||
-e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \
|
||||
-e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
|
||||
-e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
|
||||
-e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11.3 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.4 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -41,6 +41,23 @@
|
||||
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__make_dryrun = \
|
||||
{ \
|
||||
am__dry=no; \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
||||
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
||||
*) \
|
||||
for am__flg in $$MAKEFLAGS; do \
|
||||
case $$am__flg in \
|
||||
*=*|--*) ;; \
|
||||
*n*) am__dry=yes; break;; \
|
||||
esac; \
|
||||
done;; \
|
||||
esac; \
|
||||
test $$am__dry = yes; \
|
||||
}
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
@ -142,6 +159,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
install-pdf-recursive install-ps-recursive install-recursive \
|
||||
installcheck-recursive installdirs-recursive pdf-recursive \
|
||||
ps-recursive uninstall-recursive
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
HEADERS = $(noinst_HEADERS)
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
@ -269,7 +291,6 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
|
||||
GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
|
||||
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
|
||||
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
|
||||
GNULIB_GETS = @GNULIB_GETS@
|
||||
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
|
||||
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
|
||||
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
|
||||
@ -284,6 +305,7 @@ GNULIB_LCHMOD = @GNULIB_LCHMOD@
|
||||
GNULIB_LCHOWN = @GNULIB_LCHOWN@
|
||||
GNULIB_LINK = @GNULIB_LINK@
|
||||
GNULIB_LINKAT = @GNULIB_LINKAT@
|
||||
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
|
||||
GNULIB_LSEEK = @GNULIB_LSEEK@
|
||||
GNULIB_LSTAT = @GNULIB_LSTAT@
|
||||
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
|
||||
@ -755,6 +777,7 @@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
|
||||
REPLACE_LCHOWN = @REPLACE_LCHOWN@
|
||||
REPLACE_LINK = @REPLACE_LINK@
|
||||
REPLACE_LINKAT = @REPLACE_LINKAT@
|
||||
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
|
||||
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
|
||||
REPLACE_LSEEK = @REPLACE_LSEEK@
|
||||
REPLACE_LSTAT = @REPLACE_LSTAT@
|
||||
@ -813,6 +836,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
|
||||
REPLACE_STRSTR = @REPLACE_STRSTR@
|
||||
REPLACE_STRTOD = @REPLACE_STRTOD@
|
||||
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
|
||||
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
|
||||
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
|
||||
REPLACE_SYMLINK = @REPLACE_SYMLINK@
|
||||
REPLACE_TIMEGM = @REPLACE_TIMEGM@
|
||||
@ -1298,13 +1322,10 @@ distdir: $(DISTFILES)
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
$(am__make_dryrun) \
|
||||
|| test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
@ -1621,12 +1642,15 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
||||
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
||||
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
||||
-e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \
|
||||
-e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \
|
||||
-e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
|
||||
-e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
|
||||
-e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
|
||||
-e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
|
||||
-e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \
|
||||
-e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
|
||||
-e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
|
||||
-e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \
|
||||
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
||||
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
||||
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
|
||||
@ -1770,7 +1794,6 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
|
||||
-e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
|
||||
-e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
|
||||
-e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
|
||||
-e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \
|
||||
-e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
|
||||
-e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
|
||||
-e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
|
||||
|
105
lib/locale.in.h
105
lib/locale.in.h
@ -47,6 +47,111 @@
|
||||
# define LC_MESSAGES 1729
|
||||
#endif
|
||||
|
||||
/* Bionic libc's 'struct lconv' is just a dummy. */
|
||||
#if @REPLACE_STRUCT_LCONV@
|
||||
# define lconv rpl_lconv
|
||||
struct lconv
|
||||
{
|
||||
/* All 'char *' are actually 'const char *'. */
|
||||
|
||||
/* Members that depend on the LC_NUMERIC category of the locale. See
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_04> */
|
||||
|
||||
/* Symbol used as decimal point. */
|
||||
char *decimal_point;
|
||||
/* Symbol used to separate groups of digits to the left of the decimal
|
||||
point. */
|
||||
char *thousands_sep;
|
||||
/* Definition of the size of groups of digits to the left of the decimal
|
||||
point. */
|
||||
char *grouping;
|
||||
|
||||
/* Members that depend on the LC_MONETARY category of the locale. See
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_03> */
|
||||
|
||||
/* Symbol used as decimal point. */
|
||||
char *mon_decimal_point;
|
||||
/* Symbol used to separate groups of digits to the left of the decimal
|
||||
point. */
|
||||
char *mon_thousands_sep;
|
||||
/* Definition of the size of groups of digits to the left of the decimal
|
||||
point. */
|
||||
char *mon_grouping;
|
||||
/* Sign used to indicate a value >= 0. */
|
||||
char *positive_sign;
|
||||
/* Sign used to indicate a value < 0. */
|
||||
char *negative_sign;
|
||||
|
||||
/* For formatting local currency. */
|
||||
/* Currency symbol (3 characters) followed by separator (1 character). */
|
||||
char *currency_symbol;
|
||||
/* Number of digits after the decimal point. */
|
||||
char frac_digits;
|
||||
/* For values >= 0: 1 if the currency symbol precedes the number, 0 if it
|
||||
comes after the number. */
|
||||
char p_cs_precedes;
|
||||
/* For values >= 0: Position of the sign. */
|
||||
char p_sign_posn;
|
||||
/* For values >= 0: Placement of spaces between currency symbol, sign, and
|
||||
number. */
|
||||
char p_sep_by_space;
|
||||
/* For values < 0: 1 if the currency symbol precedes the number, 0 if it
|
||||
comes after the number. */
|
||||
char n_cs_precedes;
|
||||
/* For values < 0: Position of the sign. */
|
||||
char n_sign_posn;
|
||||
/* For values < 0: Placement of spaces between currency symbol, sign, and
|
||||
number. */
|
||||
char n_sep_by_space;
|
||||
|
||||
/* For formatting international currency. */
|
||||
/* Currency symbol (3 characters) followed by separator (1 character). */
|
||||
char *int_curr_symbol;
|
||||
/* Number of digits after the decimal point. */
|
||||
char int_frac_digits;
|
||||
/* For values >= 0: 1 if the currency symbol precedes the number, 0 if it
|
||||
comes after the number. */
|
||||
char int_p_cs_precedes;
|
||||
/* For values >= 0: Position of the sign. */
|
||||
char int_p_sign_posn;
|
||||
/* For values >= 0: Placement of spaces between currency symbol, sign, and
|
||||
number. */
|
||||
char int_p_sep_by_space;
|
||||
/* For values < 0: 1 if the currency symbol precedes the number, 0 if it
|
||||
comes after the number. */
|
||||
char int_n_cs_precedes;
|
||||
/* For values < 0: Position of the sign. */
|
||||
char int_n_sign_posn;
|
||||
/* For values < 0: Placement of spaces between currency symbol, sign, and
|
||||
number. */
|
||||
char int_n_sep_by_space;
|
||||
};
|
||||
#endif
|
||||
|
||||
#if @GNULIB_LOCALECONV@
|
||||
# if @REPLACE_LOCALECONV@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef localeconv
|
||||
# define localeconv rpl_localeconv
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (localeconv, struct lconv *, (void));
|
||||
_GL_CXXALIAS_RPL (localeconv, struct lconv *, (void));
|
||||
# else
|
||||
_GL_CXXALIAS_SYS (localeconv, struct lconv *, (void));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (localeconv);
|
||||
#elif @REPLACE_STRUCT_LCONV@
|
||||
# undef localeconv
|
||||
# define localeconv localeconv_used_without_requesting_gnulib_module_localeconv
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef localeconv
|
||||
# if HAVE_RAW_DECL_LOCALECONV
|
||||
_GL_WARN_ON_USE (localeconv,
|
||||
"localeconv returns too few information on some platforms - "
|
||||
"use gnulib module localeconv for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if @GNULIB_SETLOCALE@
|
||||
# if @REPLACE_SETLOCALE@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
|
@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if @GNULIB_GETS@
|
||||
# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef gets
|
||||
# define gets rpl_gets
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (gets, char *, (char *s));
|
||||
# else
|
||||
_GL_CXXALIAS_SYS (gets, char *, (char *s));
|
||||
# undef gets
|
||||
# endif
|
||||
_GL_CXXALIASWARN (gets);
|
||||
/* It is very rare that the developer ever has full control of stdin,
|
||||
so any use of gets warrants an unconditional warning. Assume it is
|
||||
always declared, since it is required by C89. */
|
||||
so any use of gets warrants an unconditional warning; besides, C11
|
||||
removed it. */
|
||||
#undef gets
|
||||
#if HAVE_RAW_DECL_GETS
|
||||
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
|
||||
#endif
|
||||
|
||||
@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - "
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Some people would argue that sprintf should be handled like gets
|
||||
(for example, OpenBSD issues a link warning for both functions),
|
||||
since both can cause security holes due to buffer overruns.
|
||||
/* Some people would argue that all sprintf uses should be warned about
|
||||
(for example, OpenBSD issues a link warning for it),
|
||||
since it can cause security holes due to buffer overruns.
|
||||
However, we believe that sprintf can be used safely, and is more
|
||||
efficient than snprintf in those safe cases; and as proof of our
|
||||
belief, we use sprintf in several gnulib modules. So this header
|
||||
|
@ -94,6 +94,14 @@ struct random_data
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
/* The __attribute__ feature is available in gcc versions 2.5 and later.
|
||||
The attribute __pure__ was added in gcc 2.96. */
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
|
||||
# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
|
||||
#else
|
||||
# define _GL_ATTRIBUTE_PURE /* empty */
|
||||
#endif
|
||||
|
||||
/* The definition of _Noreturn is copied here. */
|
||||
|
||||
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
|
||||
@ -138,7 +146,9 @@ _GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
|
||||
/* Parse a signed decimal integer.
|
||||
Returns the value of the integer. Errors are not detected. */
|
||||
# if !@HAVE_ATOLL@
|
||||
_GL_FUNCDECL_SYS (atoll, long long, (const char *string) _GL_ARG_NONNULL ((1)));
|
||||
_GL_FUNCDECL_SYS (atoll, long long, (const char *string)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (atoll, long long, (const char *string));
|
||||
_GL_CXXALIASWARN (atoll);
|
||||
|
@ -724,10 +724,14 @@ _GL_WARN_ON_USE (strtok_r, "strtok_r is unportable - "
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# define mbslen rpl_mbslen
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1)));
|
||||
_GL_FUNCDECL_RPL (mbslen, size_t, (const char *string)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (mbslen, size_t, (const char *string));
|
||||
# else
|
||||
_GL_FUNCDECL_SYS (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1)));
|
||||
_GL_FUNCDECL_SYS (mbslen, size_t, (const char *string)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_SYS (mbslen, size_t, (const char *string));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (mbslen);
|
||||
@ -737,6 +741,7 @@ _GL_CXXALIASWARN (mbslen);
|
||||
/* Return the number of multibyte characters in the character string starting
|
||||
at STRING and ending at STRING + LEN. */
|
||||
_GL_EXTERN_C size_t mbsnlen (const char *string, size_t len)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1));
|
||||
#endif
|
||||
|
||||
@ -750,10 +755,12 @@ _GL_EXTERN_C size_t mbsnlen (const char *string, size_t len)
|
||||
# define mbschr rpl_mbschr /* avoid collision with HP-UX function */
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (mbschr, char *, (const char *string, int c)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (mbschr, char *, (const char *string, int c));
|
||||
# else
|
||||
_GL_FUNCDECL_SYS (mbschr, char *, (const char *string, int c)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_SYS (mbschr, char *, (const char *string, int c));
|
||||
# endif
|
||||
@ -770,10 +777,12 @@ _GL_CXXALIASWARN (mbschr);
|
||||
# define mbsrchr rpl_mbsrchr /* avoid collision with system function */
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (mbsrchr, char *, (const char *string, int c)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (mbsrchr, char *, (const char *string, int c));
|
||||
# else
|
||||
_GL_FUNCDECL_SYS (mbsrchr, char *, (const char *string, int c)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_SYS (mbsrchr, char *, (const char *string, int c));
|
||||
# endif
|
||||
@ -786,6 +795,7 @@ _GL_CXXALIASWARN (mbsrchr);
|
||||
Unlike strstr(), this function works correctly in multibyte locales with
|
||||
encodings different from UTF-8. */
|
||||
_GL_EXTERN_C char * mbsstr (const char *haystack, const char *needle)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1, 2));
|
||||
#endif
|
||||
|
||||
@ -797,6 +807,7 @@ _GL_EXTERN_C char * mbsstr (const char *haystack, const char *needle)
|
||||
different lengths!
|
||||
Unlike strcasecmp(), this function works correctly in multibyte locales. */
|
||||
_GL_EXTERN_C int mbscasecmp (const char *s1, const char *s2)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1, 2));
|
||||
#endif
|
||||
|
||||
@ -811,6 +822,7 @@ _GL_EXTERN_C int mbscasecmp (const char *s1, const char *s2)
|
||||
Unlike strncasecmp(), this function works correctly in multibyte locales.
|
||||
But beware that N is not a byte count but a character count! */
|
||||
_GL_EXTERN_C int mbsncasecmp (const char *s1, const char *s2, size_t n)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1, 2));
|
||||
#endif
|
||||
|
||||
@ -824,6 +836,7 @@ _GL_EXTERN_C int mbsncasecmp (const char *s1, const char *s2, size_t n)
|
||||
Unlike strncasecmp(), this function works correctly in multibyte
|
||||
locales. */
|
||||
_GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1, 2));
|
||||
#endif
|
||||
|
||||
@ -834,6 +847,7 @@ _GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix)
|
||||
strlen (haystack) < strlen (needle) !
|
||||
Unlike strcasestr(), this function works correctly in multibyte locales. */
|
||||
_GL_EXTERN_C char * mbscasestr (const char *haystack, const char *needle)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1, 2));
|
||||
#endif
|
||||
|
||||
@ -844,6 +858,7 @@ _GL_EXTERN_C char * mbscasestr (const char *haystack, const char *needle)
|
||||
if none exists.
|
||||
Unlike strcspn(), this function works correctly in multibyte locales. */
|
||||
_GL_EXTERN_C size_t mbscspn (const char *string, const char *accept)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1, 2));
|
||||
#endif
|
||||
|
||||
@ -857,10 +872,12 @@ _GL_EXTERN_C size_t mbscspn (const char *string, const char *accept)
|
||||
# define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (mbspbrk, char *, (const char *string, const char *accept)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1, 2)));
|
||||
_GL_CXXALIAS_RPL (mbspbrk, char *, (const char *string, const char *accept));
|
||||
# else
|
||||
_GL_FUNCDECL_SYS (mbspbrk, char *, (const char *string, const char *accept)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1, 2)));
|
||||
_GL_CXXALIAS_SYS (mbspbrk, char *, (const char *string, const char *accept));
|
||||
# endif
|
||||
@ -874,6 +891,7 @@ _GL_CXXALIASWARN (mbspbrk);
|
||||
if none exists.
|
||||
Unlike strspn(), this function works correctly in multibyte locales. */
|
||||
_GL_EXTERN_C size_t mbsspn (const char *string, const char *reject)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1, 2));
|
||||
#endif
|
||||
|
||||
@ -993,6 +1011,7 @@ _GL_WARN_ON_USE (strsignal, "strsignal is unportable - "
|
||||
#if @GNULIB_STRVERSCMP@
|
||||
# if !@HAVE_STRVERSCMP@
|
||||
_GL_FUNCDECL_SYS (strverscmp, int, (const char *, const char *)
|
||||
_GL_ATTRIBUTE_PURE
|
||||
_GL_ARG_NONNULL ((1, 2)));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (strverscmp, int, (const char *, const char *));
|
||||
|
174
lib/unistr.in.h
174
lib/unistr.in.h
@ -66,17 +66,20 @@ extern "C" {
|
||||
/* Check whether an UTF-8 string is well-formed.
|
||||
Return NULL if valid, or a pointer to the first invalid unit otherwise. */
|
||||
extern const uint8_t *
|
||||
u8_check (const uint8_t *s, size_t n);
|
||||
u8_check (const uint8_t *s, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Check whether an UTF-16 string is well-formed.
|
||||
Return NULL if valid, or a pointer to the first invalid unit otherwise. */
|
||||
extern const uint16_t *
|
||||
u16_check (const uint16_t *s, size_t n);
|
||||
u16_check (const uint16_t *s, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Check whether an UCS-4 string is well-formed.
|
||||
Return NULL if valid, or a pointer to the first invalid unit otherwise. */
|
||||
extern const uint32_t *
|
||||
u32_check (const uint32_t *s, size_t n);
|
||||
u32_check (const uint32_t *s, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
|
||||
/* Elementary string conversions. */
|
||||
@ -119,11 +122,14 @@ extern uint16_t *
|
||||
failure. */
|
||||
/* Similar to mblen(), except that s must not be NULL. */
|
||||
extern int
|
||||
u8_mblen (const uint8_t *s, size_t n);
|
||||
u8_mblen (const uint8_t *s, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern int
|
||||
u16_mblen (const uint16_t *s, size_t n);
|
||||
u16_mblen (const uint16_t *s, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern int
|
||||
u32_mblen (const uint32_t *s, size_t n);
|
||||
u32_mblen (const uint32_t *s, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Return the length (number of units) of the first character in S, putting
|
||||
its 'ucs4_t' representation in *PUC. Upon failure, *PUC is set to 0xfffd,
|
||||
@ -400,38 +406,50 @@ extern uint32_t *
|
||||
/* Compare S1 and S2, each of length N. */
|
||||
/* Similar to memcmp(). */
|
||||
extern int
|
||||
u8_cmp (const uint8_t *s1, const uint8_t *s2, size_t n);
|
||||
u8_cmp (const uint8_t *s1, const uint8_t *s2, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern int
|
||||
u16_cmp (const uint16_t *s1, const uint16_t *s2, size_t n);
|
||||
u16_cmp (const uint16_t *s1, const uint16_t *s2, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern int
|
||||
u32_cmp (const uint32_t *s1, const uint32_t *s2, size_t n);
|
||||
u32_cmp (const uint32_t *s1, const uint32_t *s2, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Compare S1 and S2. */
|
||||
/* Similar to the gnulib function memcmp2(). */
|
||||
extern int
|
||||
u8_cmp2 (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2);
|
||||
u8_cmp2 (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern int
|
||||
u16_cmp2 (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2);
|
||||
u16_cmp2 (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern int
|
||||
u32_cmp2 (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2);
|
||||
u32_cmp2 (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Search the string at S for UC. */
|
||||
/* Similar to memchr(). */
|
||||
extern uint8_t *
|
||||
u8_chr (const uint8_t *s, size_t n, ucs4_t uc);
|
||||
u8_chr (const uint8_t *s, size_t n, ucs4_t uc)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern uint16_t *
|
||||
u16_chr (const uint16_t *s, size_t n, ucs4_t uc);
|
||||
u16_chr (const uint16_t *s, size_t n, ucs4_t uc)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern uint32_t *
|
||||
u32_chr (const uint32_t *s, size_t n, ucs4_t uc);
|
||||
u32_chr (const uint32_t *s, size_t n, ucs4_t uc)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Count the number of Unicode characters in the N units from S. */
|
||||
/* Similar to mbsnlen(). */
|
||||
extern size_t
|
||||
u8_mbsnlen (const uint8_t *s, size_t n);
|
||||
u8_mbsnlen (const uint8_t *s, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern size_t
|
||||
u16_mbsnlen (const uint16_t *s, size_t n);
|
||||
u16_mbsnlen (const uint16_t *s, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern size_t
|
||||
u32_mbsnlen (const uint32_t *s, size_t n);
|
||||
u32_mbsnlen (const uint32_t *s, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Elementary string functions with memory allocation. */
|
||||
|
||||
@ -448,11 +466,14 @@ extern uint32_t *
|
||||
/* Return the length (number of units) of the first character in S.
|
||||
Return 0 if it is the NUL character. Return -1 upon failure. */
|
||||
extern int
|
||||
u8_strmblen (const uint8_t *s);
|
||||
u8_strmblen (const uint8_t *s)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern int
|
||||
u16_strmblen (const uint16_t *s);
|
||||
u16_strmblen (const uint16_t *s)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern int
|
||||
u32_strmblen (const uint32_t *s);
|
||||
u32_strmblen (const uint32_t *s)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Return the length (number of units) of the first character in S, putting
|
||||
its 'ucs4_t' representation in *PUC. Return 0 if it is the NUL
|
||||
@ -487,20 +508,26 @@ extern const uint32_t *
|
||||
/* Return the number of units in S. */
|
||||
/* Similar to strlen(), wcslen(). */
|
||||
extern size_t
|
||||
u8_strlen (const uint8_t *s);
|
||||
u8_strlen (const uint8_t *s)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern size_t
|
||||
u16_strlen (const uint16_t *s);
|
||||
u16_strlen (const uint16_t *s)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern size_t
|
||||
u32_strlen (const uint32_t *s);
|
||||
u32_strlen (const uint32_t *s)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Return the number of units in S, but at most MAXLEN. */
|
||||
/* Similar to strnlen(), wcsnlen(). */
|
||||
extern size_t
|
||||
u8_strnlen (const uint8_t *s, size_t maxlen);
|
||||
u8_strnlen (const uint8_t *s, size_t maxlen)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern size_t
|
||||
u16_strnlen (const uint16_t *s, size_t maxlen);
|
||||
u16_strnlen (const uint16_t *s, size_t maxlen)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern size_t
|
||||
u32_strnlen (const uint32_t *s, size_t maxlen);
|
||||
u32_strnlen (const uint32_t *s, size_t maxlen)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Copy SRC to DEST. */
|
||||
/* Similar to strcpy(), wcscpy(). */
|
||||
@ -562,16 +589,20 @@ extern uint32_t *
|
||||
#ifdef __sun
|
||||
/* Avoid a collision with the u8_strcmp() function in Solaris 11 libc. */
|
||||
extern int
|
||||
u8_strcmp_gnu (const uint8_t *s1, const uint8_t *s2);
|
||||
u8_strcmp_gnu (const uint8_t *s1, const uint8_t *s2)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
# define u8_strcmp u8_strcmp_gnu
|
||||
#else
|
||||
extern int
|
||||
u8_strcmp (const uint8_t *s1, const uint8_t *s2);
|
||||
u8_strcmp (const uint8_t *s1, const uint8_t *s2)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
#endif
|
||||
extern int
|
||||
u16_strcmp (const uint16_t *s1, const uint16_t *s2);
|
||||
u16_strcmp (const uint16_t *s1, const uint16_t *s2)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern int
|
||||
u32_strcmp (const uint32_t *s1, const uint32_t *s2);
|
||||
u32_strcmp (const uint32_t *s1, const uint32_t *s2)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Compare S1 and S2 using the collation rules of the current locale.
|
||||
Return -1 if S1 < S2, 0 if S1 = S2, 1 if S1 > S2.
|
||||
@ -587,11 +618,14 @@ extern int
|
||||
/* Compare no more than N units of S1 and S2. */
|
||||
/* Similar to strncmp(), wcsncmp(). */
|
||||
extern int
|
||||
u8_strncmp (const uint8_t *s1, const uint8_t *s2, size_t n);
|
||||
u8_strncmp (const uint8_t *s1, const uint8_t *s2, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern int
|
||||
u16_strncmp (const uint16_t *s1, const uint16_t *s2, size_t n);
|
||||
u16_strncmp (const uint16_t *s1, const uint16_t *s2, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern int
|
||||
u32_strncmp (const uint32_t *s1, const uint32_t *s2, size_t n);
|
||||
u32_strncmp (const uint32_t *s1, const uint32_t *s2, size_t n)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Duplicate S, returning an identical malloc'd string. */
|
||||
/* Similar to strdup(), wcsdup(). */
|
||||
@ -605,74 +639,98 @@ extern uint32_t *
|
||||
/* Find the first occurrence of UC in STR. */
|
||||
/* Similar to strchr(), wcschr(). */
|
||||
extern uint8_t *
|
||||
u8_strchr (const uint8_t *str, ucs4_t uc);
|
||||
u8_strchr (const uint8_t *str, ucs4_t uc)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern uint16_t *
|
||||
u16_strchr (const uint16_t *str, ucs4_t uc);
|
||||
u16_strchr (const uint16_t *str, ucs4_t uc)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern uint32_t *
|
||||
u32_strchr (const uint32_t *str, ucs4_t uc);
|
||||
u32_strchr (const uint32_t *str, ucs4_t uc)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Find the last occurrence of UC in STR. */
|
||||
/* Similar to strrchr(), wcsrchr(). */
|
||||
extern uint8_t *
|
||||
u8_strrchr (const uint8_t *str, ucs4_t uc);
|
||||
u8_strrchr (const uint8_t *str, ucs4_t uc)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern uint16_t *
|
||||
u16_strrchr (const uint16_t *str, ucs4_t uc);
|
||||
u16_strrchr (const uint16_t *str, ucs4_t uc)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern uint32_t *
|
||||
u32_strrchr (const uint32_t *str, ucs4_t uc);
|
||||
u32_strrchr (const uint32_t *str, ucs4_t uc)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Return the length of the initial segment of STR which consists entirely
|
||||
of Unicode characters not in REJECT. */
|
||||
/* Similar to strcspn(), wcscspn(). */
|
||||
extern size_t
|
||||
u8_strcspn (const uint8_t *str, const uint8_t *reject);
|
||||
u8_strcspn (const uint8_t *str, const uint8_t *reject)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern size_t
|
||||
u16_strcspn (const uint16_t *str, const uint16_t *reject);
|
||||
u16_strcspn (const uint16_t *str, const uint16_t *reject)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern size_t
|
||||
u32_strcspn (const uint32_t *str, const uint32_t *reject);
|
||||
u32_strcspn (const uint32_t *str, const uint32_t *reject)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Return the length of the initial segment of STR which consists entirely
|
||||
of Unicode characters in ACCEPT. */
|
||||
/* Similar to strspn(), wcsspn(). */
|
||||
extern size_t
|
||||
u8_strspn (const uint8_t *str, const uint8_t *accept);
|
||||
u8_strspn (const uint8_t *str, const uint8_t *accept)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern size_t
|
||||
u16_strspn (const uint16_t *str, const uint16_t *accept);
|
||||
u16_strspn (const uint16_t *str, const uint16_t *accept)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern size_t
|
||||
u32_strspn (const uint32_t *str, const uint32_t *accept);
|
||||
u32_strspn (const uint32_t *str, const uint32_t *accept)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Find the first occurrence in STR of any character in ACCEPT. */
|
||||
/* Similar to strpbrk(), wcspbrk(). */
|
||||
extern uint8_t *
|
||||
u8_strpbrk (const uint8_t *str, const uint8_t *accept);
|
||||
u8_strpbrk (const uint8_t *str, const uint8_t *accept)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern uint16_t *
|
||||
u16_strpbrk (const uint16_t *str, const uint16_t *accept);
|
||||
u16_strpbrk (const uint16_t *str, const uint16_t *accept)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern uint32_t *
|
||||
u32_strpbrk (const uint32_t *str, const uint32_t *accept);
|
||||
u32_strpbrk (const uint32_t *str, const uint32_t *accept)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Find the first occurrence of NEEDLE in HAYSTACK. */
|
||||
/* Similar to strstr(), wcsstr(). */
|
||||
extern uint8_t *
|
||||
u8_strstr (const uint8_t *haystack, const uint8_t *needle);
|
||||
u8_strstr (const uint8_t *haystack, const uint8_t *needle)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern uint16_t *
|
||||
u16_strstr (const uint16_t *haystack, const uint16_t *needle);
|
||||
u16_strstr (const uint16_t *haystack, const uint16_t *needle)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern uint32_t *
|
||||
u32_strstr (const uint32_t *haystack, const uint32_t *needle);
|
||||
u32_strstr (const uint32_t *haystack, const uint32_t *needle)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Test whether STR starts with PREFIX. */
|
||||
extern bool
|
||||
u8_startswith (const uint8_t *str, const uint8_t *prefix);
|
||||
u8_startswith (const uint8_t *str, const uint8_t *prefix)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern bool
|
||||
u16_startswith (const uint16_t *str, const uint16_t *prefix);
|
||||
u16_startswith (const uint16_t *str, const uint16_t *prefix)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern bool
|
||||
u32_startswith (const uint32_t *str, const uint32_t *prefix);
|
||||
u32_startswith (const uint32_t *str, const uint32_t *prefix)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Test whether STR ends with SUFFIX. */
|
||||
extern bool
|
||||
u8_endswith (const uint8_t *str, const uint8_t *suffix);
|
||||
u8_endswith (const uint8_t *str, const uint8_t *suffix)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern bool
|
||||
u16_endswith (const uint16_t *str, const uint16_t *suffix);
|
||||
u16_endswith (const uint16_t *str, const uint16_t *suffix)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
extern bool
|
||||
u32_endswith (const uint32_t *str, const uint32_t *suffix);
|
||||
u32_endswith (const uint32_t *str, const uint32_t *suffix)
|
||||
_UC_ATTRIBUTE_PURE;
|
||||
|
||||
/* Divide STR into tokens separated by characters in DELIM.
|
||||
This interface is actually more similar to wcstok than to strtok. */
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Elementary types for the GNU UniString library.
|
||||
/* Elementary types and macros for the GNU UniString library.
|
||||
Copyright (C) 2002, 2005-2006, 2009-2012 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
@ -23,4 +23,24 @@
|
||||
/* Type representing a Unicode character. */
|
||||
typedef uint32_t ucs4_t;
|
||||
|
||||
/* Attribute of a function whose result depends only on the arguments
|
||||
(not pointers!) and which has no side effects. */
|
||||
#ifndef _UC_ATTRIBUTE_CONST
|
||||
# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
|
||||
# define _UC_ATTRIBUTE_CONST __attribute__ ((__const__))
|
||||
# else
|
||||
# define _UC_ATTRIBUTE_CONST
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Attribute of a function whose result depends only on the arguments
|
||||
(possibly pointers) and global memory, and which has no side effects. */
|
||||
#ifndef _UC_ATTRIBUTE_PURE
|
||||
# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
|
||||
# define _UC_ATTRIBUTE_PURE __attribute__ ((__pure__))
|
||||
# else
|
||||
# define _UC_ATTRIBUTE_PURE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* _UNITYPES_H */
|
||||
|
@ -83,6 +83,14 @@
|
||||
#ifndef _@GUARD_PREFIX@_WCHAR_H
|
||||
#define _@GUARD_PREFIX@_WCHAR_H
|
||||
|
||||
/* The __attribute__ feature is available in gcc versions 2.5 and later.
|
||||
The attribute __pure__ was added in gcc 2.96. */
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
|
||||
# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
|
||||
#else
|
||||
# define _GL_ATTRIBUTE_PURE /* empty */
|
||||
#endif
|
||||
|
||||
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
|
||||
|
||||
/* The definition of _GL_ARG_NONNULL is copied here. */
|
||||
@ -135,11 +143,11 @@ typedef int rpl_mbstate_t;
|
||||
# undef btowc
|
||||
# define btowc rpl_btowc
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (btowc, wint_t, (int c));
|
||||
_GL_FUNCDECL_RPL (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
|
||||
_GL_CXXALIAS_RPL (btowc, wint_t, (int c));
|
||||
# else
|
||||
# if !@HAVE_BTOWC@
|
||||
_GL_FUNCDECL_SYS (btowc, wint_t, (int c));
|
||||
_GL_FUNCDECL_SYS (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (btowc, wint_t, (int c));
|
||||
# endif
|
||||
@ -160,12 +168,12 @@ _GL_WARN_ON_USE (btowc, "btowc is unportable - "
|
||||
# undef wctob
|
||||
# define wctob rpl_wctob
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (wctob, int, (wint_t wc));
|
||||
_GL_FUNCDECL_RPL (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
|
||||
_GL_CXXALIAS_RPL (wctob, int, (wint_t wc));
|
||||
# else
|
||||
# if !defined wctob && !@HAVE_DECL_WCTOB@
|
||||
/* wctob is provided by gnulib, or wctob exists but is not declared. */
|
||||
_GL_FUNCDECL_SYS (wctob, int, (wint_t wc));
|
||||
_GL_FUNCDECL_SYS (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wctob, int, (wint_t wc));
|
||||
# endif
|
||||
@ -426,12 +434,12 @@ _GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - "
|
||||
# undef wcwidth
|
||||
# define wcwidth rpl_wcwidth
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t));
|
||||
_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
|
||||
_GL_CXXALIAS_RPL (wcwidth, int, (wchar_t));
|
||||
# else
|
||||
# if !@HAVE_DECL_WCWIDTH@
|
||||
/* wcwidth exists but is not declared. */
|
||||
_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t));
|
||||
_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcwidth, int, (wchar_t));
|
||||
# endif
|
||||
@ -448,7 +456,8 @@ _GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - "
|
||||
/* Search N wide characters of S for C. */
|
||||
#if @GNULIB_WMEMCHR@
|
||||
# if !@HAVE_WMEMCHR@
|
||||
_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n));
|
||||
_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
/* On some systems, this function is defined as an overloaded function:
|
||||
extern "C++" {
|
||||
@ -479,7 +488,8 @@ _GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - "
|
||||
#if @GNULIB_WMEMCMP@
|
||||
# if !@HAVE_WMEMCMP@
|
||||
_GL_FUNCDECL_SYS (wmemcmp, int,
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wmemcmp, int,
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
@ -549,7 +559,7 @@ _GL_WARN_ON_USE (wmemset, "wmemset is unportable - "
|
||||
/* Return the number of wide characters in S. */
|
||||
#if @GNULIB_WCSLEN@
|
||||
# if !@HAVE_WCSLEN@
|
||||
_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s));
|
||||
_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s) _GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcslen, size_t, (const wchar_t *s));
|
||||
_GL_CXXALIASWARN (wcslen);
|
||||
@ -565,7 +575,8 @@ _GL_WARN_ON_USE (wcslen, "wcslen is unportable - "
|
||||
/* Return the number of wide characters in S, but at most MAXLEN. */
|
||||
#if @GNULIB_WCSNLEN@
|
||||
# if !@HAVE_WCSNLEN@
|
||||
_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
|
||||
_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
|
||||
_GL_CXXALIASWARN (wcsnlen);
|
||||
@ -684,7 +695,8 @@ _GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - "
|
||||
/* Compare S1 and S2. */
|
||||
#if @GNULIB_WCSCMP@
|
||||
# if !@HAVE_WCSCMP@
|
||||
_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
|
||||
_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
|
||||
_GL_CXXALIASWARN (wcscmp);
|
||||
@ -701,7 +713,8 @@ _GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - "
|
||||
#if @GNULIB_WCSNCMP@
|
||||
# if !@HAVE_WCSNCMP@
|
||||
_GL_FUNCDECL_SYS (wcsncmp, int,
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsncmp, int,
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
@ -718,7 +731,8 @@ _GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - "
|
||||
/* Compare S1 and S2, ignoring case. */
|
||||
#if @GNULIB_WCSCASECMP@
|
||||
# if !@HAVE_WCSCASECMP@
|
||||
_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
|
||||
_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
|
||||
_GL_CXXALIASWARN (wcscasecmp);
|
||||
@ -735,7 +749,8 @@ _GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - "
|
||||
#if @GNULIB_WCSNCASECMP@
|
||||
# if !@HAVE_WCSNCASECMP@
|
||||
_GL_FUNCDECL_SYS (wcsncasecmp, int,
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsncasecmp, int,
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
@ -803,7 +818,8 @@ _GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - "
|
||||
/* Find the first occurrence of WC in WCS. */
|
||||
#if @GNULIB_WCSCHR@
|
||||
# if !@HAVE_WCSCHR@
|
||||
_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc));
|
||||
_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
/* On some systems, this function is defined as an overloaded function:
|
||||
extern "C++" {
|
||||
@ -832,7 +848,8 @@ _GL_WARN_ON_USE (wcschr, "wcschr is unportable - "
|
||||
/* Find the last occurrence of WC in WCS. */
|
||||
#if @GNULIB_WCSRCHR@
|
||||
# if !@HAVE_WCSRCHR@
|
||||
_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc));
|
||||
_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
/* On some systems, this function is defined as an overloaded function:
|
||||
extern "C++" {
|
||||
@ -862,7 +879,8 @@ _GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - "
|
||||
of wide characters not in REJECT. */
|
||||
#if @GNULIB_WCSCSPN@
|
||||
# if !@HAVE_WCSCSPN@
|
||||
_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
|
||||
_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
|
||||
_GL_CXXALIASWARN (wcscspn);
|
||||
@ -879,7 +897,8 @@ _GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - "
|
||||
of wide characters in ACCEPT. */
|
||||
#if @GNULIB_WCSSPN@
|
||||
# if !@HAVE_WCSSPN@
|
||||
_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
|
||||
_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
|
||||
_GL_CXXALIASWARN (wcsspn);
|
||||
@ -896,7 +915,8 @@ _GL_WARN_ON_USE (wcsspn, "wcsspn is unportable - "
|
||||
#if @GNULIB_WCSPBRK@
|
||||
# if !@HAVE_WCSPBRK@
|
||||
_GL_FUNCDECL_SYS (wcspbrk, wchar_t *,
|
||||
(const wchar_t *wcs, const wchar_t *accept));
|
||||
(const wchar_t *wcs, const wchar_t *accept)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
/* On some systems, this function is defined as an overloaded function:
|
||||
extern "C++" {
|
||||
@ -928,7 +948,8 @@ _GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - "
|
||||
#if @GNULIB_WCSSTR@
|
||||
# if !@HAVE_WCSSTR@
|
||||
_GL_FUNCDECL_SYS (wcsstr, wchar_t *,
|
||||
(const wchar_t *haystack, const wchar_t *needle));
|
||||
(const wchar_t *haystack, const wchar_t *needle)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
/* On some systems, this function is defined as an overloaded function:
|
||||
extern "C++" {
|
||||
@ -982,11 +1003,13 @@ _GL_WARN_ON_USE (wcstok, "wcstok is unportable - "
|
||||
# undef wcswidth
|
||||
# define wcswidth rpl_wcswidth
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n));
|
||||
_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
_GL_CXXALIAS_RPL (wcswidth, int, (const wchar_t *s, size_t n));
|
||||
# else
|
||||
# if !@HAVE_WCSWIDTH@
|
||||
_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n));
|
||||
_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n)
|
||||
_GL_ATTRIBUTE_PURE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcswidth, int, (const wchar_t *s, size_t n));
|
||||
# endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11.3 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.4 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -43,6 +43,23 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
VPATH = @srcdir@
|
||||
am__make_dryrun = \
|
||||
{ \
|
||||
am__dry=no; \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
||||
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
||||
*) \
|
||||
for am__flg in $$MAKEFLAGS; do \
|
||||
case $$am__flg in \
|
||||
*=*|--*) ;; \
|
||||
*n*) am__dry=yes; break;; \
|
||||
esac; \
|
||||
done;; \
|
||||
esac; \
|
||||
test $$am__dry = yes; \
|
||||
}
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
@ -109,6 +126,11 @@ CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
pkglibexecdir = @pkglibexecdir@
|
||||
ACLOCAL = @ACLOCAL@
|
||||
@ -202,7 +224,6 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
|
||||
GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
|
||||
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
|
||||
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
|
||||
GNULIB_GETS = @GNULIB_GETS@
|
||||
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
|
||||
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
|
||||
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
|
||||
@ -217,6 +238,7 @@ GNULIB_LCHMOD = @GNULIB_LCHMOD@
|
||||
GNULIB_LCHOWN = @GNULIB_LCHOWN@
|
||||
GNULIB_LINK = @GNULIB_LINK@
|
||||
GNULIB_LINKAT = @GNULIB_LINKAT@
|
||||
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
|
||||
GNULIB_LSEEK = @GNULIB_LSEEK@
|
||||
GNULIB_LSTAT = @GNULIB_LSTAT@
|
||||
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
|
||||
@ -688,6 +710,7 @@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
|
||||
REPLACE_LCHOWN = @REPLACE_LCHOWN@
|
||||
REPLACE_LINK = @REPLACE_LINK@
|
||||
REPLACE_LINKAT = @REPLACE_LINKAT@
|
||||
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
|
||||
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
|
||||
REPLACE_LSEEK = @REPLACE_LSEEK@
|
||||
REPLACE_LSTAT = @REPLACE_LSTAT@
|
||||
@ -746,6 +769,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
|
||||
REPLACE_STRSTR = @REPLACE_STRSTR@
|
||||
REPLACE_STRTOD = @REPLACE_STRTOD@
|
||||
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
|
||||
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
|
||||
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
|
||||
REPLACE_SYMLINK = @REPLACE_SYMLINK@
|
||||
REPLACE_TIMEGM = @REPLACE_TIMEGM@
|
||||
|
@ -1,4 +1,4 @@
|
||||
# locale_h.m4 serial 14
|
||||
# locale_h.m4 serial 18
|
||||
dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
@ -10,18 +10,29 @@ AC_DEFUN([gl_LOCALE_H],
|
||||
dnl once only, before all statements that occur in other macros.
|
||||
AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
|
||||
|
||||
dnl Persuade glibc <locale.h> to define locale_t.
|
||||
dnl Persuade glibc <locale.h> to define locale_t and the int_p_*, int_n_*
|
||||
dnl members of 'struct lconv'.
|
||||
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
|
||||
|
||||
dnl If <stddef.h> is replaced, then <locale.h> must also be replaced.
|
||||
AC_REQUIRE([gl_STDDEF_H])
|
||||
|
||||
dnl Solaris 11 2011-11 defines the int_p_*, int_n_* members of 'struct lconv'
|
||||
dnl only if _LCONV_C99 is defined.
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
case "$host_os" in
|
||||
solaris*)
|
||||
AC_DEFINE([_LCONV_C99], [1], [Define to 1 on Solaris.])
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001],
|
||||
[gl_cv_header_locale_h_posix2001],
|
||||
[AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <locale.h>
|
||||
int x = LC_MESSAGES;]],
|
||||
int x = LC_MESSAGES;
|
||||
int y = sizeof (((struct lconv *) 0)->decimal_point);]],
|
||||
[[]])],
|
||||
[gl_cv_header_locale_h_posix2001=yes],
|
||||
[gl_cv_header_locale_h_posix2001=no])])
|
||||
@ -54,6 +65,26 @@ AC_DEFUN([gl_LOCALE_H],
|
||||
fi
|
||||
AC_SUBST([HAVE_XLOCALE_H])
|
||||
|
||||
dnl Check whether 'struct lconv' is complete.
|
||||
dnl Bionic libc's 'struct lconv' is just a dummy.
|
||||
dnl On OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x,
|
||||
dnl mingw, MSVC 9, it lacks the int_p_* and int_n_* members.
|
||||
AC_CACHE_CHECK([whether struct lconv is properly defined],
|
||||
[gl_cv_sys_struct_lconv_ok],
|
||||
[AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <locale.h>
|
||||
struct lconv l;
|
||||
int x = sizeof (l.decimal_point);
|
||||
int y = sizeof (l.int_p_cs_precedes);]],
|
||||
[[]])],
|
||||
[gl_cv_sys_struct_lconv_ok=yes],
|
||||
[gl_cv_sys_struct_lconv_ok=no])
|
||||
])
|
||||
if test $gl_cv_sys_struct_lconv_ok = no; then
|
||||
REPLACE_STRUCT_LCONV=1
|
||||
fi
|
||||
|
||||
dnl <locale.h> is always overridden, because of GNULIB_POSIXCHECK.
|
||||
gl_NEXT_HEADERS([locale.h])
|
||||
|
||||
@ -79,10 +110,13 @@ AC_DEFUN([gl_LOCALE_MODULE_INDICATOR],
|
||||
|
||||
AC_DEFUN([gl_LOCALE_H_DEFAULTS],
|
||||
[
|
||||
GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV])
|
||||
GNULIB_SETLOCALE=0; AC_SUBST([GNULIB_SETLOCALE])
|
||||
GNULIB_DUPLOCALE=0; AC_SUBST([GNULIB_DUPLOCALE])
|
||||
dnl Assume proper GNU behavior unless another module says otherwise.
|
||||
HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE])
|
||||
REPLACE_SETLOCALE=0; AC_SUBST([REPLACE_SETLOCALE])
|
||||
REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE])
|
||||
HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE])
|
||||
REPLACE_LOCALECONV=0; AC_SUBST([REPLACE_LOCALECONV])
|
||||
REPLACE_SETLOCALE=0; AC_SUBST([REPLACE_SETLOCALE])
|
||||
REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE])
|
||||
REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV])
|
||||
])
|
||||
|
@ -1,4 +1,4 @@
|
||||
# stdio_h.m4 serial 40
|
||||
# stdio_h.m4 serial 41
|
||||
dnl Copyright (C) 2007-2012 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
@ -18,7 +18,6 @@ AC_DEFUN([gl_STDIO_H],
|
||||
GNULIB_GETC=1
|
||||
GNULIB_GETCHAR=1
|
||||
GNULIB_FGETS=1
|
||||
GNULIB_GETS=1
|
||||
GNULIB_FREAD=1
|
||||
dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
|
||||
dnl "expected source file, required through AC_LIBSOURCES, not found". It is
|
||||
@ -72,10 +71,10 @@ AC_DEFUN([gl_STDIO_H],
|
||||
|
||||
dnl Check for declarations of anything we want to poison if the
|
||||
dnl corresponding gnulib module is not in use, and which is not
|
||||
dnl guaranteed by C89.
|
||||
dnl guaranteed by both C89 and C11.
|
||||
gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
|
||||
]], [dprintf fpurge fseeko ftello getdelim getline pclose popen renameat
|
||||
snprintf tmpfile vdprintf vsnprintf])
|
||||
]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen
|
||||
renameat snprintf tmpfile vdprintf vsnprintf])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
|
||||
@ -113,7 +112,6 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
|
||||
GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR])
|
||||
GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM])
|
||||
GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE])
|
||||
GNULIB_GETS=0; AC_SUBST([GNULIB_GETS])
|
||||
GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF])
|
||||
GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
|
||||
GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE])
|
||||
|
@ -1,4 +1,4 @@
|
||||
# warn-on-use.m4 serial 4
|
||||
# warn-on-use.m4 serial 5
|
||||
dnl Copyright (C) 2010-2012 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
@ -18,8 +18,8 @@ dnl with or without modifications, as long as this notice is preserved.
|
||||
# some systems declare functions in the wrong header, then INCLUDES
|
||||
# should do likewise.
|
||||
#
|
||||
# If you assume C89, then it is generally safe to assume declarations
|
||||
# for functions declared in that standard (such as gets) without
|
||||
# It is generally safe to assume declarations for functions declared
|
||||
# in the intersection of C89 and C11 (such as printf) without
|
||||
# needing gl_WARN_ON_USE_PREPARE.
|
||||
AC_DEFUN([gl_WARN_ON_USE_PREPARE],
|
||||
[
|
||||
|
@ -31,4 +31,9 @@ en_AU
|
||||
en_CA
|
||||
en_GB
|
||||
en_US
|
||||
|
||||
de
|
||||
fi
|
||||
fr
|
||||
hr
|
||||
ru
|
||||
|
@ -34,7 +34,13 @@ subdir = po
|
||||
top_builddir = ..
|
||||
|
||||
# These options get passed to xgettext
|
||||
XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --width=132
|
||||
XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --width=132 \
|
||||
--flag='err_exit:1:c-format' --flag='errno_exit:1:c-format' \
|
||||
--flag='txdlgbox:11:c-format' --flag='txdlgbox:12:c-format' \
|
||||
--flag='mkchstr:10:c-format' --flag='vmkchstr:10:c-format' \
|
||||
--flag='left:8:c-format' \
|
||||
--flag='center:8:c-format' \
|
||||
--flag='right:8:c-format'
|
||||
|
||||
# These options get passed to msgmerge
|
||||
MSGMERGE_OPTIONS = --width=132
|
||||
|
BIN
po/en@quot.gmo
BIN
po/en@quot.gmo
Binary file not shown.
390
po/en@quot.po
390
po/en@quot.po
File diff suppressed because it is too large
Load Diff
BIN
po/en_AU.gmo
BIN
po/en_AU.gmo
Binary file not shown.
390
po/en_AU.po
390
po/en_AU.po
File diff suppressed because it is too large
Load Diff
BIN
po/en_CA.gmo
BIN
po/en_CA.gmo
Binary file not shown.
390
po/en_CA.po
390
po/en_CA.po
File diff suppressed because it is too large
Load Diff
BIN
po/en_GB.gmo
BIN
po/en_GB.gmo
Binary file not shown.
390
po/en_GB.po
390
po/en_GB.po
File diff suppressed because it is too large
Load Diff
BIN
po/en_US.gmo
BIN
po/en_US.gmo
Binary file not shown.
390
po/en_US.po
390
po/en_US.po
File diff suppressed because it is too large
Load Diff
382
po/trader.pot
382
po/trader.pot
@ -6,9 +6,9 @@
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: trader 7.3\n"
|
||||
"Project-Id-Version: trader 7.4-pre2\n"
|
||||
"Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n"
|
||||
"POT-Creation-Date: 2012-03-16 13:23+1100\n"
|
||||
"POT-Creation-Date: 2012-04-14 14:31+1000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -129,37 +129,38 @@ msgstr ""
|
||||
#. TRANSLATORS: The eight company names do NOT have to be literal
|
||||
#. translations of the English names. In fact, if possible, the
|
||||
#. names should start with successive letters of your alphabet (in
|
||||
#. English, for example, "A" to "H"). No company name should be more
|
||||
#. than 24 characters (column positions, to be precise) long.
|
||||
#: src/globals.c:46
|
||||
#. English, for example, "A" to "H"), and, ideally, be related to
|
||||
#. constellations or stars in our galaxy. No company name should be
|
||||
#. more than 24 characters (column positions, to be precise) long.
|
||||
#: src/globals.c:47
|
||||
msgid "Altair Starways"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:47
|
||||
#: src/globals.c:48
|
||||
msgid "Betelgeuse, Ltd"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:48
|
||||
#: src/globals.c:49
|
||||
msgid "Capella Freight Co"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:49
|
||||
#: src/globals.c:50
|
||||
msgid "Denebola Shippers"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:50
|
||||
#: src/globals.c:51
|
||||
msgid "Eridani Expediters"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:51
|
||||
#: src/globals.c:52
|
||||
msgid "Fornax Express"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:52
|
||||
#: src/globals.c:53
|
||||
msgid "Gemeni Inc"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:53
|
||||
#: src/globals.c:54
|
||||
msgid "Hercules and Co"
|
||||
msgstr ""
|
||||
|
||||
@ -171,7 +172,7 @@ msgstr ""
|
||||
#. possible, these should be successive letters in your alphabet (in
|
||||
#. English, "A" to "H"). Do NOT use digits or control characters.
|
||||
#. Do not change or translate anything after the vertical line.
|
||||
#: src/globals.c:67
|
||||
#: src/globals.c:68
|
||||
msgid "ABCDEFGH|input|Companies"
|
||||
msgstr ""
|
||||
|
||||
@ -182,7 +183,7 @@ msgstr ""
|
||||
#. should be successive letters in your alphabet. Do NOT use digits
|
||||
#. or control characters. Do not change or translate anything after
|
||||
#. the vertical line.
|
||||
#: src/globals.c:79
|
||||
#: src/globals.c:80
|
||||
msgid "ABCDEFGHIJKLMNOPQRST|input|GameMoves"
|
||||
msgstr ""
|
||||
|
||||
@ -193,7 +194,7 @@ msgstr ""
|
||||
#. the remaining for the eight companies. Do not change or translate
|
||||
#. anything after the vertical line. Double-width characters ARE
|
||||
#. handled correctly.
|
||||
#: src/globals.c:91
|
||||
#: src/globals.c:92
|
||||
msgid ".+*ABCDEFGH|output|MapVals"
|
||||
msgstr ""
|
||||
|
||||
@ -203,7 +204,7 @@ msgstr ""
|
||||
#. to the first character in the "input|GameMoves" string, and so on.
|
||||
#. Do not change or translate anything after the vertical line.
|
||||
#. Double-width characters ARE handled correctly.
|
||||
#: src/globals.c:102
|
||||
#: src/globals.c:103
|
||||
msgid "abcdefghijklmnopqrst|output|GameMoves"
|
||||
msgstr ""
|
||||
|
||||
@ -212,35 +213,35 @@ msgstr ""
|
||||
#. on the gender of the player, it may be simpler to list cardinal
|
||||
#. numbers instead (eg, "No. 1"). Up to five characters are allowed
|
||||
#. (see ORDINAL_COLS in src/intf.h).
|
||||
#: src/globals.c:113
|
||||
#: src/globals.c:114
|
||||
msgid "1st"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:114
|
||||
#: src/globals.c:115
|
||||
msgid "2nd"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:115
|
||||
#: src/globals.c:116
|
||||
msgid "3rd"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:116
|
||||
#: src/globals.c:117
|
||||
msgid "4th"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:117
|
||||
#: src/globals.c:118
|
||||
msgid "5th"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:118
|
||||
#: src/globals.c:119
|
||||
msgid "6th"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:119
|
||||
#: src/globals.c:120
|
||||
msgid "7th"
|
||||
msgstr ""
|
||||
|
||||
#: src/globals.c:120
|
||||
#: src/globals.c:121
|
||||
msgid "8th"
|
||||
msgstr ""
|
||||
|
||||
@ -250,6 +251,7 @@ msgid "Loading game %d... "
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:226
|
||||
#, c-format
|
||||
msgid " First Player "
|
||||
msgstr ""
|
||||
|
||||
@ -276,19 +278,23 @@ msgctxt "input|ContinueGame"
|
||||
msgid "Cc"
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:341 src/move.c:386
|
||||
#: src/game.c:341 src/move.c:399
|
||||
#, c-format
|
||||
msgid "Enter game number [^{1^}-^{9^}] or ^{<CTRL><C>^} to cancel: "
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:406
|
||||
#, c-format
|
||||
msgid "Please enter your name: "
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:425
|
||||
#, c-format
|
||||
msgid "Do you need any instructions? [^{Y^}/^{N^}] "
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:443
|
||||
#, c-format
|
||||
msgid " Enter Player Names "
|
||||
msgstr ""
|
||||
|
||||
@ -298,10 +304,12 @@ msgid "Player %d: "
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:529
|
||||
#, c-format
|
||||
msgid "Does any player need instructions? [^{Y^}/^{N^}] "
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:563
|
||||
#, c-format
|
||||
msgid " Game Over "
|
||||
msgstr ""
|
||||
|
||||
@ -313,6 +321,7 @@ msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/game.c:575
|
||||
#, c-format
|
||||
msgid " Total Value "
|
||||
msgstr ""
|
||||
|
||||
@ -336,12 +345,14 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:597
|
||||
#, c-format
|
||||
msgid " Game Winner "
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: "Player" is used as a column title in a
|
||||
#. table containing all player names.
|
||||
#: src/game.c:606 src/move.c:855
|
||||
#: src/game.c:606 src/move.c:868
|
||||
#, c-format
|
||||
msgctxt "subtitle"
|
||||
msgid "Player"
|
||||
msgstr ""
|
||||
@ -366,26 +377,31 @@ msgid " Turn: ^{%d^} "
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:649
|
||||
#, c-format
|
||||
msgid " ^[*** Last Turn ***^] "
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:693
|
||||
#, c-format
|
||||
msgid " Stock Portfolio "
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: The current player is bankrupt (has no
|
||||
#. shares or cash, ie, whose total value is zero)
|
||||
#: src/game.c:702
|
||||
#, c-format
|
||||
msgid "^[* * * B A N K R U P T * * *^]"
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:717 src/exch.c:112
|
||||
#, c-format
|
||||
msgid "No companies on the map"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: "Company" is a two-line column label in
|
||||
#. a table containing a list of companies.
|
||||
#: src/game.c:725 src/exch.c:120
|
||||
#, c-format
|
||||
msgctxt "subtitle"
|
||||
msgid ""
|
||||
"\n"
|
||||
@ -411,6 +427,7 @@ msgstr ""
|
||||
#. maximum column width is 10 characters (see
|
||||
#. STOCK_OWNED_COLS in src/intf.h).
|
||||
#: src/game.c:739
|
||||
#, c-format
|
||||
msgctxt "subtitle"
|
||||
msgid ""
|
||||
"Holdings\n"
|
||||
@ -453,110 +470,138 @@ msgstr ""
|
||||
#. Note that some of these labels are used for both the
|
||||
#. Player Status window and the Trading Bank window.
|
||||
#: src/game.c:796
|
||||
#, c-format
|
||||
msgctxt "label"
|
||||
msgid "Total value: "
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:800 src/exch.c:322
|
||||
#: src/game.c:800 src/exch.c:324
|
||||
#, c-format
|
||||
msgctxt "label"
|
||||
msgid "Current cash: "
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:807 src/exch.c:330
|
||||
#: src/game.c:807 src/exch.c:332
|
||||
#, c-format
|
||||
msgctxt "label"
|
||||
msgid "Current debt: "
|
||||
msgstr ""
|
||||
|
||||
#: src/game.c:813 src/exch.c:335
|
||||
#: src/game.c:813 src/exch.c:337
|
||||
#, c-format
|
||||
msgctxt "label"
|
||||
msgid "Interest rate: "
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:239 src/exch.c:182
|
||||
#. TRANSLATORS: Each label may be up to 37 characters wide
|
||||
#. (for <1> and <2>) or 38 characters wide (for <3> and
|
||||
#. <CTRL><C>). The sequences "^{" and "^}" change the
|
||||
#. character rendition (attributes) and take up no space.
|
||||
#: src/move.c:243 src/exch.c:182
|
||||
#, c-format
|
||||
msgid "^{<1>^} Display stock portfolio"
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:241
|
||||
#: src/move.c:245
|
||||
#, c-format
|
||||
msgid "^{<2>^} Declare bankruptcy"
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:243
|
||||
#: src/move.c:247
|
||||
#, c-format
|
||||
msgid "^{<3>^} Save and end the game"
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:245
|
||||
msgid "^{<CTRL><C>^} Quit the game"
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:249
|
||||
#, c-format
|
||||
msgid "^{<CTRL><C>^} Quit the game"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: The maximum column width is 38 characters,
|
||||
#. including the trailing space. The sequences "^{", "^}",
|
||||
#. "^[" and "^]" do not take up any room. "%lc" takes up
|
||||
#. either one or two columns, depending on the appropriate
|
||||
#. "output|GameMoves" string in the current PO file.
|
||||
#: src/move.c:258
|
||||
#, c-format
|
||||
msgid "Select move [^[%lc^]-^[%lc^]/^{1^}-^{3^}/^{<CTRL><C>^}]: "
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: "Move" refers to the choice of
|
||||
#. moves made by the current player (out of a
|
||||
#. selection of 20 moves).
|
||||
#: src/move.c:282
|
||||
#. TRANSLATORS: A game usually consists of
|
||||
#. DEFAULT_MAX_TURN (50) turns. On each
|
||||
#. turn, the computer randomly selects
|
||||
#. NUMBER_MOVES (20) moves (positions on the
|
||||
#. map); each player selects just one move
|
||||
#. per turn. "Move" refers to the player's
|
||||
#. choice.
|
||||
#: src/move.c:295
|
||||
#, c-format
|
||||
msgid "Move ^{%lc^}"
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:303
|
||||
#: src/move.c:316
|
||||
#, c-format
|
||||
msgid "^{<2>^} (Declare bankruptcy)"
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:312
|
||||
#: src/move.c:325
|
||||
#, c-format
|
||||
msgid "^{<3>^} (Save and end the game)"
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:333
|
||||
#: src/move.c:346
|
||||
#, c-format
|
||||
msgid "^{<CTRL><C>^} (Quit the game)"
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:348
|
||||
#: src/move.c:361
|
||||
#, c-format
|
||||
msgid "Are you sure? [^{Y^}/^{N^}] "
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:365 src/move.c:443
|
||||
#: src/move.c:378 src/move.c:456
|
||||
#, c-format
|
||||
msgid "Saving game %d... "
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:673 src/move.c:681 src/move.c:1026 src/move.c:1062
|
||||
#: src/move.c:686 src/move.c:694 src/move.c:1052 src/move.c:1089
|
||||
#, c-format
|
||||
msgid " Bankruptcy Court "
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: %ls is the player's name.
|
||||
#: src/move.c:675
|
||||
#: src/move.c:688
|
||||
#, c-format
|
||||
msgid "%ls has been declared bankrupt by the Interstellar Trading Bank."
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: %ls is the player's name.
|
||||
#: src/move.c:683
|
||||
#: src/move.c:696
|
||||
#, c-format
|
||||
msgid "%ls has declared bankruptcy."
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:751
|
||||
#: src/move.c:764
|
||||
#, c-format
|
||||
msgid " New Company "
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:752
|
||||
#: src/move.c:765
|
||||
#, c-format
|
||||
msgid ""
|
||||
"A new company has been formed!\n"
|
||||
"Its name is ^{%ls^}."
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:811
|
||||
#: src/move.c:824
|
||||
#, c-format
|
||||
msgid ""
|
||||
"^{%ls^} has just merged into ^{%ls^}.\n"
|
||||
"Please note the following transactions:\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:817
|
||||
#: src/move.c:830
|
||||
#, c-format
|
||||
msgid " Company Merger "
|
||||
msgstr ""
|
||||
|
||||
@ -567,14 +612,16 @@ msgstr ""
|
||||
#. the same length and must contain a trailing space for the
|
||||
#. display routines to work correctly. The maximum length of
|
||||
#. each label is 36 characters.
|
||||
#: src/move.c:837
|
||||
#: src/move.c:850
|
||||
#, c-format
|
||||
msgctxt "label"
|
||||
msgid "Old stock: "
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: "New stock" refers to the company that has
|
||||
#. absorbed the other due to a merger.
|
||||
#: src/move.c:848
|
||||
#: src/move.c:861
|
||||
#, c-format
|
||||
msgctxt "label"
|
||||
msgid "New Stock: "
|
||||
msgstr ""
|
||||
@ -584,7 +631,7 @@ msgstr ""
|
||||
#. symbol in the current locale. The maximum column width is
|
||||
#. 12 characters INCLUDING the currency symbol (see
|
||||
#. MERGE_BONUS_COLS in src/intf.h).
|
||||
#: src/move.c:862
|
||||
#: src/move.c:875
|
||||
#, c-format
|
||||
msgctxt "subtitle"
|
||||
msgid "Bonus (%ls)"
|
||||
@ -593,7 +640,8 @@ msgstr ""
|
||||
#. TRANSLATORS: "Total" refers to the total number of shares in
|
||||
#. the new company after a merger. The maximum column width is
|
||||
#. 8 characters (see MERGE_TOTAL_STOCK_COLS in src/intf.h).
|
||||
#: src/move.c:867
|
||||
#: src/move.c:880
|
||||
#, c-format
|
||||
msgctxt "subtitle"
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
@ -602,7 +650,8 @@ msgstr ""
|
||||
#. player receives in the surviving company after a merger.
|
||||
#. The maximum column width is 8 characters (see
|
||||
#. MERGE_NEW_STOCK_COLS in src/intf.h).
|
||||
#: src/move.c:874
|
||||
#: src/move.c:887
|
||||
#, c-format
|
||||
msgctxt "subtitle"
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
@ -610,13 +659,14 @@ msgstr ""
|
||||
#. TRANSLATORS: "Old" refers to how many shares each player had
|
||||
#. in the company ceasing existence. The maximum column width
|
||||
#. is 8 characters (see MERGE_OLD_STOCK_COLS in src/intf.h).
|
||||
#: src/move.c:880
|
||||
#: src/move.c:893
|
||||
#, c-format
|
||||
msgctxt "subtitle"
|
||||
msgid "Old"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: %ls represents the company name.
|
||||
#: src/move.c:1028
|
||||
#: src/move.c:1054
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%ls has been declared bankrupt by the Interstellar Trading Bank.\n"
|
||||
@ -625,7 +675,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: %ls represents the company name.
|
||||
#: src/move.c:1051
|
||||
#: src/move.c:1078
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%ls has been declared bankrupt by the Interstellar Trading Bank.\n"
|
||||
@ -641,7 +691,8 @@ msgstr ""
|
||||
#. least one trailing space for the display
|
||||
#. routines to work correctly. The maximum
|
||||
#. length is 28 characters.
|
||||
#: src/move.c:1079
|
||||
#: src/move.c:1106
|
||||
#, c-format
|
||||
msgctxt "label"
|
||||
msgid "Amount paid per share: "
|
||||
msgstr ""
|
||||
@ -650,16 +701,25 @@ msgstr ""
|
||||
#. share price of a company before it was forced
|
||||
#. into bankruptcy by the Bank. This label must be
|
||||
#. the same width as "Amount paid per share".
|
||||
#: src/move.c:1087
|
||||
#: src/move.c:1114
|
||||
#, c-format
|
||||
msgctxt "label"
|
||||
msgid "Old share value: "
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:1180 src/exch.c:319
|
||||
#: src/move.c:1197 src/move.c:1232 src/exch.c:321
|
||||
#, c-format
|
||||
msgid " Interstellar Trading Bank "
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:1182
|
||||
#: src/move.c:1199
|
||||
#, c-format
|
||||
msgid ""
|
||||
"You were forced to borrow %N\n"
|
||||
"to cover losses from company shares."
|
||||
msgstr ""
|
||||
|
||||
#: src/move.c:1234
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Your debt has amounted to %N!\n"
|
||||
@ -667,6 +727,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:98
|
||||
#, c-format
|
||||
msgid " Interstellar Stock Exchange "
|
||||
msgstr ""
|
||||
|
||||
@ -676,6 +737,7 @@ msgstr ""
|
||||
#. maximum column width is 10 characters (see
|
||||
#. STOCK_LEFT_COLS in src/intf.h).
|
||||
#: src/exch.c:127
|
||||
#, c-format
|
||||
msgctxt "subtitle"
|
||||
msgid ""
|
||||
"Shares\n"
|
||||
@ -688,25 +750,32 @@ msgstr ""
|
||||
#. given company. The maximum column width is 10
|
||||
#. characters (see STOCK_ISSUED_COLS in src/intf.h).
|
||||
#: src/exch.c:134
|
||||
#, c-format
|
||||
msgctxt "subtitle"
|
||||
msgid ""
|
||||
"Shares\n"
|
||||
"issued"
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:184
|
||||
#. TRANSLATORS: Each label may be up to 37 characters wide
|
||||
#. (for <1> and <2>) or 38 characters wide (for <3> and <4>).
|
||||
#: src/exch.c:186
|
||||
#, c-format
|
||||
msgid "^{<2>^} Display galaxy map"
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:186
|
||||
#: src/exch.c:188
|
||||
#, c-format
|
||||
msgid "^{<3>^} Visit the Trading Bank"
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:188
|
||||
#: src/exch.c:190
|
||||
#, c-format
|
||||
msgid "^{<4>^} Exit the Stock Exchange"
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:191
|
||||
#: src/exch.c:193
|
||||
#, c-format
|
||||
msgid "Enter selection [^[Company letter^]/^{1^}-^{4^}]: "
|
||||
msgstr ""
|
||||
|
||||
@ -719,7 +788,8 @@ msgstr ""
|
||||
#.
|
||||
#. Note that some of these labels are used for both the Player
|
||||
#. Status window and the Trading Bank window.
|
||||
#: src/exch.c:349
|
||||
#: src/exch.c:351
|
||||
#, c-format
|
||||
msgctxt "label"
|
||||
msgid "Credit limit: "
|
||||
msgstr ""
|
||||
@ -728,56 +798,68 @@ msgstr ""
|
||||
#. from the Bank" menu options must all be the same length
|
||||
#. (ie, padded with trailing spaces as required). The maximum
|
||||
#. length is 72 characters.
|
||||
#: src/exch.c:364
|
||||
#: src/exch.c:366
|
||||
#, c-format
|
||||
msgid "^{<1>^} Borrow money "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:366
|
||||
#: src/exch.c:368
|
||||
#, c-format
|
||||
msgid "^{<2>^} Repay debt "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:368
|
||||
#: src/exch.c:370
|
||||
#, c-format
|
||||
msgid "^{<3>^} Exit from the Bank"
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:371
|
||||
#: src/exch.c:373
|
||||
#, c-format
|
||||
msgid "Enter selection [^{1^}-^{3^}]: "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:424
|
||||
#: src/exch.c:426
|
||||
#, c-format
|
||||
msgid " Insufficient Credit Limit "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:425
|
||||
#: src/exch.c:427
|
||||
#, c-format
|
||||
msgid "The Bank will not lend you any more money."
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:445
|
||||
#: src/exch.c:447
|
||||
#, c-format
|
||||
msgid "How much do you wish to borrow? "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:477
|
||||
#: src/exch.c:479
|
||||
#, c-format
|
||||
msgid " No Debt "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:478
|
||||
#: src/exch.c:480
|
||||
#, c-format
|
||||
msgid "You have no debt to repay."
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:482
|
||||
#: src/exch.c:484
|
||||
#, c-format
|
||||
msgid " No Cash "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:483
|
||||
#: src/exch.c:485
|
||||
#, c-format
|
||||
msgid "You have no cash with which to repay the debt!"
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:503
|
||||
#: src/exch.c:505
|
||||
#, c-format
|
||||
msgid "How much do you wish to repay? "
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: %ls represents the company name.
|
||||
#: src/exch.c:579
|
||||
#: src/exch.c:581
|
||||
#, c-format
|
||||
msgid " Stock Transaction in %ls "
|
||||
msgstr ""
|
||||
@ -790,27 +872,31 @@ msgstr ""
|
||||
#. and must have at least one trailing space for the output
|
||||
#. routines to work correctly. The maximum length of each
|
||||
#. label is 22 characters.
|
||||
#: src/exch.c:590
|
||||
#: src/exch.c:592
|
||||
#, c-format
|
||||
msgctxt "label|Stock A"
|
||||
msgid "Shares issued: "
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: "Shares left" is the number of shares that are
|
||||
#. left to be purchased in the current company.
|
||||
#: src/exch.c:598
|
||||
#: src/exch.c:600
|
||||
#, c-format
|
||||
msgctxt "label|Stock A"
|
||||
msgid "Shares left: "
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: "Price per share" is the cost of each share in
|
||||
#. the current company.
|
||||
#: src/exch.c:605
|
||||
#: src/exch.c:607
|
||||
#, c-format
|
||||
msgctxt "label|Stock A"
|
||||
msgid "Price per share: "
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: "Return" is the share return as a percentage.
|
||||
#: src/exch.c:611
|
||||
#: src/exch.c:613
|
||||
#, c-format
|
||||
msgctxt "label|Stock A"
|
||||
msgid "Return: "
|
||||
msgstr ""
|
||||
@ -823,109 +909,129 @@ msgstr ""
|
||||
#. least one trailing space for the display routines to work
|
||||
#. correctly. The maximum length of each label is 18
|
||||
#. characters.
|
||||
#: src/exch.c:624
|
||||
#: src/exch.c:626
|
||||
#, c-format
|
||||
msgctxt "label|Stock B"
|
||||
msgid "Current holdings: "
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: "Percentage owned" is the current player's
|
||||
#. percentage ownership in this particular company.
|
||||
#: src/exch.c:631
|
||||
#: src/exch.c:633
|
||||
#, c-format
|
||||
msgctxt "label|Stock B"
|
||||
msgid "Percentage owned: "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:636
|
||||
#: src/exch.c:638
|
||||
#, c-format
|
||||
msgctxt "label|Stock B"
|
||||
msgid "Current cash: "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:647
|
||||
#. TRANSLATORS: Each label may be up to 35 characters wide
|
||||
#. (for <1> and <2>) or 36 characters wide (for <3> and <4>).
|
||||
#: src/exch.c:651
|
||||
#, c-format
|
||||
msgid "^{<1>^} Buy stock from company"
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:649
|
||||
#: src/exch.c:653
|
||||
#, c-format
|
||||
msgid "^{<2>^} Sell stock back to company"
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:651
|
||||
#: src/exch.c:655
|
||||
#, c-format
|
||||
msgid "^{<3>^} Bid company to issue more shares"
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:653
|
||||
#: src/exch.c:657
|
||||
#, c-format
|
||||
msgid "^{<4>^} Exit to the Stock Exchange"
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:656
|
||||
#: src/exch.c:660
|
||||
#, c-format
|
||||
msgid "Enter selection [^{1^}-^{4^}]: "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:712
|
||||
#: src/exch.c:716
|
||||
#, c-format
|
||||
msgid " No Shares Available "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:713
|
||||
#: src/exch.c:717
|
||||
#, c-format
|
||||
msgid "No more shares are available for purchase."
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:717
|
||||
#: src/exch.c:721
|
||||
#, c-format
|
||||
msgid " Insufficient Cash "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:718
|
||||
#: src/exch.c:722
|
||||
#, c-format
|
||||
msgid ""
|
||||
"You do not have enough cash\n"
|
||||
"to purchase additional shares."
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:729
|
||||
#: src/exch.c:733
|
||||
#, c-format
|
||||
msgid "You can purchase ^{one^} share."
|
||||
msgid_plural "You can purchase up to ^{%'ld^} shares."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/exch.c:735
|
||||
#: src/exch.c:739
|
||||
#, c-format
|
||||
msgid "How many shares do you wish to purchase? "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:756
|
||||
#: src/exch.c:760
|
||||
#, c-format
|
||||
msgid " No Shares "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:757
|
||||
#: src/exch.c:761
|
||||
#, c-format
|
||||
msgid "You do not have any shares to sell."
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:764
|
||||
#: src/exch.c:768
|
||||
#, c-format
|
||||
msgid "You can sell ^{one^} share."
|
||||
msgid_plural "You can sell up to ^{%'ld^} shares."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/exch.c:770
|
||||
#: src/exch.c:774
|
||||
#, c-format
|
||||
msgid "How many shares do you wish to sell? "
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:798
|
||||
#: src/exch.c:802
|
||||
#, c-format
|
||||
msgid " No Shares Issued "
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: %ls represents the company name.
|
||||
#: src/exch.c:800
|
||||
#: src/exch.c:804
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%ls has refused\n"
|
||||
"to issue more shares."
|
||||
msgstr ""
|
||||
|
||||
#: src/exch.c:805
|
||||
#: src/exch.c:809
|
||||
#, c-format
|
||||
msgid " Shares Issued "
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: %ls represents the company name.
|
||||
#: src/exch.c:807
|
||||
#: src/exch.c:811
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%ls has issued\n"
|
||||
@ -967,6 +1073,7 @@ msgid "%s: could not convert string"
|
||||
msgstr ""
|
||||
|
||||
#: src/fileio.c:255
|
||||
#, c-format
|
||||
msgid " Game Not Found "
|
||||
msgstr ""
|
||||
|
||||
@ -976,6 +1083,7 @@ msgid "Game %d has not been saved to disk."
|
||||
msgstr ""
|
||||
|
||||
#: src/fileio.c:263
|
||||
#, c-format
|
||||
msgid " Game Not Loaded "
|
||||
msgstr ""
|
||||
|
||||
@ -1023,6 +1131,7 @@ msgid "%s: illegal field on line %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/fileio.c:466 src/fileio.c:487
|
||||
#, c-format
|
||||
msgid " Game Not Saved "
|
||||
msgstr ""
|
||||
|
||||
@ -1102,7 +1211,17 @@ msgstr ""
|
||||
#. that would translate to just one character (or maybe two) in the
|
||||
#. output text).
|
||||
#.
|
||||
#: src/help.c:103
|
||||
#. Formatting the help text is probably the most complicated and tedious
|
||||
#. part of translating Star Traders. The author and maintainer of this
|
||||
#. game is more than happy to help you with this task: if you are able
|
||||
#. to provide a translation, even if it is not formatted correctly, the
|
||||
#. maintainer will perform the necessary adjustments for word-wrapping
|
||||
#. and justification. In addition, remember that you have up to 10
|
||||
#. pages in which to display your help text: the translation does not
|
||||
#. need to correspond exactly to the original text. This text will not
|
||||
#. be changing any time soon!
|
||||
#.
|
||||
#: src/help.c:113
|
||||
msgid ""
|
||||
"^BStar Traders^N is a simple game of interstellar trading. The object of the\n"
|
||||
"game is to amass the greatest amount of wealth possible. This is done by\n"
|
||||
@ -1122,7 +1241,7 @@ msgid ""
|
||||
" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/help.c:122
|
||||
#: src/help.c:132
|
||||
msgid ""
|
||||
"The computer selects ^B~m^N moves (labeled ^k~1^N to ^k~M^N) at random, and places these\n"
|
||||
"on the map. To select any of the highlighted positions, press that letter.\n"
|
||||
@ -1141,7 +1260,7 @@ msgid ""
|
||||
"selected on the above map, a ^o ~+ ^N would be placed at that position.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/help.c:140
|
||||
#: src/help.c:150
|
||||
msgid ""
|
||||
"If, on the other hand, a position next to a star (or another outpost) is\n"
|
||||
"selected, a ^Bcompany^N would be formed and its letter would appear on the map.\n"
|
||||
@ -1160,7 +1279,7 @@ msgid ""
|
||||
" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/help.c:158
|
||||
#: src/help.c:168
|
||||
msgid ""
|
||||
"Selecting positions next to stars increases the value of your stock by about\n"
|
||||
"five times as much as an extension not next to a star. Thus move ^k~6^N should\n"
|
||||
@ -1179,7 +1298,7 @@ msgid ""
|
||||
"than it would for outposts not next to stars.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/help.c:176
|
||||
#: src/help.c:186
|
||||
msgid ""
|
||||
"If two companies are separated on the map by only one square, then they can\n"
|
||||
"be ^Bmerged^N into one company by selecting that position (if available). For\n"
|
||||
@ -1199,7 +1318,7 @@ msgid ""
|
||||
"is also paid, proportional to the percentage of the old company owned.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/help.c:195
|
||||
#: src/help.c:205
|
||||
msgid ""
|
||||
"Once you select your move, you enter the ^BInterstellar Stock Exchange^N. Here\n"
|
||||
"you may purchase shares, sell them, borrow from the Trading Bank or repay\n"
|
||||
@ -1219,27 +1338,32 @@ msgid ""
|
||||
"value of cash, stock and debt). ^HGood luck^N and may the best person win!\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/help.c:215
|
||||
msgid "@ Help text, page 7"
|
||||
#: src/help.c:225
|
||||
msgid "@ Help text, page 7\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/help.c:216
|
||||
msgid "@ Help text, page 8"
|
||||
#: src/help.c:226
|
||||
msgid "@ Help text, page 8\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/help.c:217
|
||||
msgid "@ Help text, page 9"
|
||||
#: src/help.c:227
|
||||
msgid "@ Help text, page 9\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/help.c:218
|
||||
msgid "@ Help text, page 10"
|
||||
#: src/help.c:228
|
||||
msgid "@ Help text, page 10\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/help.c:270
|
||||
#: src/help.c:280
|
||||
#, c-format
|
||||
msgid " How to Play "
|
||||
msgstr ""
|
||||
|
||||
#: src/help.c:272
|
||||
#. TRANSLATORS: The first %d is the current page number,
|
||||
#. the second is the number of pages your help text takes
|
||||
#. (6, in English). You can replace the second %d with a
|
||||
#. fixed word, if you like.
|
||||
#: src/help.c:286
|
||||
#, c-format
|
||||
msgid "Page %d of %d"
|
||||
msgstr ""
|
||||
@ -1247,7 +1371,8 @@ msgstr ""
|
||||
#. TRANSLATORS: The reason the user is not asked "Press any
|
||||
#. key to continue" is historical: many, many people used to
|
||||
#. ask "where is the <ANY> key?" :-)
|
||||
#: src/help.c:473 src/intf.c:3035
|
||||
#: src/help.c:487 src/intf.c:3035
|
||||
#, c-format
|
||||
msgid "[ Press <SPACE> to continue ] "
|
||||
msgstr ""
|
||||
|
||||
@ -1257,7 +1382,8 @@ msgstr ""
|
||||
#. <BACKSPACE>, and almost any other key instead of
|
||||
#. <SPACE> (other than <ESC>, <CANCEL>, <EXIT>, <CTRL><C>,
|
||||
#. <CTRL><G> or <CTRL><\>).
|
||||
#: src/help.c:480
|
||||
#: src/help.c:494
|
||||
#, c-format
|
||||
msgid "[ Press <SPACE> to continue or <BACKSPACE> for the previous page ] "
|
||||
msgstr ""
|
||||
|
||||
@ -1277,10 +1403,12 @@ msgid "terminal size is too small (%d x %d required)"
|
||||
msgstr ""
|
||||
|
||||
#: src/intf.c:610
|
||||
#, c-format
|
||||
msgid "Star Traders"
|
||||
msgstr ""
|
||||
|
||||
#: src/intf.c:1265
|
||||
#, c-format
|
||||
msgid "mkchstr_conv: NUL"
|
||||
msgstr ""
|
||||
|
||||
@ -1341,6 +1469,7 @@ msgid ": "
|
||||
msgstr ""
|
||||
|
||||
#: src/utils.c:238
|
||||
#, c-format
|
||||
msgid "out of memory"
|
||||
msgstr ""
|
||||
|
||||
@ -1350,6 +1479,7 @@ msgid "xmbstowcs: `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils.c:611
|
||||
#, c-format
|
||||
msgid "xwcrtomb: NUL"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11.3 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.4 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -44,6 +44,23 @@
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__make_dryrun = \
|
||||
{ \
|
||||
am__dry=no; \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
||||
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
||||
*) \
|
||||
for am__flg in $$MAKEFLAGS; do \
|
||||
case $$am__flg in \
|
||||
*=*|--*) ;; \
|
||||
*n*) am__dry=yes; break;; \
|
||||
esac; \
|
||||
done;; \
|
||||
esac; \
|
||||
test $$am__dry = yes; \
|
||||
}
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
@ -128,6 +145,11 @@ CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(trader_SOURCES)
|
||||
DIST_SOURCES = $(trader_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
@ -223,7 +245,6 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
|
||||
GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
|
||||
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
|
||||
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
|
||||
GNULIB_GETS = @GNULIB_GETS@
|
||||
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
|
||||
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
|
||||
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
|
||||
@ -238,6 +259,7 @@ GNULIB_LCHMOD = @GNULIB_LCHMOD@
|
||||
GNULIB_LCHOWN = @GNULIB_LCHOWN@
|
||||
GNULIB_LINK = @GNULIB_LINK@
|
||||
GNULIB_LINKAT = @GNULIB_LINKAT@
|
||||
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
|
||||
GNULIB_LSEEK = @GNULIB_LSEEK@
|
||||
GNULIB_LSTAT = @GNULIB_LSTAT@
|
||||
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
|
||||
@ -709,6 +731,7 @@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
|
||||
REPLACE_LCHOWN = @REPLACE_LCHOWN@
|
||||
REPLACE_LINK = @REPLACE_LINK@
|
||||
REPLACE_LINKAT = @REPLACE_LINKAT@
|
||||
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
|
||||
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
|
||||
REPLACE_LSEEK = @REPLACE_LSEEK@
|
||||
REPLACE_LSTAT = @REPLACE_LSTAT@
|
||||
@ -767,6 +790,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
|
||||
REPLACE_STRSTR = @REPLACE_STRSTR@
|
||||
REPLACE_STRTOD = @REPLACE_STRTOD@
|
||||
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
|
||||
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
|
||||
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
|
||||
REPLACE_SYMLINK = @REPLACE_SYMLINK@
|
||||
REPLACE_TIMEGM = @REPLACE_TIMEGM@
|
||||
@ -921,8 +945,11 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
$(am__aclocal_m4_deps):
|
||||
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
|
||||
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed 's/$(EXEEXT)$$//' | \
|
||||
while read p p1; do if test -f $$p; \
|
||||
|
@ -83,7 +83,7 @@ void exchange_stock (void)
|
||||
return;
|
||||
}
|
||||
|
||||
newtxwin(17, WIN_COLS, 1, WCENTER, false, 0);
|
||||
newtxwin(16, WIN_COLS, 1, WCENTER, false, 0);
|
||||
w = getmaxx(curwin);
|
||||
|
||||
while (selection != SEL_EXIT) {
|
||||
@ -176,11 +176,13 @@ void exchange_stock (void)
|
||||
wrefresh(curwin);
|
||||
|
||||
// Show menu of choices for the player
|
||||
newtxwin(6, WIN_COLS, 18, WCENTER, true, attr_normal_window);
|
||||
newtxwin(7, WIN_COLS, 17, WCENTER, true, attr_normal_window);
|
||||
|
||||
left(curwin, 3, 2, attr_normal, attr_keycode, 0, 1,
|
||||
_("^{<1>^} Display stock portfolio"));
|
||||
left(curwin, 4, 2, attr_normal, attr_keycode, 0, 1,
|
||||
/* TRANSLATORS: Each label may be up to 37 characters wide
|
||||
(for <1> and <2>) or 38 characters wide (for <3> and <4>). */
|
||||
_("^{<2>^} Display galaxy map"));
|
||||
left(curwin, 3, getmaxx(curwin) / 2, attr_normal, attr_keycode, 0, 1,
|
||||
_("^{<3>^} Visit the Trading Bank"));
|
||||
@ -644,6 +646,8 @@ void trade_shares (int num, bool *bid_used)
|
||||
newtxwin(7, WIN_COLS - 4, 14, WCENTER, true, attr_normal_window);
|
||||
|
||||
left(curwin, 3, 2, attr_normal, attr_keycode, 0, 1,
|
||||
/* TRANSLATORS: Each label may be up to 35 characters wide
|
||||
(for <1> and <2>) or 36 characters wide (for <3> and <4>). */
|
||||
_("^{<1>^} Buy stock from company"));
|
||||
left(curwin, 4, 2, attr_normal, attr_keycode, 0, 1,
|
||||
_("^{<2>^} Sell stock back to company"));
|
||||
|
@ -346,7 +346,7 @@ bool load_game (int num)
|
||||
load_game_read_int(n, n == MAX_Y);
|
||||
load_game_read_int(max_turn, max_turn >= 1);
|
||||
load_game_read_int(turn_number, turn_number >= 1 && turn_number <= max_turn);
|
||||
load_game_read_int(number_players, number_players >= 1 && number_players < MAX_PLAYERS);
|
||||
load_game_read_int(number_players, number_players >= 1 && number_players <= MAX_PLAYERS);
|
||||
load_game_read_int(current_player, current_player >= 0 && current_player < number_players);
|
||||
load_game_read_int(first_player, first_player >= 0 && first_player < number_players);
|
||||
load_game_read_int(n, n == MAX_COMPANIES);
|
||||
|
@ -41,8 +41,9 @@ const char *company_name[MAX_COMPANIES] = {
|
||||
/* TRANSLATORS: The eight company names do NOT have to be literal
|
||||
translations of the English names. In fact, if possible, the
|
||||
names should start with successive letters of your alphabet (in
|
||||
English, for example, "A" to "H"). No company name should be more
|
||||
than 24 characters (column positions, to be precise) long. */
|
||||
English, for example, "A" to "H"), and, ideally, be related to
|
||||
constellations or stars in our galaxy. No company name should be
|
||||
more than 24 characters (column positions, to be precise) long. */
|
||||
N_("Altair Starways"),
|
||||
N_("Betelgeuse, Ltd"),
|
||||
N_("Capella Freight Co"),
|
||||
|
@ -47,7 +47,7 @@
|
||||
#define MAX_PLAYERS 8 // Maximum number of players
|
||||
#define INITIAL_CASH 6000.00 // Initial cash per player
|
||||
#define MAX_OVERDRAFT 1000.00 // Max. value player can go negative
|
||||
#define PROB_BANKRUPTCY 0.07 // If overdraft, 7% chance of bankruptcy
|
||||
#define MAKE_BANKRUPT 0.07 // If overdraft, 7% chance of bankruptcy
|
||||
|
||||
#define MAX_COMPANIES 8 // Max. number of companies (do not change!)
|
||||
#define INITIAL_STOCK_ISSUED 5 // Initial number of shares issued out
|
||||
@ -55,34 +55,44 @@
|
||||
#define INITIAL_SHARE_PRICE 60.00 // Initial share price
|
||||
|
||||
#define SHARE_PRICE_INC 60.00 // Share price incr. for increase in shipping
|
||||
#define SHARE_PRICE_INC_OUTPOST 70.00 // Incr. for adding an outpost
|
||||
#define SHARE_PRICE_INC_OUTSTAR 70.00 // Extra incr. for adding outpost next to star
|
||||
#define SHARE_PRICE_INC_OUTPOST 75.00 // Incr. for adding an outpost
|
||||
#define SHARE_PRICE_INC_OUTSTAR 150.00 // Extra incr. for adding outpost next to star
|
||||
#define SHARE_PRICE_INC_STAR 300.00 // Incr. for adding next to star
|
||||
#define SHARE_PRICE_INC_EXTRA 0.50 // Extra factor when incr. share price
|
||||
#define PRICE_INC_ADJUST_MIN 0.75 // Actual incr. may be as low as 75% of nominal
|
||||
#define PRICE_INC_ADJUST_MAX 1.25 // Actual incr. may be as high as 125%
|
||||
#define MAX_STOCK_RATIO_MIN 0.10 // Min. multiplier to increment available shares
|
||||
#define MAX_STOCK_RATIO_MAX 0.25 // Max. multiplier, using share price incr.
|
||||
|
||||
#define MERGE_STOCK_RATIO 0.50 // 50% of old shares are credited to new company
|
||||
#define COMPANY_BANKRUPTCY 0.01 // 1% chance of company bankruptcy
|
||||
#define MERGE_BONUS_RATE 10.0 // Multiplier for merger cash bonus
|
||||
#define MERGE_PRICE_ADJUST_MIN 0.40 // Minimum of old share price used as increment
|
||||
#define MERGE_PRICE_ADJUST_MAX 0.60 // Maximum of old share price used as increment
|
||||
#define COMPANY_BANKRUPTCY 0.03 // 3% chance of company bankruptcy (if return < 0)
|
||||
#define ALL_ASSETS_TAKEN 0.20 // 20% chance of assets taken of same
|
||||
|
||||
#define INC_SHARE_PRICE 0.30 // 30% chance for increasing share price
|
||||
#define DEC_SHARE_PRICE 0.65 // 65% x 30% chance of decrementing same
|
||||
#define CHANGE_SHARE_PRICE 0.35 // 35% chance for changing share price
|
||||
#define DEC_SHARE_PRICE 0.65 // 65% x 35% chance of decrementing same
|
||||
#define PRICE_CHANGE_RATE 0.25 // Up to 25% of share price is used to incr./decr.
|
||||
#define INITIAL_RETURN 0.05 // Initial return per share: 5%
|
||||
#define GROWING_RETURN_CHANGE 0.25 // Chance of changing return when company grows
|
||||
#define GROWING_RETURN_INC 0.60 // 60% chance such change will increase return
|
||||
#define CHANGE_COMPANY_RETURN 0.40 // Chance of randomly changing return
|
||||
#define COMPANY_RETURN_INC 0.75 // 75% chance such change will increase return
|
||||
#define MAX_COMPANY_RETURN 0.40 // Maximum return per share
|
||||
#define RETURN_DIVIDER 1.50 // Min. amount by which to divide if return too large
|
||||
#define MIN_COMPANY_RETURN -0.10 // Minimum return per share (yes, negative!)
|
||||
#define MAX_COMPANY_RETURN 0.20 // Maximum return per share
|
||||
#define CHANGE_COMPANY_RETURN 0.50 // Chance of randomly changing return
|
||||
#define DEC_COMPANY_RETURN 0.50 // Chance such change will decrease return
|
||||
#define RETURN_MAX_CHANGE 0.03 // Maximum that company return will change
|
||||
#define CHANGE_RETURN_GROWING 0.25 // Chance of changing return when company grows
|
||||
#define DEC_RETURN_GROWING 0.35 // 35% chance such change will decrement return
|
||||
#define GROWING_MAX_CHANGE 0.02 // Maximum that that return can change
|
||||
|
||||
#define OWNERSHIP_BONUS 2.00 // Bonus amount based on percentage ownership
|
||||
#define BID_CHANCE 0.75 // 75% chance of successful bidding
|
||||
#define MAX_SHARES_BIDDED 200 // Max. number of shares issued
|
||||
|
||||
#define INITIAL_INTEREST_RATE 0.10 // Initial bank interest rate: 10%
|
||||
#define CHANGE_INTEREST_RATE 0.30 // 30% chance of changing interest rate
|
||||
#define INTEREST_RATE_INC 0.65 // 65% chance of above being an increment
|
||||
#define MAX_INTEREST_RATE 0.30 // Maximum interest rate
|
||||
#define INTEREST_RATE_DIVIDER 1.50 // Min. amount by which to divide if interest is too high
|
||||
#define MIN_INTEREST_RATE 0.02 // Minimum interest rate
|
||||
#define MAX_INTEREST_RATE 0.20 // Maximum interest rate
|
||||
#define CHANGE_INTEREST_RATE 0.40 // 40% chance of changing interest rate
|
||||
#define DEC_INTEREST_RATE 0.45 // 40% x 45% chance of decrease the same
|
||||
#define INTEREST_MAX_CHANGE 0.03 // Maximum that interest rate will change
|
||||
#define CREDIT_LIMIT_RATE 2.00 // Multiplier for credit limit
|
||||
|
||||
#define ROUNDING_AMOUNT 0.01 // Round off smaller amounts to zero
|
||||
@ -96,7 +106,7 @@
|
||||
typedef struct company_info {
|
||||
wchar_t *name; // Company name
|
||||
double share_price; // Share price
|
||||
double share_return; // Return per share
|
||||
double share_return; // Return per share (may be negative)
|
||||
long int stock_issued; // Total stock sold to players
|
||||
long int max_stock; // Max. stock that company has
|
||||
bool on_map; // True if company on map
|
||||
|
22
src/help.c
22
src/help.c
@ -99,6 +99,16 @@ static const char *help_text[HELP_TEXT_PAGES] = {
|
||||
the galaxy map, use something like "^k~1^N" (a six-character sequence
|
||||
that would translate to just one character (or maybe two) in the
|
||||
output text).
|
||||
|
||||
Formatting the help text is probably the most complicated and tedious
|
||||
part of translating Star Traders. The author and maintainer of this
|
||||
game is more than happy to help you with this task: if you are able
|
||||
to provide a translation, even if it is not formatted correctly, the
|
||||
maintainer will perform the necessary adjustments for word-wrapping
|
||||
and justification. In addition, remember that you have up to 10
|
||||
pages in which to display your help text: the translation does not
|
||||
need to correspond exactly to the original text. This text will not
|
||||
be changing any time soon!
|
||||
*/
|
||||
N_( ""
|
||||
"^BStar Traders^N is a simple game of interstellar trading. The object of the\n"
|
||||
@ -212,10 +222,10 @@ static const char *help_text[HELP_TEXT_PAGES] = {
|
||||
"")
|
||||
|
||||
#ifdef ENABLE_NLS
|
||||
, N_("@ Help text, page 7")
|
||||
, N_("@ Help text, page 8")
|
||||
, N_("@ Help text, page 9")
|
||||
, N_("@ Help text, page 10")
|
||||
, N_("@ Help text, page 7\n")
|
||||
, N_("@ Help text, page 8\n")
|
||||
, N_("@ Help text, page 9\n")
|
||||
, N_("@ Help text, page 10\n")
|
||||
#endif
|
||||
};
|
||||
|
||||
@ -269,6 +279,10 @@ void show_help (void)
|
||||
|
||||
center(curwin, 1, 0, attr_title, 0, 0, 1, _(" How to Play "));
|
||||
center(curwin, 2, 0, attr_normal, attr_highlight, 0, 1,
|
||||
/* TRANSLATORS: The first %d is the current page number,
|
||||
the second is the number of pages your help text takes
|
||||
(6, in English). You can replace the second %d with a
|
||||
fixed word, if you like. */
|
||||
_("Page %d of %d"), curpage + 1, numpages);
|
||||
wmove(curwin, 4, 2);
|
||||
|
||||
|
108
src/move.c
108
src/move.c
@ -236,6 +236,10 @@ selection_t get_move (void)
|
||||
box(curwin, 0, 0);
|
||||
|
||||
left(curwin, 2, 2, attr_normal, attr_keycode, 0, 1,
|
||||
/* TRANSLATORS: Each label may be up to 37 characters wide
|
||||
(for <1> and <2>) or 38 characters wide (for <3> and
|
||||
<CTRL><C>). The sequences "^{" and "^}" change the
|
||||
character rendition (attributes) and take up no space. */
|
||||
_("^{<1>^} Display stock portfolio"));
|
||||
left(curwin, 3, 2, attr_normal, attr_keycode, 0, 1,
|
||||
_("^{<2>^} Declare bankruptcy"));
|
||||
@ -246,6 +250,11 @@ selection_t get_move (void)
|
||||
|
||||
right(curwin, 1, getmaxx(curwin) / 2, attr_normal, attr_keycode,
|
||||
attr_choice, 1,
|
||||
/* TRANSLATORS: The maximum column width is 38 characters,
|
||||
including the trailing space. The sequences "^{", "^}",
|
||||
"^[" and "^]" do not take up any room. "%lc" takes up
|
||||
either one or two columns, depending on the appropriate
|
||||
"output|GameMoves" string in the current PO file. */
|
||||
_("Select move [^[%lc^]-^[%lc^]/^{1^}-^{3^}/^{<CTRL><C>^}]: "),
|
||||
(wint_t) PRINTABLE_GAME_MOVE(0),
|
||||
(wint_t) PRINTABLE_GAME_MOVE(NUMBER_MOVES - 1));
|
||||
@ -276,9 +285,13 @@ selection_t get_move (void)
|
||||
curs_set(CURS_OFF);
|
||||
left(curwin, 1, getmaxx(curwin) / 2, attr_normal,
|
||||
attr_choice, 0, 1,
|
||||
/* TRANSLATORS: "Move" refers to the choice of
|
||||
moves made by the current player (out of a
|
||||
selection of 20 moves). */
|
||||
/* TRANSLATORS: A game usually consists of
|
||||
DEFAULT_MAX_TURN (50) turns. On each
|
||||
turn, the computer randomly selects
|
||||
NUMBER_MOVES (20) moves (positions on the
|
||||
map); each player selects just one move
|
||||
per turn. "Move" refers to the player's
|
||||
choice. */
|
||||
_("Move ^{%lc^}"),
|
||||
(wint_t) PRINTABLE_GAME_MOVE(i));
|
||||
|
||||
@ -782,9 +795,9 @@ void merge_companies (map_val_t a, map_val_t b)
|
||||
assert(bb >= 0 && bb < MAX_COMPANIES);
|
||||
|
||||
double val_aa = company[aa].share_price * company[aa].stock_issued *
|
||||
company[aa].share_return;
|
||||
(1.0 + company[aa].share_return);
|
||||
double val_bb = company[bb].share_price * company[bb].stock_issued *
|
||||
company[bb].share_return;
|
||||
(1.0 + company[bb].share_return);
|
||||
|
||||
double bonus;
|
||||
long int old_stock, new_stock, total_new;
|
||||
@ -887,9 +900,9 @@ void merge_companies (map_val_t a, map_val_t b)
|
||||
new_stock = (double) old_stock * MERGE_STOCK_RATIO;
|
||||
total_new += new_stock;
|
||||
|
||||
bonus = (company[bb].stock_issued == 0) ? 0.0 :
|
||||
10.0 * ((double) player[i].stock_owned[bb]
|
||||
/ company[bb].stock_issued) * company[bb].share_price;
|
||||
bonus = (company[bb].stock_issued == 0) ? 0.0 : MERGE_BONUS_RATE
|
||||
* ((double) player[i].stock_owned[bb]
|
||||
/ company[bb].stock_issued) * company[bb].share_price;
|
||||
|
||||
player[i].stock_owned[aa] += new_stock;
|
||||
player[i].stock_owned[bb] = 0;
|
||||
@ -917,7 +930,9 @@ void merge_companies (map_val_t a, map_val_t b)
|
||||
// Adjust the company records appropriately
|
||||
company[aa].stock_issued += total_new;
|
||||
company[aa].max_stock += total_new;
|
||||
company[aa].share_price += company[bb].share_price / (randf() + 1.5);
|
||||
company[aa].share_price += company[bb].share_price
|
||||
* (randf() * (MERGE_PRICE_ADJUST_MAX - MERGE_PRICE_ADJUST_MIN)
|
||||
+ MERGE_PRICE_ADJUST_MIN);
|
||||
|
||||
company[bb].stock_issued = 0;
|
||||
company[bb].max_stock = 0;
|
||||
@ -997,11 +1012,22 @@ void inc_share_price (int num, double inc)
|
||||
{
|
||||
assert(num >= 0 && num < MAX_COMPANIES);
|
||||
|
||||
company[num].share_price += inc * (1.0 + randf() * SHARE_PRICE_INC_EXTRA);
|
||||
company[num].max_stock += inc / (randf() * 10.0 + 5.0);
|
||||
company[num].share_price += inc * (randf()
|
||||
* (PRICE_INC_ADJUST_MAX - PRICE_INC_ADJUST_MIN) + PRICE_INC_ADJUST_MIN);
|
||||
company[num].max_stock += inc * (randf()
|
||||
* (MAX_STOCK_RATIO_MAX - MAX_STOCK_RATIO_MIN) + MAX_STOCK_RATIO_MIN);
|
||||
|
||||
if (randf() < GROWING_RETURN_CHANGE) {
|
||||
company[num].share_return *= randf() + GROWING_RETURN_INC;
|
||||
if (randf() < CHANGE_RETURN_GROWING) {
|
||||
double change = randf() * GROWING_MAX_CHANGE;
|
||||
if (randf() < DEC_RETURN_GROWING) {
|
||||
change = -change;
|
||||
}
|
||||
|
||||
company[num].share_return += change;
|
||||
if ( company[num].share_return > MAX_COMPANY_RETURN
|
||||
|| company[num].share_return < MIN_COMPANY_RETURN) {
|
||||
company[num].share_return -= 2.0 * change;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1018,7 +1044,7 @@ void adjust_values (void)
|
||||
if (randf() > (1.0 - COMPANY_BANKRUPTCY)) {
|
||||
which = randi(MAX_COMPANIES);
|
||||
|
||||
if (company[which].on_map) {
|
||||
if (company[which].on_map && company[which].share_return <= 0.0) {
|
||||
if (randf() < ALL_ASSETS_TAKEN) {
|
||||
txdlgbox(MAX_DLG_LINES, 60, 6, WCENTER, attr_error_window,
|
||||
attr_error_title, attr_error_highlight,
|
||||
@ -1041,7 +1067,8 @@ void adjust_values (void)
|
||||
|
||||
for (int i = 0; i < number_players; i++) {
|
||||
if (player[i].in_game) {
|
||||
player[i].cash += player[i].stock_owned[which] * rate;
|
||||
player[i].cash += player[i].stock_owned[which]
|
||||
* company[which].share_price * rate;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1123,19 +1150,21 @@ void adjust_values (void)
|
||||
if (randf() < CHANGE_COMPANY_RETURN) {
|
||||
which = randi(MAX_COMPANIES);
|
||||
if (company[which].on_map) {
|
||||
company[which].share_return *= randf() + COMPANY_RETURN_INC;
|
||||
}
|
||||
}
|
||||
double change = randf() * RETURN_MAX_CHANGE;
|
||||
if (randf() < DEC_COMPANY_RETURN) {
|
||||
change = -change;
|
||||
}
|
||||
|
||||
// Make sure that a company's return is not too large
|
||||
for (int i = 0; i < MAX_COMPANIES; i++) {
|
||||
if (company[i].on_map && company[i].share_return > MAX_COMPANY_RETURN) {
|
||||
company[i].share_return /= randf() + RETURN_DIVIDER;
|
||||
company[which].share_return += change;
|
||||
if ( company[which].share_return > MAX_COMPANY_RETURN
|
||||
|| company[which].share_return < MIN_COMPANY_RETURN) {
|
||||
company[which].share_return -= 2.0 * change;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Increase or decrease share price
|
||||
if (randf() < INC_SHARE_PRICE) {
|
||||
if (randf() < CHANGE_SHARE_PRICE) {
|
||||
which = randi(MAX_COMPANIES);
|
||||
if (company[which].on_map) {
|
||||
double change = randf() * company[which].share_price
|
||||
@ -1159,12 +1188,35 @@ void adjust_values (void)
|
||||
}
|
||||
}
|
||||
|
||||
// Has the player lost money due to negative share returns?
|
||||
if (player[current_player].cash < 0.0) {
|
||||
double borrowed = -player[current_player].cash;
|
||||
|
||||
txdlgbox(MAX_DLG_LINES, 60, 7, WCENTER, attr_error_window,
|
||||
attr_error_title, attr_error_highlight, 0, 0,
|
||||
attr_error_waitforkey, _(" Interstellar Trading Bank "),
|
||||
/* xgettext:c-format */
|
||||
_("You were forced to borrow %N\n"
|
||||
"to cover losses from company shares."),
|
||||
borrowed);
|
||||
txrefresh();
|
||||
|
||||
player[current_player].cash = 0.0;
|
||||
player[current_player].debt += borrowed;
|
||||
}
|
||||
|
||||
// Change the interest rate
|
||||
if (randf() < CHANGE_INTEREST_RATE) {
|
||||
interest_rate *= randf() + INTEREST_RATE_INC;
|
||||
}
|
||||
if (interest_rate > MAX_INTEREST_RATE) {
|
||||
interest_rate /= randf() + INTEREST_RATE_DIVIDER;
|
||||
double change = randf() * INTEREST_MAX_CHANGE;
|
||||
if (randf() < DEC_INTEREST_RATE) {
|
||||
change = -change;
|
||||
}
|
||||
|
||||
interest_rate += change;
|
||||
if ( interest_rate > MAX_INTEREST_RATE
|
||||
|| interest_rate < MIN_INTEREST_RATE) {
|
||||
interest_rate -= 2.0 * change;
|
||||
}
|
||||
}
|
||||
|
||||
// Calculate current player's debt
|
||||
@ -1194,7 +1246,7 @@ void adjust_values (void)
|
||||
}
|
||||
|
||||
// Shall we declare them bankrupt?
|
||||
if (total_value(current_player) <= 0.0 && randf() < PROB_BANKRUPTCY) {
|
||||
if (total_value(current_player) <= 0.0 && randf() < MAKE_BANKRUPT) {
|
||||
bankrupt_player(true);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user