mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
No more warnings for AMD64 (at least when cross-compiling). Thus tehre is a
good chance that gpg2 will now work. Other cleanups. Updated gettext.
This commit is contained in:
parent
5885142c83
commit
e50c5f39cc
@ -1,3 +1,10 @@
|
||||
2006-11-21 Werner Koch <wk@g10code.com>
|
||||
|
||||
* configure.ac [AH_BOTTOM]: Disable PTH soft mapping.
|
||||
(AC_CHECK_SIZEOF): Check for time_t.
|
||||
(BUILD_INCLUDED_LIBINTL): Remove AM_PO_SUBDIRS as it is not
|
||||
required for C.
|
||||
|
||||
2006-11-15 Werner Koch <wk@g10code.com>
|
||||
|
||||
* autogen.sh: Add convenience option --build-amd64.
|
||||
|
@ -1,3 +1,8 @@
|
||||
2006-11-21 Werner Koch <wk@g10code.com>
|
||||
|
||||
* estream.c: Remove explicit Pth soft mapping diabling becuase it
|
||||
is now done in config.h.
|
||||
|
||||
2006-11-15 Werner Koch <wk@g10code.com>
|
||||
|
||||
* estream.c: Disabled Pth soft mapping.
|
||||
|
@ -46,9 +46,6 @@
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_PTH
|
||||
/* We explicitly need to disable soft mapping as Debian currently
|
||||
enables it for no reason. */
|
||||
# define PTH_SYSCALL_SOFT 0
|
||||
# include <pth.h>
|
||||
#endif
|
||||
|
||||
|
24
configure.ac
24
configure.ac
@ -422,6 +422,11 @@ AH_BOTTOM([
|
||||
/* We don't want the old assuan codes anymore. */
|
||||
#define _ASSUAN_ONLY_GPG_ERRORS 1
|
||||
|
||||
/* We explicitly need to disable PTH's soft mapping as Debian
|
||||
currently enables it by default for no reason. */
|
||||
#define PTH_SYSCALL_SOFT 0
|
||||
|
||||
|
||||
#endif /*GNUPG_CONFIG_H_INCLUDED*/
|
||||
])
|
||||
|
||||
@ -847,7 +852,7 @@ AC_DEFINE_UNQUOTED(PRINTABLE_OS_NAME, "$PRINTABLE_OS_NAME",
|
||||
#
|
||||
# Check for gettext
|
||||
#
|
||||
AM_GNU_GETTEXT_VERSION(0.14.1)
|
||||
AM_GNU_GETTEXT_VERSION([0.15])
|
||||
if test "$try_gettext" = yes; then
|
||||
AM_GNU_GETTEXT(,[need-ngettext])
|
||||
|
||||
@ -863,7 +868,6 @@ else
|
||||
AC_SUBST(USE_NLS)
|
||||
AC_SUBST(USE_INCLUDED_LIBINTL)
|
||||
AC_SUBST(BUILD_INCLUDED_LIBINTL)
|
||||
AM_PO_SUBDIRS
|
||||
fi
|
||||
|
||||
|
||||
@ -881,6 +885,7 @@ fi
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS([string.h unistd.h langinfo.h termio.h locale.h getopt.h])
|
||||
AC_CHECK_HEADERS([pty.h pwd.h inttypes.h])
|
||||
AC_HEADER_TIME
|
||||
|
||||
|
||||
#
|
||||
@ -914,6 +919,21 @@ AC_CHECK_SIZEOF(unsigned short)
|
||||
AC_CHECK_SIZEOF(unsigned int)
|
||||
AC_CHECK_SIZEOF(unsigned long)
|
||||
AC_CHECK_SIZEOF(unsigned long long)
|
||||
AC_CHECK_SIZEOF(time_t,,[[
|
||||
#include <stdio.h>
|
||||
#if TIME_WITH_SYS_TIME
|
||||
# include <sys/time.h>
|
||||
# include <time.h>
|
||||
#else
|
||||
# if HAVE_SYS_TIME_H
|
||||
# include <sys/time.h>
|
||||
# else
|
||||
# include <time.h>
|
||||
# endif
|
||||
#endif
|
||||
]])
|
||||
|
||||
|
||||
# Ensure that we have UINT64_C before we bother to check for uint64_t
|
||||
# Fixme: really needed in gnupg? I think it is only useful in libcgrypt.
|
||||
AC_CACHE_CHECK([for UINT64_C],[gnupg_cv_uint64_c_works],
|
||||
|
@ -1,3 +1,24 @@
|
||||
2006-11-21 Werner Koch <wk@g10code.com>
|
||||
|
||||
* keygen.c (ask_expire_interval): Print y2038 warning only for 32
|
||||
bit time_t.
|
||||
(save_unprotected_key_to_card): Made RSA_N_LEN et al a size_t.
|
||||
Cast printf args.
|
||||
|
||||
* seckey-cert.c (do_check): Made NBYTES a size_t.
|
||||
(do_check): Made NDATA a size_t.
|
||||
(protect_secret_key): Made NARR a size_t.
|
||||
(protect_secret_key): Made NVYES a size_t.
|
||||
* pubkey-enc.c (get_it): Made INDATALEN a size_t.
|
||||
(get_it): Made NFRAME a size_t.
|
||||
* keyid.c (hash_public_key): Made NBITS an unsigned int.
|
||||
* misc.c (checksum_mpi): Made NBYTES a size_t.
|
||||
(openpgp_pk_test_algo2): Made USE_BUF a size_t.
|
||||
* seskey.c (encode_session_key): Made NFRAME a size_t.
|
||||
(do_encode_md): Ditto.
|
||||
(encode_md_value): Cast size_t argument of printf.
|
||||
(encode_md_value): Ditto.
|
||||
|
||||
2006-11-10 Werner Koch <wk@g10code.com>
|
||||
|
||||
* parse-packet.c (mpi_read): Changed NREAD to size_t to match the
|
||||
|
22
g10/keygen.c
22
g10/keygen.c
@ -1849,12 +1849,12 @@ ask_expire_interval(int object,const char *def_expire)
|
||||
? _("Key expires at %s\n")
|
||||
: _("Signature expires at %s\n"),
|
||||
asctimestamp((ulong)(curtime + interval) ) );
|
||||
/* FIXME: This check yields warning on alhas: Write a
|
||||
configure check and to this check here only for 32 bit
|
||||
machines */
|
||||
if( (time_t)((ulong)(curtime+interval)) < 0 )
|
||||
tty_printf(_("Your system can't display dates beyond 2038.\n"
|
||||
"However, it will be correctly handled up to 2106.\n"));
|
||||
#if SIZEOF_TIME_T <= 4
|
||||
if ( (time_t)((ulong)(curtime+interval)) < 0 )
|
||||
tty_printf (_("Your system can't display dates beyond 2038.\n"
|
||||
"However, it will be correctly handled up to"
|
||||
" 2106.\n"));
|
||||
#endif /*SIZEOF_TIME_T*/
|
||||
}
|
||||
|
||||
if( cpr_enabled() || cpr_get_answer_is_yes("keygen.valid.okay",
|
||||
@ -3824,7 +3824,7 @@ save_unprotected_key_to_card (PKT_secret_key *sk, int keyno)
|
||||
unsigned char *rsa_e = NULL;
|
||||
unsigned char *rsa_p = NULL;
|
||||
unsigned char *rsa_q = NULL;
|
||||
unsigned int rsa_n_len, rsa_e_len, rsa_p_len, rsa_q_len;
|
||||
size_t rsa_n_len, rsa_e_len, rsa_p_len, rsa_q_len;
|
||||
unsigned char *sexp = NULL;
|
||||
unsigned char *p;
|
||||
char numbuf[55], numbuf2[50];
|
||||
@ -3849,22 +3849,22 @@ save_unprotected_key_to_card (PKT_secret_key *sk, int keyno)
|
||||
+ 4*sizeof (numbuf) + 25 + sizeof(numbuf) + 20);
|
||||
|
||||
p = stpcpy (p,"(11:private-key(3:rsa(1:n");
|
||||
sprintf (numbuf, "%u:", rsa_n_len);
|
||||
sprintf (numbuf, "%u:", (unsigned int)rsa_n_len);
|
||||
p = stpcpy (p, numbuf);
|
||||
memcpy (p, rsa_n, rsa_n_len);
|
||||
p += rsa_n_len;
|
||||
|
||||
sprintf (numbuf, ")(1:e%u:", rsa_e_len);
|
||||
sprintf (numbuf, ")(1:e%u:", (unsigned int)rsa_e_len);
|
||||
p = stpcpy (p, numbuf);
|
||||
memcpy (p, rsa_e, rsa_e_len);
|
||||
p += rsa_e_len;
|
||||
|
||||
sprintf (numbuf, ")(1:p%u:", rsa_p_len);
|
||||
sprintf (numbuf, ")(1:p%u:", (unsigned int)rsa_p_len);
|
||||
p = stpcpy (p, numbuf);
|
||||
memcpy (p, rsa_p, rsa_p_len);
|
||||
p += rsa_p_len;
|
||||
|
||||
sprintf (numbuf, ")(1:q%u:", rsa_q_len);
|
||||
sprintf (numbuf, ")(1:q%u:", (unsigned int)rsa_q_len);
|
||||
p = stpcpy (p, numbuf);
|
||||
memcpy (p, rsa_q, rsa_q_len);
|
||||
p += rsa_q_len;
|
||||
|
@ -59,7 +59,8 @@ hash_public_key( gcry_md_hd_t md, PKT_public_key *pk )
|
||||
unsigned int nn[PUBKEY_MAX_NPKEY];
|
||||
byte *pp[PUBKEY_MAX_NPKEY];
|
||||
int i;
|
||||
size_t nbits, nbytes;
|
||||
unsigned int nbits;
|
||||
size_t nbytes;
|
||||
int npkey = pubkey_get_npkey (pk->pubkey_algo);
|
||||
|
||||
/* Two extra bytes for the expiration date in v3 */
|
||||
|
@ -297,7 +297,7 @@ checksum_mpi (gcry_mpi_t a)
|
||||
{
|
||||
u16 csum;
|
||||
byte *buffer;
|
||||
unsigned int nbytes;
|
||||
size_t nbytes;
|
||||
|
||||
if ( gcry_mpi_print (GCRYMPI_FMT_PGP, NULL, 0, &nbytes, a) )
|
||||
BUG ();
|
||||
@ -426,7 +426,7 @@ openpgp_pk_test_algo( int algo )
|
||||
int
|
||||
openpgp_pk_test_algo2( int algo, unsigned int use )
|
||||
{
|
||||
int use_buf = use;
|
||||
size_t use_buf = use;
|
||||
|
||||
if (algo == GCRY_PK_ELG_E)
|
||||
algo = GCRY_PK_ELG;
|
||||
|
@ -155,7 +155,8 @@ get_it( PKT_pubkey_enc *enc, DEK *dek, PKT_secret_key *sk, u32 *keyid )
|
||||
int rc;
|
||||
gcry_mpi_t plain_dek = NULL;
|
||||
byte *frame = NULL;
|
||||
unsigned n, nframe;
|
||||
unsigned int n;
|
||||
size_t nframe;
|
||||
u16 csum, csum2;
|
||||
|
||||
int card = 0;
|
||||
@ -167,7 +168,7 @@ get_it( PKT_pubkey_enc *enc, DEK *dek, PKT_secret_key *sk, u32 *keyid )
|
||||
size_t rbuflen;
|
||||
char *snbuf;
|
||||
unsigned char *indata = NULL;
|
||||
unsigned int indatalen;
|
||||
size_t indatalen;
|
||||
|
||||
snbuf = serialno_and_fpr_from_sk (sk->protect.iv, sk->protect.ivlen, sk);
|
||||
|
||||
|
@ -45,7 +45,7 @@ do_check( PKT_secret_key *sk, const char *tryagain_text, int mode,
|
||||
byte *buffer;
|
||||
u16 csum=0;
|
||||
int i, res;
|
||||
unsigned int nbytes;
|
||||
size_t nbytes;
|
||||
|
||||
if( sk->is_protected ) { /* remove the protection */
|
||||
DEK *dek = NULL;
|
||||
@ -194,7 +194,7 @@ do_check( PKT_secret_key *sk, const char *tryagain_text, int mode,
|
||||
for(i=pubkey_get_npkey(sk->pubkey_algo);
|
||||
i < pubkey_get_nskey(sk->pubkey_algo); i++ ) {
|
||||
byte *p;
|
||||
int ndata;
|
||||
size_t ndata;
|
||||
unsigned int ndatabits;
|
||||
|
||||
assert (gcry_mpi_get_flag (sk->skey[i], GCRYMPI_FLAG_OPAQUE));
|
||||
@ -337,7 +337,7 @@ protect_secret_key( PKT_secret_key *sk, DEK *dek )
|
||||
{
|
||||
int i,j, rc = 0;
|
||||
byte *buffer;
|
||||
unsigned nbytes;
|
||||
size_t nbytes;
|
||||
u16 csum;
|
||||
|
||||
if( !dek )
|
||||
@ -370,8 +370,8 @@ protect_secret_key( PKT_secret_key *sk, DEK *dek )
|
||||
gcry_cipher_setiv (cipher_hd, sk->protect.iv, sk->protect.ivlen);
|
||||
if( sk->version >= 4 ) {
|
||||
byte *bufarr[PUBKEY_MAX_NSKEY];
|
||||
unsigned narr[PUBKEY_MAX_NSKEY];
|
||||
unsigned nbits[PUBKEY_MAX_NSKEY];
|
||||
size_t narr[PUBKEY_MAX_NSKEY];
|
||||
unsigned int nbits[PUBKEY_MAX_NSKEY];
|
||||
int ndata=0;
|
||||
byte *p, *data;
|
||||
|
||||
|
20
g10/seskey.c
20
g10/seskey.c
@ -77,7 +77,7 @@ make_session_key( DEK *dek )
|
||||
gcry_mpi_t
|
||||
encode_session_key (DEK *dek, unsigned int nbits)
|
||||
{
|
||||
int nframe = (nbits+7) / 8;
|
||||
size_t nframe = (nbits+7) / 8;
|
||||
byte *p;
|
||||
byte *frame;
|
||||
int i,n;
|
||||
@ -157,7 +157,7 @@ static gcry_mpi_t
|
||||
do_encode_md( gcry_md_hd_t md, int algo, size_t len, unsigned nbits,
|
||||
const byte *asn, size_t asnlen )
|
||||
{
|
||||
int nframe = (nbits+7) / 8;
|
||||
size_t nframe = (nbits+7) / 8;
|
||||
byte *frame;
|
||||
int i,n;
|
||||
gcry_mpi_t a;
|
||||
@ -237,11 +237,11 @@ encode_md_value (PKT_public_key *pk, PKT_secret_key *sk,
|
||||
or something like that, which would look correct but allow
|
||||
trivial forgeries. Yes, I know this rules out using MD5 with
|
||||
DSA. ;) */
|
||||
|
||||
if(qbytes<160)
|
||||
if (qbytes < 160)
|
||||
{
|
||||
log_error(_("DSA key %s uses an unsafe (%u bit) hash\n"),
|
||||
pk?keystr_from_pk(pk):keystr_from_sk(sk),qbytes);
|
||||
log_error (_("DSA key %s uses an unsafe (%u bit) hash\n"),
|
||||
pk?keystr_from_pk(pk):keystr_from_sk(sk),
|
||||
(unsigned int)qbytes);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -249,11 +249,11 @@ encode_md_value (PKT_public_key *pk, PKT_secret_key *sk,
|
||||
|
||||
/* Check if we're too short. Too long is safe as we'll
|
||||
automatically left-truncate. */
|
||||
|
||||
if(gcry_md_get_algo_dlen (hash_algo) < qbytes)
|
||||
if (gcry_md_get_algo_dlen (hash_algo) < qbytes)
|
||||
{
|
||||
log_error(_("DSA key %s requires a %u bit or larger hash\n"),
|
||||
pk?keystr_from_pk(pk):keystr_from_sk(sk),qbytes*8);
|
||||
log_error (_("DSA key %s requires a %u bit or larger hash\n"),
|
||||
pk?keystr_from_pk(pk):keystr_from_sk(sk),
|
||||
(unsigned int)(qbytes*8));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
2004-01-29 GNU <bug-gnu-gettext@gnu.org>
|
||||
2006-07-21 GNU <bug-gnu-gettext@gnu.org>
|
||||
|
||||
* Version 0.14.1 released.
|
||||
* Version 0.15 released.
|
||||
|
||||
|
121
intl/Makefile.in
121
intl/Makefile.in
@ -1,5 +1,5 @@
|
||||
# Makefile for directory with message catalog handling library of GNU gettext
|
||||
# Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1995-1998, 2000-2006 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Library General Public License as published
|
||||
@ -13,7 +13,7 @@
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
# USA.
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
@ -24,6 +24,17 @@ SHELL = /bin/sh
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = ..
|
||||
|
||||
# The VPATH variables allows builds with $builddir != $srcdir, assuming a
|
||||
# 'make' program that supports VPATH (such as GNU make). This line is removed
|
||||
# by autoconf automatically when "$(srcdir)" = ".".
|
||||
# In this directory, the VPATH handling is particular:
|
||||
# 1. If INTL_LIBTOOL_SUFFIX_PREFIX is 'l' (indicating a build with libtool),
|
||||
# the .c -> .lo rules carefully use $(srcdir), so that VPATH can be omitted.
|
||||
# 2. If PACKAGE = gettext-tools, VPATH _must_ be omitted, because otherwise
|
||||
# 'make' does the wrong thing if GNU gettext was configured with
|
||||
# "./configure --srcdir=`pwd`", namely it gets confused by the .lo and .la
|
||||
# files it finds in srcdir = ../../gettext-runtime/intl.
|
||||
VPATH = $(srcdir)
|
||||
|
||||
prefix = @prefix@
|
||||
@ -31,6 +42,7 @@ exec_prefix = @exec_prefix@
|
||||
transform = @program_transform_name@
|
||||
libdir = @libdir@
|
||||
includedir = @includedir@
|
||||
datarootdir = @datarootdir@
|
||||
datadir = @datadir@
|
||||
localedir = $(datadir)/locale
|
||||
gettextsrcdir = $(datadir)/gettext/intl
|
||||
@ -39,8 +51,8 @@ subdir = intl
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
|
||||
mkinstalldirs = @install_sh@ -d
|
||||
mkdir_p = @mkdir_p@
|
||||
|
||||
l = @INTL_LIBTOOL_SUFFIX_PREFIX@
|
||||
|
||||
@ -51,15 +63,19 @@ RANLIB = @RANLIB@
|
||||
YACC = @INTLBISON@ -y -d
|
||||
YFLAGS = --name-prefix=__gettext
|
||||
|
||||
# -DBUILDING_LIBINTL: Change expansion of LIBINTL_DLL_EXPORTED macro.
|
||||
# -DBUILDING_DLL: Change expansion of RELOCATABLE_DLL_EXPORTED macro.
|
||||
DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
|
||||
-DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \
|
||||
-DLIBDIR=\"$(libdir)\" -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL \
|
||||
-DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \
|
||||
-Dset_relocation_prefix=libintl_set_relocation_prefix \
|
||||
-Drelocate=libintl_relocate \
|
||||
-DDEPENDS_ON_LIBICONV=1 @DEFS@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CFLAGS = @CFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
CFLAGS = @CFLAGS@ @CFLAG_VISIBILITY@
|
||||
LDFLAGS = @LDFLAGS@ $(LDFLAGS_@WOE32DLL@)
|
||||
LDFLAGS_yes = -Wl,--export-all-symbols
|
||||
LDFLAGS_no =
|
||||
LIBS = @LIBS@
|
||||
|
||||
COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
|
||||
@ -72,6 +88,7 @@ HEADERS = \
|
||||
plural-exp.h \
|
||||
eval-plural.h \
|
||||
localcharset.h \
|
||||
lock.h \
|
||||
relocatable.h \
|
||||
xsize.h \
|
||||
printf-args.h printf-args.c \
|
||||
@ -85,6 +102,7 @@ SOURCES = \
|
||||
dgettext.c \
|
||||
gettext.c \
|
||||
finddomain.c \
|
||||
hash-string.c \
|
||||
loadmsgcat.c \
|
||||
localealias.c \
|
||||
textdomain.c \
|
||||
@ -97,12 +115,16 @@ SOURCES = \
|
||||
plural.y \
|
||||
plural-exp.c \
|
||||
localcharset.c \
|
||||
lock.c \
|
||||
relocatable.c \
|
||||
langprefs.c \
|
||||
localename.c \
|
||||
log.c \
|
||||
printf.c \
|
||||
version.c \
|
||||
osdep.c \
|
||||
os2compat.c \
|
||||
intl-exports.c \
|
||||
intl-compat.c
|
||||
OBJECTS = \
|
||||
bindtextdom.$lo \
|
||||
@ -110,6 +132,7 @@ OBJECTS = \
|
||||
dgettext.$lo \
|
||||
gettext.$lo \
|
||||
finddomain.$lo \
|
||||
hash-string.$lo \
|
||||
loadmsgcat.$lo \
|
||||
localealias.$lo \
|
||||
textdomain.$lo \
|
||||
@ -122,14 +145,18 @@ OBJECTS = \
|
||||
plural.$lo \
|
||||
plural-exp.$lo \
|
||||
localcharset.$lo \
|
||||
lock.$lo \
|
||||
relocatable.$lo \
|
||||
langprefs.$lo \
|
||||
localename.$lo \
|
||||
log.$lo \
|
||||
printf.$lo \
|
||||
version.$lo \
|
||||
osdep.$lo \
|
||||
intl-compat.$lo
|
||||
DISTFILES.common = Makefile.in \
|
||||
config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES)
|
||||
config.charset locale.alias ref-add.sin ref-del.sin export.h \
|
||||
$(HEADERS) $(SOURCES)
|
||||
DISTFILES.generated = plural.c
|
||||
DISTFILES.normal = VERSION
|
||||
DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \
|
||||
@ -152,7 +179,7 @@ libintl.a libgnuintl.a: $(OBJECTS)
|
||||
libintl.la libgnuintl.la: $(OBJECTS)
|
||||
$(LIBTOOL) --mode=link \
|
||||
$(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \
|
||||
$(OBJECTS) @LTLIBICONV@ $(LIBS) -lc \
|
||||
$(OBJECTS) @LTLIBICONV@ @INTL_MACOSX_LIBS@ $(LIBS) @LTLIBTHREAD@ -lc \
|
||||
-version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
|
||||
-rpath $(libdir) \
|
||||
-no-undefined
|
||||
@ -162,9 +189,9 @@ libintl.la libgnuintl.la: $(OBJECTS)
|
||||
# according to the libtool documentation, section "Library interface versions".
|
||||
# Maintainers of other packages that include the intl directory must *not*
|
||||
# change these values.
|
||||
LTV_CURRENT=7
|
||||
LTV_CURRENT=8
|
||||
LTV_REVISION=0
|
||||
LTV_AGE=4
|
||||
LTV_AGE=0
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .y .o .lo .sin .sed
|
||||
@ -186,6 +213,8 @@ gettext.lo: $(srcdir)/gettext.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c
|
||||
finddomain.lo: $(srcdir)/finddomain.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c
|
||||
hash-string.lo: $(srcdir)/hash-string.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/hash-string.c
|
||||
loadmsgcat.lo: $(srcdir)/loadmsgcat.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c
|
||||
localealias.lo: $(srcdir)/localealias.c
|
||||
@ -210,14 +239,20 @@ plural-exp.lo: $(srcdir)/plural-exp.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c
|
||||
localcharset.lo: $(srcdir)/localcharset.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c
|
||||
lock.lo: $(srcdir)/lock.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/lock.c
|
||||
relocatable.lo: $(srcdir)/relocatable.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c
|
||||
langprefs.lo: $(srcdir)/langprefs.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/langprefs.c
|
||||
localename.lo: $(srcdir)/localename.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c
|
||||
log.lo: $(srcdir)/log.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c
|
||||
printf.lo: $(srcdir)/printf.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c
|
||||
version.lo: $(srcdir)/version.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/version.c
|
||||
osdep.lo: $(srcdir)/osdep.c
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c
|
||||
intl-compat.lo: $(srcdir)/intl-compat.c
|
||||
@ -233,14 +268,29 @@ ref-del.sed: $(srcdir)/ref-del.sin
|
||||
INCLUDES = -I. -I$(srcdir) -I..
|
||||
|
||||
libgnuintl.h: $(srcdir)/libgnuintl.h.in
|
||||
sed -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \
|
||||
sed -e '/IN_LIBGLOCALE/d' \
|
||||
-e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \
|
||||
-e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \
|
||||
-e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \
|
||||
-e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \
|
||||
< $(srcdir)/libgnuintl.h.in > libgnuintl.h
|
||||
< $(srcdir)/libgnuintl.h.in \
|
||||
| if test '@WOE32DLL@' = yes; then \
|
||||
sed -e 's/extern \([^()]*\);/extern __declspec (dllimport) \1;/'; \
|
||||
else \
|
||||
cat; \
|
||||
fi \
|
||||
| sed -e 's/extern \([^"]\)/extern LIBINTL_DLL_EXPORTED \1/' \
|
||||
-e "/#define _LIBINTL_H/r $(srcdir)/export.h" \
|
||||
| sed -e 's,@''HAVE_VISIBILITY''@,@HAVE_VISIBILITY@,g' \
|
||||
> libgnuintl.h
|
||||
|
||||
libintl.h: libgnuintl.h
|
||||
cp libgnuintl.h libintl.h
|
||||
libintl.h: $(srcdir)/libgnuintl.h.in
|
||||
sed -e '/IN_LIBGLOCALE/d' \
|
||||
-e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \
|
||||
-e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \
|
||||
-e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \
|
||||
-e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \
|
||||
< $(srcdir)/libgnuintl.h.in > libintl.h
|
||||
|
||||
charset.alias: $(srcdir)/config.charset
|
||||
$(SHELL) $(srcdir)/config.charset '@host@' > t-$@
|
||||
@ -257,7 +307,7 @@ install: install-exec install-data
|
||||
install-exec: all
|
||||
if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = yes; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
|
||||
$(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
|
||||
$(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \
|
||||
$(LIBTOOL) --mode=install \
|
||||
$(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \
|
||||
@ -271,8 +321,9 @@ install-exec: all
|
||||
: ; \
|
||||
fi
|
||||
if test "$(PACKAGE)" = "gettext-tools" \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = no; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir); \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = no \
|
||||
&& test @GLIBC2@ != no; then \
|
||||
$(mkdir_p) $(DESTDIR)$(libdir); \
|
||||
$(LIBTOOL) --mode=install \
|
||||
$(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \
|
||||
rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
|
||||
@ -283,7 +334,7 @@ install-exec: all
|
||||
: ; \
|
||||
fi
|
||||
if test '@USE_INCLUDED_LIBINTL@' = yes; then \
|
||||
test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
|
||||
test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \
|
||||
temp=$(DESTDIR)$(libdir)/t-charset.alias; \
|
||||
dest=$(DESTDIR)$(libdir)/charset.alias; \
|
||||
if test -f $(DESTDIR)$(libdir)/charset.alias; then \
|
||||
@ -299,7 +350,7 @@ install-exec: all
|
||||
rm -f $$temp; \
|
||||
fi; \
|
||||
fi; \
|
||||
$(mkinstalldirs) $(DESTDIR)$(localedir); \
|
||||
$(mkdir_p) $(DESTDIR)$(localedir); \
|
||||
test -f $(DESTDIR)$(localedir)/locale.alias \
|
||||
&& orig=$(DESTDIR)$(localedir)/locale.alias \
|
||||
|| orig=$(srcdir)/locale.alias; \
|
||||
@ -313,7 +364,7 @@ install-exec: all
|
||||
fi
|
||||
install-data: all
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
|
||||
$(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
|
||||
$(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
|
||||
$(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \
|
||||
dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \
|
||||
@ -341,24 +392,25 @@ install-strip: install
|
||||
installdirs:
|
||||
if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = yes; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
|
||||
$(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
if test "$(PACKAGE)" = "gettext-tools" \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = no; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir); \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = no \
|
||||
&& test @GLIBC2@ != no; then \
|
||||
$(mkdir_p) $(DESTDIR)$(libdir); \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
if test '@USE_INCLUDED_LIBINTL@' = yes; then \
|
||||
test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
|
||||
$(mkinstalldirs) $(DESTDIR)$(localedir); \
|
||||
test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \
|
||||
$(mkdir_p) $(DESTDIR)$(localedir); \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
|
||||
$(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
@ -376,7 +428,8 @@ uninstall:
|
||||
: ; \
|
||||
fi
|
||||
if test "$(PACKAGE)" = "gettext-tools" \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = no; then \
|
||||
&& test '@USE_INCLUDED_LIBINTL@' = no \
|
||||
&& test @GLIBC2@ != no; then \
|
||||
rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
|
||||
else \
|
||||
: ; \
|
||||
@ -419,14 +472,20 @@ info dvi ps pdf html:
|
||||
|
||||
$(OBJECTS): ../config.h libgnuintl.h
|
||||
bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
|
||||
dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h
|
||||
hash-string.$lo dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h
|
||||
explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h
|
||||
dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h
|
||||
dcigettext.$lo: $(srcdir)/eval-plural.h
|
||||
localcharset.$lo: $(srcdir)/localcharset.h
|
||||
bindtextdom.$lo dcigettext.$lo finddomain.$lo loadmsgcat.$lo localealias.$lo lock.$lo log.$lo: $(srcdir)/lock.h
|
||||
localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h
|
||||
printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h $(srcdir)/vasnprintf.c
|
||||
|
||||
# A bison-2.1 generated plural.c includes <libintl.h> if ENABLE_NLS.
|
||||
PLURAL_DEPS_yes = libintl.h
|
||||
PLURAL_DEPS_no =
|
||||
plural.$lo: $(PLURAL_DEPS_@USE_INCLUDED_LIBINTL@)
|
||||
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES)
|
||||
@ -478,7 +537,7 @@ dist distdir: Makefile
|
||||
$(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \
|
||||
for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \
|
||||
if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
|
||||
cp -p $$dir/$$file $(distdir); \
|
||||
cp -p $$dir/$$file $(distdir) || test $$file = Makefile.in || exit 1; \
|
||||
done; \
|
||||
fi
|
||||
|
||||
@ -486,7 +545,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status
|
||||
# This would be more efficient, but doesn't work any more with autoconf-2.57,
|
||||
# when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used.
|
||||
# cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
# cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
|
@ -1 +1 @@
|
||||
GNU gettext library from gettext-0.14.1
|
||||
GNU gettext library from gettext-0.15
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Implementation of the bindtextdomain(3) function
|
||||
Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@ -24,21 +24,21 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "gettextP.h"
|
||||
#ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# include "libgnuintl.h"
|
||||
#endif
|
||||
#include "gettextP.h"
|
||||
|
||||
/* Handle multi-threaded applications. */
|
||||
#ifdef _LIBC
|
||||
/* We have to handle multi-threaded applications. */
|
||||
# include <bits/libc-lock.h>
|
||||
# define gl_rwlock_define __libc_rwlock_define
|
||||
# define gl_rwlock_wrlock __libc_rwlock_wrlock
|
||||
# define gl_rwlock_unlock __libc_rwlock_unlock
|
||||
#else
|
||||
/* Provide dummy implementation if this is outside glibc. */
|
||||
# define __libc_rwlock_define(CLASS, NAME)
|
||||
# define __libc_rwlock_wrlock(NAME)
|
||||
# define __libc_rwlock_unlock(NAME)
|
||||
# include "lock.h"
|
||||
#endif
|
||||
|
||||
/* The internal variables in the standalone libintl.a must have different
|
||||
@ -59,16 +59,14 @@
|
||||
/* Contains the default location of the message catalogs. */
|
||||
extern const char _nl_default_dirname[];
|
||||
#ifdef _LIBC
|
||||
extern const char _nl_default_dirname_internal[] attribute_hidden;
|
||||
#else
|
||||
# define INTUSE(name) name
|
||||
libc_hidden_proto (_nl_default_dirname)
|
||||
#endif
|
||||
|
||||
/* List with bindings of specific domains. */
|
||||
extern struct binding *_nl_domain_bindings;
|
||||
|
||||
/* Lock variable to protect the global data in the gettext implementation. */
|
||||
__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)
|
||||
gl_rwlock_define (extern, _nl_state_lock attribute_hidden)
|
||||
|
||||
|
||||
/* Names for the libintl functions are a problem. They must not clash
|
||||
@ -109,7 +107,7 @@ set_binding_values (const char *domainname,
|
||||
return;
|
||||
}
|
||||
|
||||
__libc_rwlock_wrlock (_nl_state_lock);
|
||||
gl_rwlock_wrlock (_nl_state_lock);
|
||||
|
||||
modified = 0;
|
||||
|
||||
@ -144,8 +142,8 @@ set_binding_values (const char *domainname,
|
||||
char *result = binding->dirname;
|
||||
if (strcmp (dirname, result) != 0)
|
||||
{
|
||||
if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
|
||||
result = (char *) INTUSE(_nl_default_dirname);
|
||||
if (strcmp (dirname, _nl_default_dirname) == 0)
|
||||
result = (char *) _nl_default_dirname;
|
||||
else
|
||||
{
|
||||
#if defined _LIBC || defined HAVE_STRDUP
|
||||
@ -160,7 +158,7 @@ set_binding_values (const char *domainname,
|
||||
|
||||
if (__builtin_expect (result != NULL, 1))
|
||||
{
|
||||
if (binding->dirname != INTUSE(_nl_default_dirname))
|
||||
if (binding->dirname != _nl_default_dirname)
|
||||
free (binding->dirname);
|
||||
|
||||
binding->dirname = result;
|
||||
@ -201,7 +199,6 @@ set_binding_values (const char *domainname,
|
||||
free (binding->codeset);
|
||||
|
||||
binding->codeset = result;
|
||||
binding->codeset_cntr++;
|
||||
modified = 1;
|
||||
}
|
||||
}
|
||||
@ -214,7 +211,7 @@ set_binding_values (const char *domainname,
|
||||
{
|
||||
/* Simply return the default values. */
|
||||
if (dirnamep)
|
||||
*dirnamep = INTUSE(_nl_default_dirname);
|
||||
*dirnamep = _nl_default_dirname;
|
||||
if (codesetp)
|
||||
*codesetp = NULL;
|
||||
}
|
||||
@ -236,11 +233,11 @@ set_binding_values (const char *domainname,
|
||||
|
||||
if (dirname == NULL)
|
||||
/* The default value. */
|
||||
dirname = INTUSE(_nl_default_dirname);
|
||||
dirname = _nl_default_dirname;
|
||||
else
|
||||
{
|
||||
if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
|
||||
dirname = INTUSE(_nl_default_dirname);
|
||||
if (strcmp (dirname, _nl_default_dirname) == 0)
|
||||
dirname = _nl_default_dirname;
|
||||
else
|
||||
{
|
||||
char *result;
|
||||
@ -263,9 +260,7 @@ set_binding_values (const char *domainname,
|
||||
}
|
||||
else
|
||||
/* The default value. */
|
||||
new_binding->dirname = (char *) INTUSE(_nl_default_dirname);
|
||||
|
||||
new_binding->codeset_cntr = 0;
|
||||
new_binding->dirname = (char *) _nl_default_dirname;
|
||||
|
||||
if (codesetp)
|
||||
{
|
||||
@ -287,7 +282,6 @@ set_binding_values (const char *domainname,
|
||||
memcpy (result, codeset, len);
|
||||
#endif
|
||||
codeset = result;
|
||||
new_binding->codeset_cntr++;
|
||||
}
|
||||
*codesetp = codeset;
|
||||
new_binding->codeset = (char *) codeset;
|
||||
@ -319,7 +313,7 @@ set_binding_values (const char *domainname,
|
||||
if (0)
|
||||
{
|
||||
failed_codeset:
|
||||
if (new_binding->dirname != INTUSE(_nl_default_dirname))
|
||||
if (new_binding->dirname != _nl_default_dirname)
|
||||
free (new_binding->dirname);
|
||||
failed_dirname:
|
||||
free (new_binding);
|
||||
@ -335,7 +329,7 @@ set_binding_values (const char *domainname,
|
||||
if (modified)
|
||||
++_nl_msg_cat_cntr;
|
||||
|
||||
__libc_rwlock_unlock (_nl_state_lock);
|
||||
gl_rwlock_unlock (_nl_state_lock);
|
||||
}
|
||||
|
||||
/* Specify that the DOMAINNAME message catalog will be found
|
||||
|
@ -1,7 +1,7 @@
|
||||
#! /bin/sh
|
||||
# Output a system dependent table of character encoding aliases.
|
||||
#
|
||||
# Copyright (C) 2000-2004 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2000-2004, 2006 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Library General Public License as published
|
||||
@ -15,7 +15,7 @@
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
# USA.
|
||||
#
|
||||
# The table consists of lines of the form
|
||||
@ -31,21 +31,21 @@
|
||||
# The current list of GNU canonical charset names is as follows.
|
||||
#
|
||||
# name MIME? used by which systems
|
||||
# ASCII, ANSI_X3.4-1968 glibc solaris freebsd darwin
|
||||
# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd darwin
|
||||
# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd darwin
|
||||
# ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin
|
||||
# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd darwin
|
||||
# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd darwin
|
||||
# ISO-8859-3 Y glibc solaris
|
||||
# ISO-8859-4 Y osf solaris freebsd darwin
|
||||
# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd darwin
|
||||
# ISO-8859-4 Y osf solaris freebsd netbsd darwin
|
||||
# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd darwin
|
||||
# ISO-8859-6 Y glibc aix hpux solaris
|
||||
# ISO-8859-7 Y glibc aix hpux irix osf solaris
|
||||
# ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd darwin
|
||||
# ISO-8859-8 Y glibc aix hpux osf solaris
|
||||
# ISO-8859-9 Y glibc aix hpux irix osf solaris
|
||||
# ISO-8859-13 glibc
|
||||
# ISO-8859-9 Y glibc aix hpux irix osf solaris darwin
|
||||
# ISO-8859-13 glibc netbsd darwin
|
||||
# ISO-8859-14 glibc
|
||||
# ISO-8859-15 glibc aix osf solaris freebsd
|
||||
# KOI8-R Y glibc solaris freebsd darwin
|
||||
# KOI8-U Y glibc freebsd darwin
|
||||
# ISO-8859-15 glibc aix osf solaris freebsd darwin
|
||||
# KOI8-R Y glibc solaris freebsd netbsd darwin
|
||||
# KOI8-U Y glibc freebsd netbsd darwin
|
||||
# KOI8-T glibc
|
||||
# CP437 dos
|
||||
# CP775 dos
|
||||
@ -58,7 +58,7 @@
|
||||
# CP862 dos
|
||||
# CP864 dos
|
||||
# CP865 dos
|
||||
# CP866 freebsd darwin dos
|
||||
# CP866 freebsd netbsd darwin dos
|
||||
# CP869 dos
|
||||
# CP874 woe32 dos
|
||||
# CP922 aix
|
||||
@ -71,22 +71,22 @@
|
||||
# CP1125 dos
|
||||
# CP1129 aix
|
||||
# CP1250 woe32
|
||||
# CP1251 glibc solaris darwin woe32
|
||||
# CP1251 glibc solaris netbsd darwin woe32
|
||||
# CP1252 aix woe32
|
||||
# CP1253 woe32
|
||||
# CP1254 woe32
|
||||
# CP1255 glibc woe32
|
||||
# CP1256 woe32
|
||||
# CP1257 woe32
|
||||
# GB2312 Y glibc aix hpux irix solaris freebsd darwin
|
||||
# EUC-JP Y glibc aix hpux irix osf solaris freebsd darwin
|
||||
# EUC-KR Y glibc aix hpux irix osf solaris freebsd darwin
|
||||
# EUC-TW glibc aix hpux irix osf solaris
|
||||
# BIG5 Y glibc aix hpux osf solaris freebsd darwin
|
||||
# GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin
|
||||
# EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin
|
||||
# EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin
|
||||
# EUC-TW glibc aix hpux irix osf solaris netbsd
|
||||
# BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin
|
||||
# BIG5-HKSCS glibc solaris
|
||||
# GBK glibc aix osf solaris woe32 dos
|
||||
# GB18030 glibc solaris
|
||||
# SHIFT_JIS Y hpux osf solaris freebsd darwin
|
||||
# GB18030 glibc solaris netbsd
|
||||
# SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin
|
||||
# JOHAB glibc solaris woe32
|
||||
# TIS-620 glibc aix hpux osf solaris
|
||||
# VISCII Y glibc
|
||||
@ -100,7 +100,7 @@
|
||||
# HP-KANA8 hpux
|
||||
# DEC-KANJI osf
|
||||
# DEC-HANYU osf
|
||||
# UTF-8 Y glibc aix hpux osf solaris
|
||||
# UTF-8 Y glibc aix hpux osf solaris netbsd darwin
|
||||
#
|
||||
# Note: Names which are not marked as being a MIME name should not be used in
|
||||
# Internet protocols for information interchange (mail, news, etc.).
|
||||
@ -388,6 +388,8 @@ case "$os" in
|
||||
echo "ISO8859-2 ISO-8859-2"
|
||||
echo "ISO8859-4 ISO-8859-4"
|
||||
echo "ISO8859-5 ISO-8859-5"
|
||||
echo "ISO8859-7 ISO-8859-7"
|
||||
echo "ISO8859-13 ISO-8859-13"
|
||||
echo "ISO8859-15 ISO-8859-15"
|
||||
echo "eucCN GB2312"
|
||||
echo "eucJP EUC-JP"
|
||||
@ -396,7 +398,7 @@ case "$os" in
|
||||
echo "BIG5 BIG5"
|
||||
echo "SJIS SHIFT_JIS"
|
||||
;;
|
||||
darwin*)
|
||||
darwin[56]*)
|
||||
# Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore
|
||||
# localcharset.c falls back to using the full locale name
|
||||
# from the environment variables.
|
||||
@ -437,6 +439,36 @@ case "$os" in
|
||||
echo "ja_JP.SJIS SHIFT_JIS"
|
||||
echo "ko_KR.EUC EUC-KR"
|
||||
;;
|
||||
darwin*)
|
||||
# Darwin 7.5 has nl_langinfo(CODESET), but it is useless:
|
||||
# - It returns the empty string when LANG is set to a locale of the
|
||||
# form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8
|
||||
# LC_CTYPE file.
|
||||
# - The environment variables LANG, LC_CTYPE, LC_ALL are not set by
|
||||
# the system; nl_langinfo(CODESET) returns "US-ASCII" in this case.
|
||||
# - The documentation says:
|
||||
# "... all code that calls BSD system routines should ensure
|
||||
# that the const *char parameters of these routines are in UTF-8
|
||||
# encoding. All BSD system functions expect their string
|
||||
# parameters to be in UTF-8 encoding and nothing else."
|
||||
# It also says
|
||||
# "An additional caveat is that string parameters for files,
|
||||
# paths, and other file-system entities must be in canonical
|
||||
# UTF-8. In a canonical UTF-8 Unicode string, all decomposable
|
||||
# characters are decomposed ..."
|
||||
# but this is not true: You can pass non-decomposed UTF-8 strings
|
||||
# to file system functions, and it is the OS which will convert
|
||||
# them to decomposed UTF-8 before accessing the file system.
|
||||
# - The Apple Terminal application displays UTF-8 by default.
|
||||
# - However, other applications are free to use different encodings:
|
||||
# - xterm uses ISO-8859-1 by default.
|
||||
# - TextEdit uses MacRoman by default.
|
||||
# We prefer UTF-8 over decomposed UTF-8-MAC because one should
|
||||
# minimize the use of decomposed Unicode. Unfortunately, through the
|
||||
# Darwin file system, decomposed UTF-8 strings are leaked into user
|
||||
# space nevertheless.
|
||||
echo "* UTF-8"
|
||||
;;
|
||||
beos*)
|
||||
# BeOS has a single locale, and it has UTF-8 encoding.
|
||||
echo "* UTF-8"
|
||||
@ -450,7 +482,7 @@ case "$os" in
|
||||
echo "# If you find that the encoding given for your language and"
|
||||
echo "# country is not the one your DOS machine actually uses, just"
|
||||
echo "# correct it in this file, and send a mail to"
|
||||
echo "# Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>"
|
||||
echo "# Juan Manuel Guerrero <juan.guerrero@gmx.de>"
|
||||
echo "# and Bruno Haible <bruno@clisp.org>."
|
||||
echo "#"
|
||||
echo "C ASCII"
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef STATIC
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1995-1998, 2000-2001, 2003 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995-1998, 2000-2001, 2003, 2005 Free Software Foundation, Inc.
|
||||
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@ -37,11 +37,15 @@
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
|
||||
char *
|
||||
/* Split a locale name NAME into a leading language part and all the
|
||||
rest. Return a pointer to the first character after the language,
|
||||
i.e. to the first byte of the rest. */
|
||||
static char *_nl_find_language (const char *name);
|
||||
|
||||
static char *
|
||||
_nl_find_language (const char *name)
|
||||
{
|
||||
while (name[0] != '\0' && name[0] != '_' && name[0] != '@'
|
||||
&& name[0] != '+' && name[0] != ',')
|
||||
while (name[0] != '\0' && name[0] != '_' && name[0] != '@' && name[0] != '.')
|
||||
++name;
|
||||
|
||||
return (char *) name;
|
||||
@ -52,10 +56,8 @@ int
|
||||
_nl_explode_name (char *name,
|
||||
const char **language, const char **modifier,
|
||||
const char **territory, const char **codeset,
|
||||
const char **normalized_codeset, const char **special,
|
||||
const char **sponsor, const char **revision)
|
||||
const char **normalized_codeset)
|
||||
{
|
||||
enum { undecided, xpg, cen } syntax;
|
||||
char *cp;
|
||||
int mask;
|
||||
|
||||
@ -63,15 +65,10 @@ _nl_explode_name (char *name,
|
||||
*territory = NULL;
|
||||
*codeset = NULL;
|
||||
*normalized_codeset = NULL;
|
||||
*special = NULL;
|
||||
*sponsor = NULL;
|
||||
*revision = NULL;
|
||||
|
||||
/* Now we determine the single parts of the locale name. First
|
||||
look for the language. Termination symbols are `_' and `@' if
|
||||
we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */
|
||||
look for the language. Termination symbols are `_', '.', and `@'. */
|
||||
mask = 0;
|
||||
syntax = undecided;
|
||||
*language = cp = name;
|
||||
cp = _nl_find_language (*language);
|
||||
|
||||
@ -79,22 +76,23 @@ _nl_explode_name (char *name,
|
||||
/* This does not make sense: language has to be specified. Use
|
||||
this entry as it is without exploding. Perhaps it is an alias. */
|
||||
cp = strchr (*language, '\0');
|
||||
else if (cp[0] == '_')
|
||||
else
|
||||
{
|
||||
if (cp[0] == '_')
|
||||
{
|
||||
/* Next is the territory. */
|
||||
cp[0] = '\0';
|
||||
*territory = ++cp;
|
||||
|
||||
while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@'
|
||||
&& cp[0] != '+' && cp[0] != ',' && cp[0] != '_')
|
||||
while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@')
|
||||
++cp;
|
||||
|
||||
mask |= TERRITORY;
|
||||
mask |= XPG_TERRITORY;
|
||||
}
|
||||
|
||||
if (cp[0] == '.')
|
||||
{
|
||||
/* Next is the codeset. */
|
||||
syntax = xpg;
|
||||
cp[0] = '\0';
|
||||
*codeset = ++cp;
|
||||
|
||||
@ -115,71 +113,21 @@ _nl_explode_name (char *name,
|
||||
}
|
||||
}
|
||||
|
||||
if (cp[0] == '@' || (syntax != xpg && cp[0] == '+'))
|
||||
if (cp[0] == '@')
|
||||
{
|
||||
/* Next is the modifier. */
|
||||
syntax = cp[0] == '@' ? xpg : cen;
|
||||
cp[0] = '\0';
|
||||
*modifier = ++cp;
|
||||
|
||||
while (syntax == cen && cp[0] != '\0' && cp[0] != '+'
|
||||
&& cp[0] != ',' && cp[0] != '_')
|
||||
++cp;
|
||||
|
||||
mask |= XPG_MODIFIER | CEN_AUDIENCE;
|
||||
if (cp[0] != '\0')
|
||||
mask |= XPG_MODIFIER;
|
||||
}
|
||||
|
||||
if (syntax != xpg && (cp[0] == '+' || cp[0] == ',' || cp[0] == '_'))
|
||||
{
|
||||
syntax = cen;
|
||||
|
||||
if (cp[0] == '+')
|
||||
{
|
||||
/* Next is special application (CEN syntax). */
|
||||
cp[0] = '\0';
|
||||
*special = ++cp;
|
||||
|
||||
while (cp[0] != '\0' && cp[0] != ',' && cp[0] != '_')
|
||||
++cp;
|
||||
|
||||
mask |= CEN_SPECIAL;
|
||||
}
|
||||
|
||||
if (cp[0] == ',')
|
||||
{
|
||||
/* Next is sponsor (CEN syntax). */
|
||||
cp[0] = '\0';
|
||||
*sponsor = ++cp;
|
||||
|
||||
while (cp[0] != '\0' && cp[0] != '_')
|
||||
++cp;
|
||||
|
||||
mask |= CEN_SPONSOR;
|
||||
}
|
||||
|
||||
if (cp[0] == '_')
|
||||
{
|
||||
/* Next is revision (CEN syntax). */
|
||||
cp[0] = '\0';
|
||||
*revision = ++cp;
|
||||
|
||||
mask |= CEN_REVISION;
|
||||
}
|
||||
}
|
||||
|
||||
/* For CEN syntax values it might be important to have the
|
||||
separator character in the file name, not for XPG syntax. */
|
||||
if (syntax == xpg)
|
||||
{
|
||||
if (*territory != NULL && (*territory)[0] == '\0')
|
||||
mask &= ~TERRITORY;
|
||||
mask &= ~XPG_TERRITORY;
|
||||
|
||||
if (*codeset != NULL && (*codeset)[0] == '\0')
|
||||
mask &= ~XPG_CODESET;
|
||||
|
||||
if (*modifier != NULL && (*modifier)[0] == '\0')
|
||||
mask &= ~XPG_MODIFIER;
|
||||
}
|
||||
|
||||
return mask;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Handle list of needed message catalogs
|
||||
Copyright (C) 1995-1999, 2000-2001, 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-1999, 2000-2001, 2003-2006 Free Software Foundation, Inc.
|
||||
Written by Ulrich Drepper <drepper@gnu.org>, 1995.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@ -37,6 +37,17 @@
|
||||
# include "libgnuintl.h"
|
||||
#endif
|
||||
|
||||
/* Handle multi-threaded applications. */
|
||||
#ifdef _LIBC
|
||||
# include <bits/libc-lock.h>
|
||||
# define gl_rwlock_define_initialized __libc_rwlock_define_initialized
|
||||
# define gl_rwlock_rdlock __libc_rwlock_rdlock
|
||||
# define gl_rwlock_wrlock __libc_rwlock_wrlock
|
||||
# define gl_rwlock_unlock __libc_rwlock_unlock
|
||||
#else
|
||||
# include "lock.h"
|
||||
#endif
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
/* List of already loaded domains. */
|
||||
static struct loaded_l10nfile *_nl_loaded_domains;
|
||||
@ -56,44 +67,41 @@ _nl_find_domain (const char *dirname, char *locale,
|
||||
const char *territory;
|
||||
const char *codeset;
|
||||
const char *normalized_codeset;
|
||||
const char *special;
|
||||
const char *sponsor;
|
||||
const char *revision;
|
||||
const char *alias_value;
|
||||
int mask;
|
||||
|
||||
/* LOCALE can consist of up to four recognized parts for the XPG syntax:
|
||||
|
||||
language[_territory[.codeset]][@modifier]
|
||||
|
||||
and six parts for the CEN syntax:
|
||||
|
||||
language[_territory][+audience][+special][,[sponsor][_revision]]
|
||||
language[_territory][.codeset][@modifier]
|
||||
|
||||
Beside the first part all of them are allowed to be missing. If
|
||||
the full specified locale is not found, the less specific one are
|
||||
looked for. The various parts will be stripped off according to
|
||||
the following order:
|
||||
(1) revision
|
||||
(2) sponsor
|
||||
(3) special
|
||||
(4) codeset
|
||||
(5) normalized codeset
|
||||
(6) territory
|
||||
(7) audience/modifier
|
||||
(1) codeset
|
||||
(2) normalized codeset
|
||||
(3) territory
|
||||
(4) modifier
|
||||
*/
|
||||
|
||||
/* We need to protect modifying the _NL_LOADED_DOMAINS data. */
|
||||
gl_rwlock_define_initialized (static, lock);
|
||||
gl_rwlock_rdlock (lock);
|
||||
|
||||
/* If we have already tested for this locale entry there has to
|
||||
be one data set in the list of loaded domains. */
|
||||
retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
|
||||
strlen (dirname) + 1, 0, locale, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, domainname, 0);
|
||||
NULL, NULL, domainname, 0);
|
||||
|
||||
gl_rwlock_unlock (lock);
|
||||
|
||||
if (retval != NULL)
|
||||
{
|
||||
/* We know something about this locale. */
|
||||
int cnt;
|
||||
|
||||
if (retval->decided == 0)
|
||||
if (retval->decided <= 0)
|
||||
_nl_load_domain (retval, domainbinding);
|
||||
|
||||
if (retval->data != NULL)
|
||||
@ -101,13 +109,14 @@ _nl_find_domain (const char *dirname, char *locale,
|
||||
|
||||
for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
|
||||
{
|
||||
if (retval->successor[cnt]->decided == 0)
|
||||
if (retval->successor[cnt]->decided <= 0)
|
||||
_nl_load_domain (retval->successor[cnt], domainbinding);
|
||||
|
||||
if (retval->successor[cnt]->data != NULL)
|
||||
break;
|
||||
}
|
||||
return cnt >= 0 ? retval : NULL;
|
||||
|
||||
return retval;
|
||||
/* NOTREACHED */
|
||||
}
|
||||
|
||||
@ -132,30 +141,34 @@ _nl_find_domain (const char *dirname, char *locale,
|
||||
}
|
||||
|
||||
/* Now we determine the single parts of the locale name. First
|
||||
look for the language. Termination symbols are `_' and `@' if
|
||||
we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */
|
||||
look for the language. Termination symbols are `_', '.', and `@'. */
|
||||
mask = _nl_explode_name (locale, &language, &modifier, &territory,
|
||||
&codeset, &normalized_codeset, &special,
|
||||
&sponsor, &revision);
|
||||
&codeset, &normalized_codeset);
|
||||
|
||||
/* We need to protect modifying the _NL_LOADED_DOMAINS data. */
|
||||
gl_rwlock_wrlock (lock);
|
||||
|
||||
/* Create all possible locale entries which might be interested in
|
||||
generalization. */
|
||||
retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
|
||||
strlen (dirname) + 1, mask, language, territory,
|
||||
codeset, normalized_codeset, modifier, special,
|
||||
sponsor, revision, domainname, 1);
|
||||
codeset, normalized_codeset, modifier,
|
||||
domainname, 1);
|
||||
|
||||
gl_rwlock_unlock (lock);
|
||||
|
||||
if (retval == NULL)
|
||||
/* This means we are out of core. */
|
||||
return NULL;
|
||||
|
||||
if (retval->decided == 0)
|
||||
if (retval->decided <= 0)
|
||||
_nl_load_domain (retval, domainbinding);
|
||||
if (retval->data == NULL)
|
||||
{
|
||||
int cnt;
|
||||
for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
|
||||
{
|
||||
if (retval->successor[cnt]->decided == 0)
|
||||
if (retval->successor[cnt]->decided <= 0)
|
||||
_nl_load_domain (retval->successor[cnt], domainbinding);
|
||||
if (retval->successor[cnt]->data != NULL)
|
||||
break;
|
||||
@ -175,7 +188,10 @@ _nl_find_domain (const char *dirname, char *locale,
|
||||
|
||||
|
||||
#ifdef _LIBC
|
||||
libc_freeres_fn (free_mem)
|
||||
/* This is called from iconv/gconv_db.c's free_mem, as locales must
|
||||
be freed before freeing gconv steps arrays. */
|
||||
void __libc_freeres_fn_section
|
||||
_nl_finddomain_subfreeres ()
|
||||
{
|
||||
struct loaded_l10nfile *runp = _nl_loaded_domains;
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
142
intl/gettextP.h
142
intl/gettextP.h
@ -1,5 +1,5 @@
|
||||
/* Header describing internals of libintl library.
|
||||
Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-1999, 2000-2005 Free Software Foundation, Inc.
|
||||
Written by Ulrich Drepper <drepper@cygnus.com>, 1995.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef _GETTEXTP_H
|
||||
@ -30,6 +30,52 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef _LIBC
|
||||
extern char *__gettext (const char *__msgid);
|
||||
extern char *__dgettext (const char *__domainname, const char *__msgid);
|
||||
extern char *__dcgettext (const char *__domainname, const char *__msgid,
|
||||
int __category);
|
||||
extern char *__ngettext (const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n);
|
||||
extern char *__dngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int n);
|
||||
extern char *__dcngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n, int __category);
|
||||
extern char *__dcigettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
int __plural, unsigned long int __n,
|
||||
int __category);
|
||||
extern char *__textdomain (const char *__domainname);
|
||||
extern char *__bindtextdomain (const char *__domainname,
|
||||
const char *__dirname);
|
||||
extern char *__bind_textdomain_codeset (const char *__domainname,
|
||||
const char *__codeset);
|
||||
extern void _nl_finddomain_subfreeres (void) attribute_hidden;
|
||||
extern void _nl_unload_domain (struct loaded_domain *__domain)
|
||||
internal_function attribute_hidden;
|
||||
#else
|
||||
/* Declare the exported libintl_* functions, in a way that allows us to
|
||||
call them under their real name. */
|
||||
# undef _INTL_REDIRECT_INLINE
|
||||
# undef _INTL_REDIRECT_MACROS
|
||||
# define _INTL_REDIRECT_MACROS
|
||||
# include "libgnuintl.h"
|
||||
# ifdef IN_LIBGLOCALE
|
||||
extern char *gl_dcigettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
int __plural, unsigned long int __n,
|
||||
int __category,
|
||||
const char *__localename, const char *__encoding);
|
||||
# else
|
||||
extern char *libintl_dcigettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
int __plural, unsigned long int __n,
|
||||
int __category);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include "loadinfo.h"
|
||||
|
||||
#include "gmo.h" /* Get nls_uint32. */
|
||||
@ -77,6 +123,26 @@ struct sysdep_string_desc
|
||||
const char *pointer;
|
||||
};
|
||||
|
||||
/* Cache of translated strings after charset conversion.
|
||||
Note: The strings are converted to the target encoding only on an as-needed
|
||||
basis. */
|
||||
struct converted_domain
|
||||
{
|
||||
/* The target encoding name. */
|
||||
const char *encoding;
|
||||
/* The descriptor for conversion from the message catalog's encoding to
|
||||
this target encoding. */
|
||||
#ifdef _LIBC
|
||||
__gconv_t conv;
|
||||
#else
|
||||
# if HAVE_ICONV
|
||||
iconv_t conv;
|
||||
# endif
|
||||
#endif
|
||||
/* The table of translated strings after charset conversion. */
|
||||
char **conv_tab;
|
||||
};
|
||||
|
||||
/* The representation of an opened message catalog. */
|
||||
struct loaded_domain
|
||||
{
|
||||
@ -112,15 +178,9 @@ struct loaded_domain
|
||||
/* 1 if the hash table uses a different endianness than this machine. */
|
||||
int must_swap_hash_tab;
|
||||
|
||||
int codeset_cntr;
|
||||
#ifdef _LIBC
|
||||
__gconv_t conv;
|
||||
#else
|
||||
# if HAVE_ICONV
|
||||
iconv_t conv;
|
||||
# endif
|
||||
#endif
|
||||
char **conv_tab;
|
||||
/* Cache of charset conversions of the translated strings. */
|
||||
struct converted_domain *conversions;
|
||||
size_t nconversions;
|
||||
|
||||
struct expression *plural;
|
||||
unsigned long int nplurals;
|
||||
@ -140,7 +200,6 @@ struct binding
|
||||
{
|
||||
struct binding *next;
|
||||
char *dirname;
|
||||
int codeset_cntr; /* Incremented each time codeset changes. */
|
||||
char *codeset;
|
||||
char domainname[ZERO];
|
||||
};
|
||||
@ -148,9 +207,17 @@ struct binding
|
||||
/* A counter which is incremented each time some previous translations
|
||||
become invalid.
|
||||
This variable is part of the external ABI of the GNU libintl. */
|
||||
extern int _nl_msg_cat_cntr;
|
||||
#ifdef IN_LIBGLOCALE
|
||||
# include <glocale/config.h>
|
||||
extern LIBGLOCALE_DLL_EXPORTED int _nl_msg_cat_cntr;
|
||||
#else
|
||||
extern LIBINTL_DLL_EXPORTED int _nl_msg_cat_cntr;
|
||||
#endif
|
||||
|
||||
#ifndef _LIBC
|
||||
const char *_nl_language_preferences_default (void);
|
||||
const char *_nl_locale_name_posix (int category, const char *categoryname);
|
||||
const char *_nl_locale_name_default (void);
|
||||
const char *_nl_locale_name (int category, const char *categoryname);
|
||||
#endif
|
||||
|
||||
@ -161,53 +228,18 @@ struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char *__locale,
|
||||
void _nl_load_domain (struct loaded_l10nfile *__domain,
|
||||
struct binding *__domainbinding)
|
||||
internal_function;
|
||||
void _nl_unload_domain (struct loaded_domain *__domain)
|
||||
internal_function;
|
||||
const char *_nl_init_domain_conv (struct loaded_l10nfile *__domain_file,
|
||||
struct loaded_domain *__domain,
|
||||
struct binding *__domainbinding)
|
||||
internal_function;
|
||||
void _nl_free_domain_conv (struct loaded_domain *__domain)
|
||||
internal_function;
|
||||
|
||||
#ifdef IN_LIBGLOCALE
|
||||
char *_nl_find_msg (struct loaded_l10nfile *domain_file,
|
||||
struct binding *domainbinding, const char *msgid,
|
||||
struct binding *domainbinding, const char *encoding,
|
||||
const char *msgid,
|
||||
size_t *lengthp)
|
||||
internal_function;
|
||||
|
||||
#ifdef _LIBC
|
||||
extern char *__gettext (const char *__msgid);
|
||||
extern char *__dgettext (const char *__domainname, const char *__msgid);
|
||||
extern char *__dcgettext (const char *__domainname, const char *__msgid,
|
||||
int __category);
|
||||
extern char *__ngettext (const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n);
|
||||
extern char *__dngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int n);
|
||||
extern char *__dcngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n, int __category);
|
||||
extern char *__dcigettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
int __plural, unsigned long int __n,
|
||||
int __category);
|
||||
extern char *__textdomain (const char *__domainname);
|
||||
extern char *__bindtextdomain (const char *__domainname,
|
||||
const char *__dirname);
|
||||
extern char *__bind_textdomain_codeset (const char *__domainname,
|
||||
const char *__codeset);
|
||||
#else
|
||||
/* Declare the exported libintl_* functions, in a way that allows us to
|
||||
call them under their real name. */
|
||||
# undef _INTL_REDIRECT_INLINE
|
||||
# undef _INTL_REDIRECT_MACROS
|
||||
# define _INTL_REDIRECT_MACROS
|
||||
# include "libgnuintl.h"
|
||||
extern char *libintl_dcigettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
int __plural, unsigned long int __n,
|
||||
int __category);
|
||||
char *_nl_find_msg (struct loaded_l10nfile *domain_file,
|
||||
struct binding *domainbinding, const char *msgid,
|
||||
int convert, size_t *lengthp)
|
||||
internal_function;
|
||||
#endif
|
||||
|
||||
/* @@ begin of epilog @@ */
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef _GETTEXT_H
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Description of GNU message catalog format: string hashing function.
|
||||
Copyright (C) 1995, 1997-1998, 2000-2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995, 1997-1998, 2000-2003, 2005 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
/* @@ end of prolog @@ */
|
||||
@ -22,27 +22,15 @@
|
||||
#define HASHWORDBITS 32
|
||||
|
||||
|
||||
#ifndef _LIBC
|
||||
# ifdef IN_LIBINTL
|
||||
# define __hash_string libintl_hash_string
|
||||
# else
|
||||
# define __hash_string hash_string
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Defines the so called `hashpjw' function by P.J. Weinberger
|
||||
[see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
|
||||
1986, 1987 Bell Telephone Laboratories, Inc.] */
|
||||
static inline unsigned long int
|
||||
hash_string (const char *str_param)
|
||||
{
|
||||
unsigned long int hval, g;
|
||||
const char *str = str_param;
|
||||
|
||||
/* Compute the hash value for the given string. */
|
||||
hval = 0;
|
||||
while (*str != '\0')
|
||||
{
|
||||
hval <<= 4;
|
||||
hval += (unsigned char) *str++;
|
||||
g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4));
|
||||
if (g != 0)
|
||||
{
|
||||
hval ^= g >> (HASHWORDBITS - 8);
|
||||
hval ^= g;
|
||||
}
|
||||
}
|
||||
return hval;
|
||||
}
|
||||
extern unsigned long int __hash_string (const char *str_param);
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* intl-compat.c - Stub functions to call gettext functions from GNU gettext
|
||||
Library.
|
||||
Copyright (C) 1995, 2000-2003 Software Foundation, Inc.
|
||||
Copyright (C) 1995, 2000-2003, 2005 Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@ -49,7 +49,9 @@
|
||||
/* When building a DLL, we must export some functions. Note that because
|
||||
the functions are only defined for binary backward compatibility, we
|
||||
don't need to use __declspec(dllimport) in any case. */
|
||||
#if defined _MSC_VER && BUILDING_DLL
|
||||
#if HAVE_VISIBILITY && BUILDING_DLL
|
||||
# define DLL_EXPORTED __attribute__((__visibility__("default")))
|
||||
#elif defined _MSC_VER && BUILDING_DLL
|
||||
# define DLL_EXPORTED __declspec(dllexport)
|
||||
#else
|
||||
# define DLL_EXPORTED
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc.
|
||||
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
/* Tell glibc's <string.h> to provide a prototype for stpcpy().
|
||||
@ -67,8 +67,8 @@ static char *stpcpy (char *dest, const char *src);
|
||||
IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not,
|
||||
it may be concatenated to a directory pathname.
|
||||
*/
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, OS/2, DOS */
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, Cygwin, OS/2, DOS */
|
||||
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
|
||||
# define HAS_DEVICE(P) \
|
||||
((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
|
||||
@ -82,7 +82,12 @@ static char *stpcpy (char *dest, const char *src);
|
||||
|
||||
/* Define function which are usually not available. */
|
||||
|
||||
#if !defined _LIBC && !defined HAVE___ARGZ_COUNT
|
||||
#ifdef _LIBC
|
||||
# define __argz_count(argz, len) INTUSE(__argz_count) (argz, len)
|
||||
#elif defined HAVE_ARGZ_COUNT
|
||||
# undef __argz_count
|
||||
# define __argz_count argz_count
|
||||
#else
|
||||
/* Returns the number of strings in ARGZ. */
|
||||
static size_t
|
||||
argz_count__ (const char *argz, size_t len)
|
||||
@ -99,13 +104,15 @@ argz_count__ (const char *argz, size_t len)
|
||||
}
|
||||
# undef __argz_count
|
||||
# define __argz_count(argz, len) argz_count__ (argz, len)
|
||||
#else
|
||||
# ifdef _LIBC
|
||||
# define __argz_count(argz, len) INTUSE(__argz_count) (argz, len)
|
||||
# endif
|
||||
#endif /* !_LIBC && !HAVE___ARGZ_COUNT */
|
||||
#endif /* !_LIBC && !HAVE_ARGZ_COUNT */
|
||||
|
||||
#if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY
|
||||
#ifdef _LIBC
|
||||
# define __argz_stringify(argz, len, sep) \
|
||||
INTUSE(__argz_stringify) (argz, len, sep)
|
||||
#elif defined HAVE_ARGZ_STRINGIFY
|
||||
# undef __argz_stringify
|
||||
# define __argz_stringify argz_stringify
|
||||
#else
|
||||
/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
|
||||
except the last into the character SEP. */
|
||||
static void
|
||||
@ -122,14 +129,13 @@ argz_stringify__ (char *argz, size_t len, int sep)
|
||||
}
|
||||
# undef __argz_stringify
|
||||
# define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep)
|
||||
#else
|
||||
# ifdef _LIBC
|
||||
# define __argz_stringify(argz, len, sep) \
|
||||
INTUSE(__argz_stringify) (argz, len, sep)
|
||||
# endif
|
||||
#endif /* !_LIBC && !HAVE___ARGZ_STRINGIFY */
|
||||
#endif /* !_LIBC && !HAVE_ARGZ_STRINGIFY */
|
||||
|
||||
#if !defined _LIBC && !defined HAVE___ARGZ_NEXT
|
||||
#ifdef _LIBC
|
||||
#elif defined HAVE_ARGZ_NEXT
|
||||
# undef __argz_next
|
||||
# define __argz_next argz_next
|
||||
#else
|
||||
static char *
|
||||
argz_next__ (char *argz, size_t argz_len, const char *entry)
|
||||
{
|
||||
@ -148,7 +154,7 @@ argz_next__ (char *argz, size_t argz_len, const char *entry)
|
||||
}
|
||||
# undef __argz_next
|
||||
# define __argz_next(argz, len, entry) argz_next__ (argz, len, entry)
|
||||
#endif /* !_LIBC && !HAVE___ARGZ_NEXT */
|
||||
#endif /* !_LIBC && !HAVE_ARGZ_NEXT */
|
||||
|
||||
|
||||
/* Return number of bits set in X. */
|
||||
@ -170,8 +176,7 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
|
||||
const char *dirlist, size_t dirlist_len,
|
||||
int mask, const char *language, const char *territory,
|
||||
const char *codeset, const char *normalized_codeset,
|
||||
const char *modifier, const char *special,
|
||||
const char *sponsor, const char *revision,
|
||||
const char *modifier,
|
||||
const char *filename, int do_allocate)
|
||||
{
|
||||
char *abs_filename;
|
||||
@ -190,23 +195,14 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
|
||||
/* Allocate room for the full file name. */
|
||||
abs_filename = (char *) malloc (dirlist_len
|
||||
+ strlen (language)
|
||||
+ ((mask & TERRITORY) != 0
|
||||
+ ((mask & XPG_TERRITORY) != 0
|
||||
? strlen (territory) + 1 : 0)
|
||||
+ ((mask & XPG_CODESET) != 0
|
||||
? strlen (codeset) + 1 : 0)
|
||||
+ ((mask & XPG_NORM_CODESET) != 0
|
||||
? strlen (normalized_codeset) + 1 : 0)
|
||||
+ (((mask & XPG_MODIFIER) != 0
|
||||
|| (mask & CEN_AUDIENCE) != 0)
|
||||
+ ((mask & XPG_MODIFIER) != 0
|
||||
? strlen (modifier) + 1 : 0)
|
||||
+ ((mask & CEN_SPECIAL) != 0
|
||||
? strlen (special) + 1 : 0)
|
||||
+ (((mask & CEN_SPONSOR) != 0
|
||||
|| (mask & CEN_REVISION) != 0)
|
||||
? (1 + ((mask & CEN_SPONSOR) != 0
|
||||
? strlen (sponsor) : 0)
|
||||
+ ((mask & CEN_REVISION) != 0
|
||||
? strlen (revision) + 1 : 0)) : 0)
|
||||
+ 1 + strlen (filename) + 1);
|
||||
|
||||
if (abs_filename == NULL)
|
||||
@ -224,7 +220,7 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
|
||||
|
||||
cp = stpcpy (cp, language);
|
||||
|
||||
if ((mask & TERRITORY) != 0)
|
||||
if ((mask & XPG_TERRITORY) != 0)
|
||||
{
|
||||
*cp++ = '_';
|
||||
cp = stpcpy (cp, territory);
|
||||
@ -239,29 +235,11 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
|
||||
*cp++ = '.';
|
||||
cp = stpcpy (cp, normalized_codeset);
|
||||
}
|
||||
if ((mask & (XPG_MODIFIER | CEN_AUDIENCE)) != 0)
|
||||
if ((mask & XPG_MODIFIER) != 0)
|
||||
{
|
||||
/* This component can be part of both syntaces but has different
|
||||
leading characters. For CEN we use `+', else `@'. */
|
||||
*cp++ = (mask & CEN_AUDIENCE) != 0 ? '+' : '@';
|
||||
*cp++ = '@';
|
||||
cp = stpcpy (cp, modifier);
|
||||
}
|
||||
if ((mask & CEN_SPECIAL) != 0)
|
||||
{
|
||||
*cp++ = '+';
|
||||
cp = stpcpy (cp, special);
|
||||
}
|
||||
if ((mask & (CEN_SPONSOR | CEN_REVISION)) != 0)
|
||||
{
|
||||
*cp++ = ',';
|
||||
if ((mask & CEN_SPONSOR) != 0)
|
||||
cp = stpcpy (cp, sponsor);
|
||||
if ((mask & CEN_REVISION) != 0)
|
||||
{
|
||||
*cp++ = '_';
|
||||
cp = stpcpy (cp, revision);
|
||||
}
|
||||
}
|
||||
|
||||
*cp++ = '/';
|
||||
stpcpy (cp, filename);
|
||||
@ -301,7 +279,10 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
|
||||
+ (((dirlist_count << pop (mask)) + (dirlist_count > 1 ? 1 : 0))
|
||||
* sizeof (struct loaded_l10nfile *)));
|
||||
if (retval == NULL)
|
||||
{
|
||||
free (abs_filename);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
retval->filename = abs_filename;
|
||||
|
||||
@ -332,8 +313,7 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
|
||||
normalized_codeset. */
|
||||
for (cnt = dirlist_count > 1 ? mask : mask - 1; cnt >= 0; --cnt)
|
||||
if ((cnt & ~mask) == 0
|
||||
&& ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0)
|
||||
&& ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0))
|
||||
&& !((cnt & XPG_CODESET) != 0 && (cnt & XPG_NORM_CODESET) != 0))
|
||||
{
|
||||
if (dirlist_count > 1)
|
||||
{
|
||||
@ -345,15 +325,14 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
|
||||
retval->successor[entries++]
|
||||
= _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1,
|
||||
cnt, language, territory, codeset,
|
||||
normalized_codeset, modifier, special,
|
||||
sponsor, revision, filename, 1);
|
||||
normalized_codeset, modifier, filename,
|
||||
1);
|
||||
}
|
||||
else
|
||||
retval->successor[entries++]
|
||||
= _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len,
|
||||
cnt, language, territory, codeset,
|
||||
normalized_codeset, modifier, special,
|
||||
sponsor, revision, filename, 1);
|
||||
normalized_codeset, modifier, filename, 1);
|
||||
}
|
||||
retval->successor[entries] = NULL;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Message catalogs for internationalization.
|
||||
Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-1997, 2000-2006 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef _LIBINTL_H
|
||||
@ -39,7 +39,7 @@
|
||||
/* Provide information about the supported file formats. Returns the
|
||||
maximum minor revision number supported for a given major revision. */
|
||||
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \
|
||||
((major) == 0 ? 1 : -1)
|
||||
((major) == 0 || (major) == 1 ? 1 : -1)
|
||||
|
||||
/* Resolve a platform specific conflict on DJGPP. GNU gettext takes
|
||||
precedence over _conio_gettext. */
|
||||
@ -52,6 +52,11 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number: (major<<16) + (minor<<8) + subminor */
|
||||
#define LIBINTL_VERSION 0x000F00
|
||||
extern int libintl_version;
|
||||
|
||||
|
||||
/* We redirect the functions to those prefixed with "libintl_". This is
|
||||
necessary, because some systems define gettext/textdomain/... in the C
|
||||
library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer).
|
||||
@ -83,7 +88,7 @@ extern "C" {
|
||||
If he doesn't, we choose the method. A third possible method is
|
||||
_INTL_REDIRECT_ASM, supported only by GCC. */
|
||||
#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
|
||||
# if __GNUC__ >= 2 && !defined __APPLE_CC__ && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)
|
||||
# if __GNUC__ >= 2 && !(__APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)
|
||||
# define _INTL_REDIRECT_ASM
|
||||
# else
|
||||
# ifdef __cplusplus
|
||||
@ -102,11 +107,21 @@ extern "C" {
|
||||
# define _INTL_ASM(cname)
|
||||
#endif
|
||||
|
||||
/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return
|
||||
its n-th argument literally. This enables GCC to warn for example about
|
||||
printf (gettext ("foo %y")). */
|
||||
#if __GNUC__ >= 3 && !(__APPLE_CC__ > 1 && defined __cplusplus)
|
||||
# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n)))
|
||||
#else
|
||||
# define _INTL_MAY_RETURN_STRING_ARG(n)
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the current default message catalog for the current
|
||||
LC_MESSAGES locale. If not found, returns MSGID itself (the default
|
||||
text). */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_gettext (const char *__msgid);
|
||||
extern char *libintl_gettext (const char *__msgid)
|
||||
_INTL_MAY_RETURN_STRING_ARG (1);
|
||||
static inline char *gettext (const char *__msgid)
|
||||
{
|
||||
return libintl_gettext (__msgid);
|
||||
@ -116,13 +131,15 @@ static inline char *gettext (const char *__msgid)
|
||||
# define gettext libintl_gettext
|
||||
#endif
|
||||
extern char *gettext (const char *__msgid)
|
||||
_INTL_ASM (libintl_gettext);
|
||||
_INTL_ASM (libintl_gettext)
|
||||
_INTL_MAY_RETURN_STRING_ARG (1);
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the DOMAINNAME message catalog for the current
|
||||
LC_MESSAGES locale. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_dgettext (const char *__domainname, const char *__msgid);
|
||||
extern char *libintl_dgettext (const char *__domainname, const char *__msgid)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2);
|
||||
static inline char *dgettext (const char *__domainname, const char *__msgid)
|
||||
{
|
||||
return libintl_dgettext (__domainname, __msgid);
|
||||
@ -132,14 +149,16 @@ static inline char *dgettext (const char *__domainname, const char *__msgid)
|
||||
# define dgettext libintl_dgettext
|
||||
#endif
|
||||
extern char *dgettext (const char *__domainname, const char *__msgid)
|
||||
_INTL_ASM (libintl_dgettext);
|
||||
_INTL_ASM (libintl_dgettext)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2);
|
||||
#endif
|
||||
|
||||
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
|
||||
locale. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_dcgettext (const char *__domainname, const char *__msgid,
|
||||
int __category);
|
||||
int __category)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2);
|
||||
static inline char *dcgettext (const char *__domainname, const char *__msgid,
|
||||
int __category)
|
||||
{
|
||||
@ -151,7 +170,8 @@ static inline char *dcgettext (const char *__domainname, const char *__msgid,
|
||||
#endif
|
||||
extern char *dcgettext (const char *__domainname, const char *__msgid,
|
||||
int __category)
|
||||
_INTL_ASM (libintl_dcgettext);
|
||||
_INTL_ASM (libintl_dcgettext)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2);
|
||||
#endif
|
||||
|
||||
|
||||
@ -159,7 +179,8 @@ extern char *dcgettext (const char *__domainname, const char *__msgid,
|
||||
number N. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n);
|
||||
unsigned long int __n)
|
||||
_INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2);
|
||||
static inline char *ngettext (const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n)
|
||||
{
|
||||
@ -171,14 +192,16 @@ static inline char *ngettext (const char *__msgid1, const char *__msgid2,
|
||||
#endif
|
||||
extern char *ngettext (const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n)
|
||||
_INTL_ASM (libintl_ngettext);
|
||||
_INTL_ASM (libintl_ngettext)
|
||||
_INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2);
|
||||
#endif
|
||||
|
||||
/* Similar to `dgettext' but select the plural form corresponding to the
|
||||
number N. */
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_dngettext (const char *__domainname, const char *__msgid1,
|
||||
const char *__msgid2, unsigned long int __n);
|
||||
const char *__msgid2, unsigned long int __n)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
|
||||
static inline char *dngettext (const char *__domainname, const char *__msgid1,
|
||||
const char *__msgid2, unsigned long int __n)
|
||||
{
|
||||
@ -191,7 +214,8 @@ static inline char *dngettext (const char *__domainname, const char *__msgid1,
|
||||
extern char *dngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n)
|
||||
_INTL_ASM (libintl_dngettext);
|
||||
_INTL_ASM (libintl_dngettext)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
|
||||
#endif
|
||||
|
||||
/* Similar to `dcgettext' but select the plural form corresponding to the
|
||||
@ -199,7 +223,8 @@ extern char *dngettext (const char *__domainname,
|
||||
#ifdef _INTL_REDIRECT_INLINE
|
||||
extern char *libintl_dcngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n, int __category);
|
||||
unsigned long int __n, int __category)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
|
||||
static inline char *dcngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n, int __category)
|
||||
@ -213,10 +238,13 @@ static inline char *dcngettext (const char *__domainname,
|
||||
extern char *dcngettext (const char *__domainname,
|
||||
const char *__msgid1, const char *__msgid2,
|
||||
unsigned long int __n, int __category)
|
||||
_INTL_ASM (libintl_dcngettext);
|
||||
_INTL_ASM (libintl_dcngettext)
|
||||
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef IN_LIBGLOCALE
|
||||
|
||||
/* Set the current default message catalog to DOMAINNAME.
|
||||
If DOMAINNAME is null, return the current default.
|
||||
If DOMAINNAME is "", reset to the default of "messages". */
|
||||
@ -271,6 +299,8 @@ extern char *bind_textdomain_codeset (const char *__domainname,
|
||||
_INTL_ASM (libintl_bind_textdomain_codeset);
|
||||
#endif
|
||||
|
||||
#endif /* IN_LIBGLOCALE */
|
||||
|
||||
|
||||
/* Support for format strings with positions in *printf(), following the
|
||||
POSIX/XSI specification.
|
||||
@ -300,6 +330,12 @@ extern int fprintf (FILE *, const char *, ...);
|
||||
extern int vfprintf (FILE *, const char *, va_list);
|
||||
|
||||
#undef printf
|
||||
#if defined __NetBSD__ || defined __CYGWIN__ || defined __MINGW32__
|
||||
/* Don't break __attribute__((format(printf,M,N))).
|
||||
This redefinition is only possible because the libc in NetBSD, Cygwin,
|
||||
mingw does not have a function __printf__. */
|
||||
# define libintl_printf __printf__
|
||||
#endif
|
||||
#define printf libintl_printf
|
||||
extern int printf (const char *, ...);
|
||||
#undef vprintf
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996-1999, 2000-2003 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996-1999, 2000-2003, 2005-2006 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef _LOADINFO_H
|
||||
@ -36,6 +36,10 @@
|
||||
# define internal_function
|
||||
#endif
|
||||
|
||||
#ifndef LIBINTL_DLL_EXPORTED
|
||||
# define LIBINTL_DLL_EXPORTED
|
||||
#endif
|
||||
|
||||
/* Tell the compiler when a conditional or integer expression is
|
||||
almost always true or almost always false. */
|
||||
#ifndef HAVE_BUILTIN_EXPECT
|
||||
@ -43,7 +47,7 @@
|
||||
#endif
|
||||
|
||||
/* Separator in PATH like lists of pathnames. */
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
|
||||
#if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, OS/2, DOS */
|
||||
# define PATH_SEPARATOR ';'
|
||||
#else
|
||||
@ -52,17 +56,10 @@
|
||||
#endif
|
||||
|
||||
/* Encoding of locale name parts. */
|
||||
#define CEN_REVISION 1
|
||||
#define CEN_SPONSOR 2
|
||||
#define CEN_SPECIAL 4
|
||||
#define XPG_NORM_CODESET 8
|
||||
#define XPG_CODESET 16
|
||||
#define TERRITORY 32
|
||||
#define CEN_AUDIENCE 64
|
||||
#define XPG_MODIFIER 128
|
||||
|
||||
#define CEN_SPECIFIC (CEN_REVISION|CEN_SPONSOR|CEN_SPECIAL|CEN_AUDIENCE)
|
||||
#define XPG_SPECIFIC (XPG_CODESET|XPG_NORM_CODESET|XPG_MODIFIER)
|
||||
#define XPG_NORM_CODESET 1
|
||||
#define XPG_CODESET 2
|
||||
#define XPG_TERRITORY 4
|
||||
#define XPG_MODIFIER 8
|
||||
|
||||
|
||||
struct loaded_l10nfile
|
||||
@ -89,9 +86,9 @@ extern const char *_nl_normalize_codeset (const char *codeset,
|
||||
files of the same kind, sorted in decreasing order of ->filename.
|
||||
DIRLIST and DIRLIST_LEN are an argz list of directories in which to
|
||||
look, containing at least one directory (i.e. DIRLIST_LEN > 0).
|
||||
MASK, LANGUAGE, TERRITORY, CODESET, NORMALIZED_CODESET, MODIFIER,
|
||||
SPECIAL, SPONSOR, REVISION are the pieces of the locale name, as
|
||||
produced by _nl_explode_name(). FILENAME is the filename suffix.
|
||||
MASK, LANGUAGE, TERRITORY, CODESET, NORMALIZED_CODESET, MODIFIER
|
||||
are the pieces of the locale name, as produced by _nl_explode_name().
|
||||
FILENAME is the filename suffix.
|
||||
The return value is the lookup result, either found in *L10NFILE_LIST,
|
||||
or - if DO_ALLOCATE is nonzero - freshly allocated, or possibly NULL.
|
||||
If the return value is non-NULL, it is added to *L10NFILE_LIST, and
|
||||
@ -103,43 +100,33 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
|
||||
const char *dirlist, size_t dirlist_len, int mask,
|
||||
const char *language, const char *territory,
|
||||
const char *codeset, const char *normalized_codeset,
|
||||
const char *modifier, const char *special,
|
||||
const char *sponsor, const char *revision,
|
||||
const char *modifier,
|
||||
const char *filename, int do_allocate);
|
||||
|
||||
/* Lookup the real locale name for a locale alias NAME, or NULL if
|
||||
NAME is not a locale alias (but possibly a real locale name).
|
||||
The return value is statically allocated and must not be freed. */
|
||||
extern const char *_nl_expand_alias (const char *name);
|
||||
/* Part of the libintl ABI only for the sake of the gettext.m4 macro. */
|
||||
extern LIBINTL_DLL_EXPORTED const char *_nl_expand_alias (const char *name);
|
||||
|
||||
/* Split a locale name NAME into its pieces: language, modifier,
|
||||
territory, codeset, special, sponsor, revision.
|
||||
territory, codeset.
|
||||
NAME gets destructively modified: NUL bytes are inserted here and
|
||||
there. *LANGUAGE gets assigned NAME. Each of *MODIFIER, *TERRITORY,
|
||||
*CODESET, *SPECIAL, *SPONSOR, *REVISION gets assigned either a
|
||||
pointer into the old NAME string, or NULL. *NORMALIZED_CODESET
|
||||
gets assigned the expanded *CODESET, if it is different from *CODESET;
|
||||
this one is dynamically allocated and has to be freed by the caller.
|
||||
*CODESET gets assigned either a pointer into the old NAME string, or
|
||||
NULL. *NORMALIZED_CODESET gets assigned the expanded *CODESET, if it
|
||||
is different from *CODESET; this one is dynamically allocated and has
|
||||
to be freed by the caller.
|
||||
The return value is a bitmask, where each bit corresponds to one
|
||||
filled-in value:
|
||||
XPG_MODIFIER, CEN_AUDIENCE for *MODIFIER,
|
||||
TERRITORY for *TERRITORY,
|
||||
XPG_MODIFIER for *MODIFIER,
|
||||
XPG_TERRITORY for *TERRITORY,
|
||||
XPG_CODESET for *CODESET,
|
||||
XPG_NORM_CODESET for *NORMALIZED_CODESET,
|
||||
CEN_SPECIAL for *SPECIAL,
|
||||
CEN_SPONSOR for *SPONSOR,
|
||||
CEN_REVISION for *REVISION.
|
||||
XPG_NORM_CODESET for *NORMALIZED_CODESET.
|
||||
*/
|
||||
extern int _nl_explode_name (char *name, const char **language,
|
||||
const char **modifier, const char **territory,
|
||||
const char **codeset,
|
||||
const char **normalized_codeset,
|
||||
const char **special, const char **sponsor,
|
||||
const char **revision);
|
||||
|
||||
/* Split a locale name NAME into a leading language part and all the
|
||||
rest. Return a pointer to the first character after the language,
|
||||
i.e. to the first byte of the rest. */
|
||||
extern char *_nl_find_language (const char *name);
|
||||
const char **normalized_codeset);
|
||||
|
||||
#endif /* loadinfo.h */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Load needed message catalogs.
|
||||
Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-1999, 2000-2005 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
/* Tell glibc's <string.h> to provide a prototype for mempcpy().
|
||||
@ -91,6 +91,14 @@ char *alloca ();
|
||||
|
||||
#ifdef _LIBC
|
||||
# include "../locale/localeinfo.h"
|
||||
# include <not-cancel.h>
|
||||
#endif
|
||||
|
||||
/* Handle multi-threaded applications. */
|
||||
#ifdef _LIBC
|
||||
# include <bits/libc-lock.h>
|
||||
#else
|
||||
# include "lock.h"
|
||||
#endif
|
||||
|
||||
/* Provide fallback values for macros that ought to be defined in <inttypes.h>.
|
||||
@ -457,11 +465,12 @@ char *alloca ();
|
||||
/* Rename the non ISO C functions. This is required by the standard
|
||||
because some ISO C functions will require linking with this object
|
||||
file and the name space must not be polluted. */
|
||||
# define open __open
|
||||
# define close __close
|
||||
# define read __read
|
||||
# define mmap __mmap
|
||||
# define munmap __munmap
|
||||
# define open(name, flags) open_not_cancel_2 (name, flags)
|
||||
# define close(fd) close_not_cancel_no_status (fd)
|
||||
# define read(fd, buf, n) read_not_cancel (fd, buf, n)
|
||||
# define mmap(addr, len, prot, flags, fd, offset) \
|
||||
__mmap (addr, len, prot, flags, fd, offset)
|
||||
# define munmap(addr, len) __munmap (addr, len)
|
||||
#endif
|
||||
|
||||
/* For those losing systems which don't have `alloca' we have to add
|
||||
@ -764,144 +773,6 @@ get_sysdep_segment_value (const char *name)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Initialize the codeset dependent parts of an opened message catalog.
|
||||
Return the header entry. */
|
||||
const char *
|
||||
internal_function
|
||||
_nl_init_domain_conv (struct loaded_l10nfile *domain_file,
|
||||
struct loaded_domain *domain,
|
||||
struct binding *domainbinding)
|
||||
{
|
||||
/* Find out about the character set the file is encoded with.
|
||||
This can be found (in textual form) in the entry "". If this
|
||||
entry does not exist or if this does not contain the `charset='
|
||||
information, we will assume the charset matches the one the
|
||||
current locale and we don't have to perform any conversion. */
|
||||
char *nullentry;
|
||||
size_t nullentrylen;
|
||||
|
||||
/* Preinitialize fields, to avoid recursion during _nl_find_msg. */
|
||||
domain->codeset_cntr =
|
||||
(domainbinding != NULL ? domainbinding->codeset_cntr : 0);
|
||||
#ifdef _LIBC
|
||||
domain->conv = (__gconv_t) -1;
|
||||
#else
|
||||
# if HAVE_ICONV
|
||||
domain->conv = (iconv_t) -1;
|
||||
# endif
|
||||
#endif
|
||||
domain->conv_tab = NULL;
|
||||
|
||||
/* Get the header entry. */
|
||||
nullentry = _nl_find_msg (domain_file, domainbinding, "", &nullentrylen);
|
||||
|
||||
if (nullentry != NULL)
|
||||
{
|
||||
#if defined _LIBC || HAVE_ICONV
|
||||
const char *charsetstr;
|
||||
|
||||
charsetstr = strstr (nullentry, "charset=");
|
||||
if (charsetstr != NULL)
|
||||
{
|
||||
size_t len;
|
||||
char *charset;
|
||||
const char *outcharset;
|
||||
|
||||
charsetstr += strlen ("charset=");
|
||||
len = strcspn (charsetstr, " \t\n");
|
||||
|
||||
charset = (char *) alloca (len + 1);
|
||||
# if defined _LIBC || HAVE_MEMPCPY
|
||||
*((char *) mempcpy (charset, charsetstr, len)) = '\0';
|
||||
# else
|
||||
memcpy (charset, charsetstr, len);
|
||||
charset[len] = '\0';
|
||||
# endif
|
||||
|
||||
/* The output charset should normally be determined by the
|
||||
locale. But sometimes the locale is not used or not correctly
|
||||
set up, so we provide a possibility for the user to override
|
||||
this. Moreover, the value specified through
|
||||
bind_textdomain_codeset overrides both. */
|
||||
if (domainbinding != NULL && domainbinding->codeset != NULL)
|
||||
outcharset = domainbinding->codeset;
|
||||
else
|
||||
{
|
||||
outcharset = getenv ("OUTPUT_CHARSET");
|
||||
if (outcharset == NULL || outcharset[0] == '\0')
|
||||
{
|
||||
# ifdef _LIBC
|
||||
outcharset = _NL_CURRENT (LC_CTYPE, CODESET);
|
||||
# else
|
||||
# if HAVE_ICONV
|
||||
extern const char *locale_charset (void);
|
||||
outcharset = locale_charset ();
|
||||
# endif
|
||||
# endif
|
||||
}
|
||||
}
|
||||
|
||||
# ifdef _LIBC
|
||||
/* We always want to use transliteration. */
|
||||
outcharset = norm_add_slashes (outcharset, "TRANSLIT");
|
||||
charset = norm_add_slashes (charset, NULL);
|
||||
if (__gconv_open (outcharset, charset, &domain->conv,
|
||||
GCONV_AVOID_NOCONV)
|
||||
!= __GCONV_OK)
|
||||
domain->conv = (__gconv_t) -1;
|
||||
# else
|
||||
# if HAVE_ICONV
|
||||
/* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,
|
||||
we want to use transliteration. */
|
||||
# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \
|
||||
|| _LIBICONV_VERSION >= 0x0105
|
||||
if (strchr (outcharset, '/') == NULL)
|
||||
{
|
||||
char *tmp;
|
||||
|
||||
len = strlen (outcharset);
|
||||
tmp = (char *) alloca (len + 10 + 1);
|
||||
memcpy (tmp, outcharset, len);
|
||||
memcpy (tmp + len, "//TRANSLIT", 10 + 1);
|
||||
outcharset = tmp;
|
||||
|
||||
domain->conv = iconv_open (outcharset, charset);
|
||||
|
||||
freea (outcharset);
|
||||
}
|
||||
else
|
||||
# endif
|
||||
domain->conv = iconv_open (outcharset, charset);
|
||||
# endif
|
||||
# endif
|
||||
|
||||
freea (charset);
|
||||
}
|
||||
#endif /* _LIBC || HAVE_ICONV */
|
||||
}
|
||||
|
||||
return nullentry;
|
||||
}
|
||||
|
||||
/* Frees the codeset dependent parts of an opened message catalog. */
|
||||
void
|
||||
internal_function
|
||||
_nl_free_domain_conv (struct loaded_domain *domain)
|
||||
{
|
||||
if (domain->conv_tab != NULL && domain->conv_tab != (char **) -1)
|
||||
free (domain->conv_tab);
|
||||
|
||||
#ifdef _LIBC
|
||||
if (domain->conv != (__gconv_t) -1)
|
||||
__gconv_close (domain->conv);
|
||||
#else
|
||||
# if HAVE_ICONV
|
||||
if (domain->conv != (iconv_t) -1)
|
||||
iconv_close (domain->conv);
|
||||
# endif
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Load the message catalogs specified by FILENAME. If it is no valid
|
||||
message catalog do nothing. */
|
||||
void
|
||||
@ -909,7 +780,8 @@ internal_function
|
||||
_nl_load_domain (struct loaded_l10nfile *domain_file,
|
||||
struct binding *domainbinding)
|
||||
{
|
||||
int fd;
|
||||
__libc_lock_define_initialized_recursive (static, lock)
|
||||
int fd = -1;
|
||||
size_t size;
|
||||
#ifdef _LIBC
|
||||
struct stat64 st;
|
||||
@ -921,8 +793,24 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
|
||||
struct loaded_domain *domain;
|
||||
int revision;
|
||||
const char *nullentry;
|
||||
size_t nullentrylen;
|
||||
|
||||
domain_file->decided = 1;
|
||||
__libc_lock_lock_recursive (lock);
|
||||
if (domain_file->decided != 0)
|
||||
{
|
||||
/* There are two possibilities:
|
||||
|
||||
+ this is the same thread calling again during this initialization
|
||||
via _nl_find_msg. We have initialized everything this call needs.
|
||||
|
||||
+ this is another thread which tried to initialize this object.
|
||||
Not necessary anymore since if the lock is available this
|
||||
is finished.
|
||||
*/
|
||||
goto done;
|
||||
}
|
||||
|
||||
domain_file->decided = -1;
|
||||
domain_file->data = NULL;
|
||||
|
||||
/* Note that it would be useless to store domainbinding in domain_file
|
||||
@ -934,12 +822,12 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
|
||||
specification the locale file name is different for XPG and CEN
|
||||
syntax. */
|
||||
if (domain_file->filename == NULL)
|
||||
return;
|
||||
goto out;
|
||||
|
||||
/* Try to open the addressed file. */
|
||||
fd = open (domain_file->filename, O_RDONLY | O_BINARY);
|
||||
if (fd == -1)
|
||||
return;
|
||||
goto out;
|
||||
|
||||
/* We must know about the size of the file. */
|
||||
if (
|
||||
@ -950,11 +838,8 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
|
||||
#endif
|
||||
|| __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0)
|
||||
|| __builtin_expect (size < sizeof (struct mo_file_header), 0))
|
||||
{
|
||||
/* Something went wrong. */
|
||||
close (fd);
|
||||
return;
|
||||
}
|
||||
goto out;
|
||||
|
||||
#ifdef HAVE_MMAP
|
||||
/* Now we are ready to load the file. If mmap() is available we try
|
||||
@ -966,6 +851,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
|
||||
{
|
||||
/* mmap() call was successful. */
|
||||
close (fd);
|
||||
fd = -1;
|
||||
use_mmap = 1;
|
||||
}
|
||||
#endif
|
||||
@ -979,7 +865,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
|
||||
|
||||
data = (struct mo_file_header *) malloc (size);
|
||||
if (data == NULL)
|
||||
return;
|
||||
goto out;
|
||||
|
||||
to_read = size;
|
||||
read_ptr = (char *) data;
|
||||
@ -992,8 +878,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
|
||||
if (nb == -1 && errno == EINTR)
|
||||
continue;
|
||||
#endif
|
||||
close (fd);
|
||||
return;
|
||||
goto out;
|
||||
}
|
||||
read_ptr += nb;
|
||||
to_read -= nb;
|
||||
@ -1001,6 +886,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
|
||||
while (to_read > 0);
|
||||
|
||||
close (fd);
|
||||
fd = -1;
|
||||
}
|
||||
|
||||
/* Using the magic number we can test whether it really is a message
|
||||
@ -1015,12 +901,12 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
|
||||
else
|
||||
#endif
|
||||
free (data);
|
||||
return;
|
||||
goto out;
|
||||
}
|
||||
|
||||
domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));
|
||||
if (domain == NULL)
|
||||
return;
|
||||
goto out;
|
||||
domain_file->data = domain;
|
||||
|
||||
domain->data = (char *) data;
|
||||
@ -1321,7 +1207,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
|
||||
for (i = 0; i < n_inmem_sysdep_strings; i++)
|
||||
{
|
||||
const char *msgid = inmem_orig_sysdep_tab[i].pointer;
|
||||
nls_uint32 hash_val = hash_string (msgid);
|
||||
nls_uint32 hash_val = __hash_string (msgid);
|
||||
nls_uint32 idx = hash_val % domain->hash_size;
|
||||
nls_uint32 incr =
|
||||
1 + (hash_val % (domain->hash_size - 2));
|
||||
@ -1382,28 +1268,55 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
|
||||
free (data);
|
||||
free (domain);
|
||||
domain_file->data = NULL;
|
||||
return;
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Now initialize the character set converter from the character set
|
||||
the file is encoded with (found in the header entry) to the domain's
|
||||
specified character set or the locale's character set. */
|
||||
nullentry = _nl_init_domain_conv (domain_file, domain, domainbinding);
|
||||
/* No caches of converted translations so far. */
|
||||
domain->conversions = NULL;
|
||||
domain->nconversions = 0;
|
||||
|
||||
/* Also look for a plural specification. */
|
||||
/* Get the header entry and look for a plural specification. */
|
||||
#ifdef IN_LIBGLOCALE
|
||||
nullentry =
|
||||
_nl_find_msg (domain_file, domainbinding, NULL, "", &nullentrylen);
|
||||
#else
|
||||
nullentry = _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen);
|
||||
#endif
|
||||
EXTRACT_PLURAL_EXPRESSION (nullentry, &domain->plural, &domain->nplurals);
|
||||
|
||||
out:
|
||||
if (fd != -1)
|
||||
close (fd);
|
||||
|
||||
domain_file->decided = 1;
|
||||
|
||||
done:
|
||||
__libc_lock_unlock_recursive (lock);
|
||||
}
|
||||
|
||||
|
||||
#ifdef _LIBC
|
||||
void
|
||||
internal_function
|
||||
internal_function __libc_freeres_fn_section
|
||||
_nl_unload_domain (struct loaded_domain *domain)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
if (domain->plural != &__gettext_germanic_plural)
|
||||
__gettext_free_exp (domain->plural);
|
||||
|
||||
_nl_free_domain_conv (domain);
|
||||
for (i = 0; i < domain->nconversions; i++)
|
||||
{
|
||||
struct converted_domain *convd = &domain->conversions[i];
|
||||
|
||||
free (convd->encoding);
|
||||
if (convd->conv_tab != NULL && convd->conv_tab != (char **) -1)
|
||||
free (convd->conv_tab);
|
||||
if (convd->conv != (__gconv_t) -1)
|
||||
__gconv_close (convd->conv);
|
||||
}
|
||||
if (domain->conversions != NULL)
|
||||
free (domain->conversions);
|
||||
|
||||
if (domain->malloced)
|
||||
free (domain->malloced);
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Determine a canonical name for the current locale's character encoding.
|
||||
|
||||
Copyright (C) 2000-2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000-2006 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
/* Written by Bruno Haible <bruno@clisp.org>. */
|
||||
@ -41,8 +41,7 @@
|
||||
#endif
|
||||
|
||||
#if defined _WIN32 || defined __WIN32__
|
||||
# undef WIN32 /* avoid warning on mingw32 */
|
||||
# define WIN32
|
||||
# define WIN32_NATIVE
|
||||
#endif
|
||||
|
||||
#if defined __EMX__
|
||||
@ -50,7 +49,7 @@
|
||||
# define OS2
|
||||
#endif
|
||||
|
||||
#if !defined WIN32
|
||||
#if !defined WIN32_NATIVE
|
||||
# if HAVE_LANGINFO_CODESET
|
||||
# include <langinfo.h>
|
||||
# else
|
||||
@ -58,7 +57,11 @@
|
||||
# include <locale.h>
|
||||
# endif
|
||||
# endif
|
||||
#elif defined WIN32
|
||||
# ifdef __CYGWIN__
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# include <windows.h>
|
||||
# endif
|
||||
#elif defined WIN32_NATIVE
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# include <windows.h>
|
||||
#endif
|
||||
@ -73,8 +76,8 @@
|
||||
# define relocate(pathname) (pathname)
|
||||
#endif
|
||||
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, OS/2, DOS */
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, Cygwin, OS/2, DOS */
|
||||
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
|
||||
#endif
|
||||
|
||||
@ -107,19 +110,25 @@ static const char * volatile charset_aliases;
|
||||
|
||||
/* Return a pointer to the contents of the charset.alias file. */
|
||||
static const char *
|
||||
get_charset_aliases ()
|
||||
get_charset_aliases (void)
|
||||
{
|
||||
const char *cp;
|
||||
|
||||
cp = charset_aliases;
|
||||
if (cp == NULL)
|
||||
{
|
||||
#if !(defined VMS || defined WIN32)
|
||||
#if !(defined VMS || defined WIN32_NATIVE || defined __CYGWIN__)
|
||||
FILE *fp;
|
||||
const char *dir = relocate (LIBDIR);
|
||||
const char *dir;
|
||||
const char *base = "charset.alias";
|
||||
char *file_name;
|
||||
|
||||
/* Make it possible to override the charset.alias location. This is
|
||||
necessary for running the testsuite before "make install". */
|
||||
dir = getenv ("CHARSETALIASDIR");
|
||||
if (dir == NULL || dir[0] == '\0')
|
||||
dir = relocate (LIBDIR);
|
||||
|
||||
/* Concatenate dir and base into freshly allocated file_name. */
|
||||
{
|
||||
size_t dir_len = strlen (dir);
|
||||
@ -141,15 +150,17 @@ get_charset_aliases ()
|
||||
else
|
||||
{
|
||||
/* Parse the file's contents. */
|
||||
int c;
|
||||
char buf1[50+1];
|
||||
char buf2[50+1];
|
||||
char *res_ptr = NULL;
|
||||
size_t res_size = 0;
|
||||
size_t l1, l2;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
int c;
|
||||
char buf1[50+1];
|
||||
char buf2[50+1];
|
||||
size_t l1, l2;
|
||||
char *old_res_ptr;
|
||||
|
||||
c = getc (fp);
|
||||
if (c == EOF)
|
||||
break;
|
||||
@ -170,6 +181,7 @@ get_charset_aliases ()
|
||||
break;
|
||||
l1 = strlen (buf1);
|
||||
l2 = strlen (buf2);
|
||||
old_res_ptr = res_ptr;
|
||||
if (res_size == 0)
|
||||
{
|
||||
res_size = l1 + 1 + l2 + 1;
|
||||
@ -184,6 +196,8 @@ get_charset_aliases ()
|
||||
{
|
||||
/* Out of memory. */
|
||||
res_size = 0;
|
||||
if (old_res_ptr != NULL)
|
||||
free (old_res_ptr);
|
||||
break;
|
||||
}
|
||||
strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);
|
||||
@ -229,7 +243,7 @@ get_charset_aliases ()
|
||||
"DECKOREAN" "\0" "EUC-KR" "\0";
|
||||
# endif
|
||||
|
||||
# if defined WIN32
|
||||
# if defined WIN32_NATIVE || defined __CYGWIN__
|
||||
/* To avoid the troubles of installing a separate file in the same
|
||||
directory as the DLL and of retrieving the DLL's directory at
|
||||
runtime, simply inline the aliases here. */
|
||||
@ -238,6 +252,7 @@ get_charset_aliases ()
|
||||
"CP1361" "\0" "JOHAB" "\0"
|
||||
"CP20127" "\0" "ASCII" "\0"
|
||||
"CP20866" "\0" "KOI8-R" "\0"
|
||||
"CP20936" "\0" "GB2312" "\0"
|
||||
"CP21866" "\0" "KOI8-RU" "\0"
|
||||
"CP28591" "\0" "ISO-8859-1" "\0"
|
||||
"CP28592" "\0" "ISO-8859-2" "\0"
|
||||
@ -248,7 +263,14 @@ get_charset_aliases ()
|
||||
"CP28597" "\0" "ISO-8859-7" "\0"
|
||||
"CP28598" "\0" "ISO-8859-8" "\0"
|
||||
"CP28599" "\0" "ISO-8859-9" "\0"
|
||||
"CP28605" "\0" "ISO-8859-15" "\0";
|
||||
"CP28605" "\0" "ISO-8859-15" "\0"
|
||||
"CP38598" "\0" "ISO-8859-8" "\0"
|
||||
"CP51932" "\0" "EUC-JP" "\0"
|
||||
"CP51936" "\0" "GB2312" "\0"
|
||||
"CP51949" "\0" "EUC-KR" "\0"
|
||||
"CP51950" "\0" "EUC-TW" "\0"
|
||||
"CP54936" "\0" "GB18030" "\0"
|
||||
"CP65001" "\0" "UTF-8" "\0";
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@ -268,18 +290,65 @@ get_charset_aliases ()
|
||||
STATIC
|
||||
#endif
|
||||
const char *
|
||||
locale_charset ()
|
||||
locale_charset (void)
|
||||
{
|
||||
const char *codeset;
|
||||
const char *aliases;
|
||||
|
||||
#if !(defined WIN32 || defined OS2)
|
||||
#if !(defined WIN32_NATIVE || defined OS2)
|
||||
|
||||
# if HAVE_LANGINFO_CODESET
|
||||
|
||||
/* Most systems support nl_langinfo (CODESET) nowadays. */
|
||||
codeset = nl_langinfo (CODESET);
|
||||
|
||||
# ifdef __CYGWIN__
|
||||
/* Cygwin 2006 does not have locales. nl_langinfo (CODESET) always
|
||||
returns "US-ASCII". As long as this is not fixed, return the suffix
|
||||
of the locale name from the environment variables (if present) or
|
||||
the codepage as a number. */
|
||||
if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0)
|
||||
{
|
||||
const char *locale;
|
||||
static char buf[2 + 10 + 1];
|
||||
|
||||
locale = getenv ("LC_ALL");
|
||||
if (locale == NULL || locale[0] == '\0')
|
||||
{
|
||||
locale = getenv ("LC_CTYPE");
|
||||
if (locale == NULL || locale[0] == '\0')
|
||||
locale = getenv ("LANG");
|
||||
}
|
||||
if (locale != NULL && locale[0] != '\0')
|
||||
{
|
||||
/* If the locale name contains an encoding after the dot, return
|
||||
it. */
|
||||
const char *dot = strchr (locale, '.');
|
||||
|
||||
if (dot != NULL)
|
||||
{
|
||||
const char *modifier;
|
||||
|
||||
dot++;
|
||||
/* Look for the possible @... trailer and remove it, if any. */
|
||||
modifier = strchr (dot, '@');
|
||||
if (modifier == NULL)
|
||||
return dot;
|
||||
if (modifier - dot < sizeof (buf))
|
||||
{
|
||||
memcpy (buf, dot, modifier - dot);
|
||||
buf [modifier - dot] = '\0';
|
||||
return buf;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Woe32 has a function returning the locale's codepage as a number. */
|
||||
sprintf (buf, "CP%u", GetACP ());
|
||||
codeset = buf;
|
||||
}
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
/* On old systems which lack it, use setlocale or getenv. */
|
||||
@ -310,7 +379,7 @@ locale_charset ()
|
||||
|
||||
# endif
|
||||
|
||||
#elif defined WIN32
|
||||
#elif defined WIN32_NATIVE
|
||||
|
||||
static char buf[2 + 10 + 1];
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef _LOCALCHARSET_H
|
||||
|
@ -13,7 +13,7 @@
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
# USA.
|
||||
|
||||
# The format of this file is the same as for the corresponding file of
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Handle aliases for locale names.
|
||||
Copyright (C) 1995-1999, 2000-2001, 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-1999, 2000-2001, 2003, 2005 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
/* Tell glibc's <string.h> to provide a prototype for mempcpy().
|
||||
@ -81,11 +81,13 @@ char *alloca ();
|
||||
# endif
|
||||
# define HAVE_MEMPCPY 1
|
||||
# define HAVE___FSETLOCKING 1
|
||||
#endif
|
||||
|
||||
/* We need locking here since we can be called from different places. */
|
||||
/* Handle multi-threaded applications. */
|
||||
#ifdef _LIBC
|
||||
# include <bits/libc-lock.h>
|
||||
|
||||
__libc_lock_define_initialized (static, lock);
|
||||
#else
|
||||
# include "lock.h"
|
||||
#endif
|
||||
|
||||
#ifndef internal_function
|
||||
@ -120,6 +122,9 @@ __libc_lock_define_initialized (static, lock);
|
||||
#endif
|
||||
|
||||
|
||||
__libc_lock_define_initialized (static, lock)
|
||||
|
||||
|
||||
struct alias_map
|
||||
{
|
||||
const char *alias;
|
||||
@ -155,9 +160,7 @@ _nl_expand_alias (const char *name)
|
||||
const char *result = NULL;
|
||||
size_t added;
|
||||
|
||||
#ifdef _LIBC
|
||||
__libc_lock_lock (lock);
|
||||
#endif
|
||||
|
||||
if (locale_alias_path == NULL)
|
||||
locale_alias_path = LOCALE_ALIAS_PATH;
|
||||
@ -204,9 +207,7 @@ _nl_expand_alias (const char *name)
|
||||
}
|
||||
while (added != 0);
|
||||
|
||||
#ifdef _LIBC
|
||||
__libc_lock_unlock (lock);
|
||||
#endif
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -230,7 +231,13 @@ read_alias_file (const char *fname, int fname_len)
|
||||
memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);
|
||||
#endif
|
||||
|
||||
#ifdef _LIBC
|
||||
/* Note the file is opened with cancellation in the I/O functions
|
||||
disabled. */
|
||||
fp = fopen (relocate (full_fname), "rc");
|
||||
#else
|
||||
fp = fopen (relocate (full_fname), "r");
|
||||
#endif
|
||||
freea (full_fname);
|
||||
if (fp == NULL)
|
||||
return 0;
|
||||
@ -254,11 +261,15 @@ read_alias_file (const char *fname, int fname_len)
|
||||
char *alias;
|
||||
char *value;
|
||||
char *cp;
|
||||
int complete_line;
|
||||
|
||||
if (FGETS (buf, sizeof buf, fp) == NULL)
|
||||
/* EOF reached. */
|
||||
break;
|
||||
|
||||
/* Determine whether the line is complete. */
|
||||
complete_line = strchr (buf, '\n') != NULL;
|
||||
|
||||
cp = buf;
|
||||
/* Ignore leading white space. */
|
||||
while (isspace ((unsigned char) cp[0]))
|
||||
@ -280,9 +291,6 @@ read_alias_file (const char *fname, int fname_len)
|
||||
|
||||
if (cp[0] != '\0')
|
||||
{
|
||||
size_t alias_len;
|
||||
size_t value_len;
|
||||
|
||||
value = cp++;
|
||||
while (cp[0] != '\0' && !isspace ((unsigned char) cp[0]))
|
||||
++cp;
|
||||
@ -298,9 +306,20 @@ read_alias_file (const char *fname, int fname_len)
|
||||
else if (cp[0] != '\0')
|
||||
*cp++ = '\0';
|
||||
|
||||
#ifdef IN_LIBGLOCALE
|
||||
/* glibc's locale.alias contains entries for ja_JP and ko_KR
|
||||
that make it impossible to use a Japanese or Korean UTF-8
|
||||
locale under the name "ja_JP" or "ko_KR". Ignore these
|
||||
entries. */
|
||||
if (strchr (alias, '_') == NULL)
|
||||
#endif
|
||||
{
|
||||
size_t alias_len;
|
||||
size_t value_len;
|
||||
|
||||
if (nmap >= maxmap)
|
||||
if (__builtin_expect (extend_alias_table (), 0))
|
||||
return added;
|
||||
goto out;
|
||||
|
||||
alias_len = strlen (alias) + 1;
|
||||
value_len = strlen (value) + 1;
|
||||
@ -313,7 +332,7 @@ read_alias_file (const char *fname, int fname_len)
|
||||
? alias_len + value_len : 1024));
|
||||
char *new_pool = (char *) realloc (string_space, new_size);
|
||||
if (new_pool == NULL)
|
||||
return added;
|
||||
goto out;
|
||||
|
||||
if (__builtin_expect (string_space != new_pool, 0))
|
||||
{
|
||||
@ -342,16 +361,20 @@ read_alias_file (const char *fname, int fname_len)
|
||||
++added;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Possibly not the whole line fits into the buffer. Ignore
|
||||
the rest of the line. */
|
||||
while (strchr (buf, '\n') == NULL)
|
||||
if (! complete_line)
|
||||
do
|
||||
if (FGETS (buf, sizeof buf, fp) == NULL)
|
||||
/* Make sure the inner loop will be left. The outer loop
|
||||
will exit at the `feof' test. */
|
||||
break;
|
||||
while (strchr (buf, '\n') == NULL);
|
||||
}
|
||||
|
||||
out:
|
||||
/* Should we test for ferror()? I think we have to silently ignore
|
||||
errors. --drepper */
|
||||
fclose (fp);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Determine the current selected locale.
|
||||
Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -13,11 +13,12 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
/* Written by Ulrich Drepper <drepper@gnu.org>, 1995. */
|
||||
/* Win32 code written by Tor Lillqvist <tml@iki.fi>. */
|
||||
/* MacOS X code written by Bruno Haible <bruno@clisp.org>. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
@ -26,12 +27,21 @@
|
||||
#include <stdlib.h>
|
||||
#include <locale.h>
|
||||
|
||||
#if defined _WIN32 || defined __WIN32__
|
||||
# undef WIN32 /* avoid warning on mingw32 */
|
||||
# define WIN32
|
||||
#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
|
||||
# include <string.h>
|
||||
# include <CoreFoundation/CFString.h>
|
||||
# if HAVE_CFLOCALECOPYCURRENT
|
||||
# include <CoreFoundation/CFLocale.h>
|
||||
# elif HAVE_CFPREFERENCESCOPYAPPVALUE
|
||||
# include <CoreFoundation/CFPreferences.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
#if defined _WIN32 || defined __WIN32__
|
||||
# define WIN32_NATIVE
|
||||
#endif
|
||||
|
||||
#ifdef WIN32_NATIVE
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# include <windows.h>
|
||||
/* List of language codes, sorted by value:
|
||||
@ -683,6 +693,280 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
# if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
|
||||
/* MacOS X 10.2 or newer */
|
||||
|
||||
/* Canonicalize a MacOS X locale name to a Unix locale name.
|
||||
NAME is a sufficiently large buffer.
|
||||
On input, it contains the MacOS X locale name.
|
||||
On output, it contains the Unix locale name. */
|
||||
void
|
||||
_nl_locale_name_canonicalize (char *name)
|
||||
{
|
||||
/* This conversion is based on a posting by
|
||||
Deborah GoldSmith <goldsmit@apple.com> on 2005-03-08,
|
||||
http://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */
|
||||
|
||||
/* Convert legacy (NeXTstep inherited) English names to Unix (ISO 639 and
|
||||
ISO 3166) names. Prior to MacOS X 10.3, there is no API for doing this.
|
||||
Therefore we do it ourselves, using a table based on the results of the
|
||||
MacOS X 10.3.8 function
|
||||
CFLocaleCreateCanonicalLocaleIdentifierFromString(). */
|
||||
typedef struct { const char legacy[21+1]; const char unixy[5+1]; }
|
||||
legacy_entry;
|
||||
static const legacy_entry legacy_table[] = {
|
||||
{ "Afrikaans", "af" },
|
||||
{ "Albanian", "sq" },
|
||||
{ "Amharic", "am" },
|
||||
{ "Arabic", "ar" },
|
||||
{ "Armenian", "hy" },
|
||||
{ "Assamese", "as" },
|
||||
{ "Aymara", "ay" },
|
||||
{ "Azerbaijani", "az" },
|
||||
{ "Basque", "eu" },
|
||||
{ "Belarusian", "be" },
|
||||
{ "Belorussian", "be" },
|
||||
{ "Bengali", "bn" },
|
||||
{ "Brazilian Portugese", "pt_BR" },
|
||||
{ "Brazilian Portuguese", "pt_BR" },
|
||||
{ "Breton", "br" },
|
||||
{ "Bulgarian", "bg" },
|
||||
{ "Burmese", "my" },
|
||||
{ "Byelorussian", "be" },
|
||||
{ "Catalan", "ca" },
|
||||
{ "Chewa", "ny" },
|
||||
{ "Chichewa", "ny" },
|
||||
{ "Chinese", "zh" },
|
||||
{ "Chinese, Simplified", "zh_CN" },
|
||||
{ "Chinese, Traditional", "zh_TW" },
|
||||
{ "Chinese, Tradtional", "zh_TW" },
|
||||
{ "Croatian", "hr" },
|
||||
{ "Czech", "cs" },
|
||||
{ "Danish", "da" },
|
||||
{ "Dutch", "nl" },
|
||||
{ "Dzongkha", "dz" },
|
||||
{ "English", "en" },
|
||||
{ "Esperanto", "eo" },
|
||||
{ "Estonian", "et" },
|
||||
{ "Faroese", "fo" },
|
||||
{ "Farsi", "fa" },
|
||||
{ "Finnish", "fi" },
|
||||
{ "Flemish", "nl_BE" },
|
||||
{ "French", "fr" },
|
||||
{ "Galician", "gl" },
|
||||
{ "Gallegan", "gl" },
|
||||
{ "Georgian", "ka" },
|
||||
{ "German", "de" },
|
||||
{ "Greek", "el" },
|
||||
{ "Greenlandic", "kl" },
|
||||
{ "Guarani", "gn" },
|
||||
{ "Gujarati", "gu" },
|
||||
{ "Hawaiian", "haw" }, /* Yes, "haw", not "cpe". */
|
||||
{ "Hebrew", "he" },
|
||||
{ "Hindi", "hi" },
|
||||
{ "Hungarian", "hu" },
|
||||
{ "Icelandic", "is" },
|
||||
{ "Indonesian", "id" },
|
||||
{ "Inuktitut", "iu" },
|
||||
{ "Irish", "ga" },
|
||||
{ "Italian", "it" },
|
||||
{ "Japanese", "ja" },
|
||||
{ "Javanese", "jv" },
|
||||
{ "Kalaallisut", "kl" },
|
||||
{ "Kannada", "kn" },
|
||||
{ "Kashmiri", "ks" },
|
||||
{ "Kazakh", "kk" },
|
||||
{ "Khmer", "km" },
|
||||
{ "Kinyarwanda", "rw" },
|
||||
{ "Kirghiz", "ky" },
|
||||
{ "Korean", "ko" },
|
||||
{ "Kurdish", "ku" },
|
||||
{ "Latin", "la" },
|
||||
{ "Latvian", "lv" },
|
||||
{ "Lithuanian", "lt" },
|
||||
{ "Macedonian", "mk" },
|
||||
{ "Malagasy", "mg" },
|
||||
{ "Malay", "ms" },
|
||||
{ "Malayalam", "ml" },
|
||||
{ "Maltese", "mt" },
|
||||
{ "Manx", "gv" },
|
||||
{ "Marathi", "mr" },
|
||||
{ "Moldavian", "mo" },
|
||||
{ "Mongolian", "mn" },
|
||||
{ "Nepali", "ne" },
|
||||
{ "Norwegian", "nb" }, /* Yes, "nb", not the obsolete "no". */
|
||||
{ "Nyanja", "ny" },
|
||||
{ "Nynorsk", "nn" },
|
||||
{ "Oriya", "or" },
|
||||
{ "Oromo", "om" },
|
||||
{ "Panjabi", "pa" },
|
||||
{ "Pashto", "ps" },
|
||||
{ "Persian", "fa" },
|
||||
{ "Polish", "pl" },
|
||||
{ "Portuguese", "pt" },
|
||||
{ "Portuguese, Brazilian", "pt_BR" },
|
||||
{ "Punjabi", "pa" },
|
||||
{ "Pushto", "ps" },
|
||||
{ "Quechua", "qu" },
|
||||
{ "Romanian", "ro" },
|
||||
{ "Ruanda", "rw" },
|
||||
{ "Rundi", "rn" },
|
||||
{ "Russian", "ru" },
|
||||
{ "Sami", "se_NO" }, /* Not just "se". */
|
||||
{ "Sanskrit", "sa" },
|
||||
{ "Scottish", "gd" },
|
||||
{ "Serbian", "sr" },
|
||||
{ "Simplified Chinese", "zh_CN" },
|
||||
{ "Sindhi", "sd" },
|
||||
{ "Sinhalese", "si" },
|
||||
{ "Slovak", "sk" },
|
||||
{ "Slovenian", "sl" },
|
||||
{ "Somali", "so" },
|
||||
{ "Spanish", "es" },
|
||||
{ "Sundanese", "su" },
|
||||
{ "Swahili", "sw" },
|
||||
{ "Swedish", "sv" },
|
||||
{ "Tagalog", "tl" },
|
||||
{ "Tajik", "tg" },
|
||||
{ "Tajiki", "tg" },
|
||||
{ "Tamil", "ta" },
|
||||
{ "Tatar", "tt" },
|
||||
{ "Telugu", "te" },
|
||||
{ "Thai", "th" },
|
||||
{ "Tibetan", "bo" },
|
||||
{ "Tigrinya", "ti" },
|
||||
{ "Tongan", "to" },
|
||||
{ "Traditional Chinese", "zh_TW" },
|
||||
{ "Turkish", "tr" },
|
||||
{ "Turkmen", "tk" },
|
||||
{ "Uighur", "ug" },
|
||||
{ "Ukrainian", "uk" },
|
||||
{ "Urdu", "ur" },
|
||||
{ "Uzbek", "uz" },
|
||||
{ "Vietnamese", "vi" },
|
||||
{ "Welsh", "cy" },
|
||||
{ "Yiddish", "yi" }
|
||||
};
|
||||
|
||||
/* Convert new-style locale names with language tags (ISO 639 and ISO 15924)
|
||||
to Unix (ISO 639 and ISO 3166) names. */
|
||||
typedef struct { const char langtag[7+1]; const char unixy[12+1]; }
|
||||
langtag_entry;
|
||||
static const langtag_entry langtag_table[] = {
|
||||
/* MacOS X has "az-Arab", "az-Cyrl", "az-Latn".
|
||||
The default script for az on Unix is Latin. */
|
||||
{ "az-Latn", "az" },
|
||||
/* MacOS X has "ga-dots". Does not yet exist on Unix. */
|
||||
{ "ga-dots", "ga" },
|
||||
/* MacOS X has "kk-Cyrl". Does not yet exist on Unix. */
|
||||
/* MacOS X has "mn-Cyrl", "mn-Mong".
|
||||
The default script for mn on Unix is Cyrillic. */
|
||||
{ "mn-Cyrl", "mn" },
|
||||
/* MacOS X has "ms-Arab", "ms-Latn".
|
||||
The default script for ms on Unix is Latin. */
|
||||
{ "ms-Latn", "ms" },
|
||||
/* MacOS X has "tg-Cyrl".
|
||||
The default script for tg on Unix is Cyrillic. */
|
||||
{ "tg-Cyrl", "tg" },
|
||||
/* MacOS X has "tk-Cyrl". Does not yet exist on Unix. */
|
||||
/* MacOS X has "tt-Cyrl".
|
||||
The default script for tt on Unix is Cyrillic. */
|
||||
{ "tt-Cyrl", "tt" },
|
||||
/* MacOS X has "zh-Hans", "zh-Hant".
|
||||
Country codes are used to distinguish these on Unix. */
|
||||
{ "zh-Hans", "zh_CN" },
|
||||
{ "zh-Hant", "zh_TW" }
|
||||
};
|
||||
|
||||
/* Convert script names (ISO 15924) to Unix conventions.
|
||||
See http://www.unicode.org/iso15924/iso15924-codes.html */
|
||||
typedef struct { const char script[4+1]; const char unixy[9+1]; }
|
||||
script_entry;
|
||||
static const script_entry script_table[] = {
|
||||
{ "Arab", "arabic" },
|
||||
{ "Cyrl", "cyrillic" },
|
||||
{ "Mong", "mongolian" }
|
||||
};
|
||||
|
||||
/* Step 1: Convert using legacy_table. */
|
||||
if (name[0] >= 'A' && name[0] <= 'Z')
|
||||
{
|
||||
unsigned int i1, i2;
|
||||
i1 = 0;
|
||||
i2 = sizeof (legacy_table) / sizeof (legacy_entry);
|
||||
while (i2 - i1 > 1)
|
||||
{
|
||||
/* At this point we know that if name occurs in legacy_table,
|
||||
its index must be >= i1 and < i2. */
|
||||
unsigned int i = (i1 + i2) >> 1;
|
||||
const legacy_entry *p = &legacy_table[i];
|
||||
if (strcmp (name, p->legacy) < 0)
|
||||
i2 = i;
|
||||
else
|
||||
i1 = i;
|
||||
}
|
||||
if (strcmp (name, legacy_table[i1].legacy) == 0)
|
||||
{
|
||||
strcpy (name, legacy_table[i1].unixy);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* Step 2: Convert using langtag_table and script_table. */
|
||||
if (strlen (name) == 7 && name[2] == '-')
|
||||
{
|
||||
unsigned int i1, i2;
|
||||
i1 = 0;
|
||||
i2 = sizeof (langtag_table) / sizeof (langtag_entry);
|
||||
while (i2 - i1 > 1)
|
||||
{
|
||||
/* At this point we know that if name occurs in langtag_table,
|
||||
its index must be >= i1 and < i2. */
|
||||
unsigned int i = (i1 + i2) >> 1;
|
||||
const langtag_entry *p = &langtag_table[i];
|
||||
if (strcmp (name, p->langtag) < 0)
|
||||
i2 = i;
|
||||
else
|
||||
i1 = i;
|
||||
}
|
||||
if (strcmp (name, langtag_table[i1].langtag) == 0)
|
||||
{
|
||||
strcpy (name, langtag_table[i1].unixy);
|
||||
return;
|
||||
}
|
||||
|
||||
i1 = 0;
|
||||
i2 = sizeof (script_table) / sizeof (script_entry);
|
||||
while (i2 - i1 > 1)
|
||||
{
|
||||
/* At this point we know that if (name + 3) occurs in script_table,
|
||||
its index must be >= i1 and < i2. */
|
||||
unsigned int i = (i1 + i2) >> 1;
|
||||
const script_entry *p = &script_table[i];
|
||||
if (strcmp (name + 3, p->script) < 0)
|
||||
i2 = i;
|
||||
else
|
||||
i1 = i;
|
||||
}
|
||||
if (strcmp (name + 3, script_table[i1].script) == 0)
|
||||
{
|
||||
name[2] = '@';
|
||||
strcpy (name + 3, script_table[i1].unixy);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* Step 3: Convert new-style dash to Unix underscore. */
|
||||
{
|
||||
char *p;
|
||||
for (p = name; *p != '\0'; p++)
|
||||
if (*p == '-')
|
||||
*p = '_';
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* XPG3 defines the result of 'setlocale (category, NULL)' as:
|
||||
"Directs 'setlocale()' to query 'category' and return the current
|
||||
setting of 'local'."
|
||||
@ -700,60 +984,104 @@
|
||||
The result must not be freed; it is statically allocated. */
|
||||
|
||||
const char *
|
||||
_nl_locale_name (int category, const char *categoryname)
|
||||
_nl_locale_name_posix (int category, const char *categoryname)
|
||||
{
|
||||
const char *retval;
|
||||
|
||||
#ifndef WIN32
|
||||
|
||||
/* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'.
|
||||
On some systems this can be done by the 'setlocale' function itself. */
|
||||
# if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
|
||||
retval = setlocale (category, NULL);
|
||||
# else
|
||||
/* Setting of LC_ALL overwrites all other. */
|
||||
#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
|
||||
return setlocale (category, NULL);
|
||||
#else
|
||||
const char *retval;
|
||||
|
||||
/* Setting of LC_ALL overrides all other. */
|
||||
retval = getenv ("LC_ALL");
|
||||
if (retval == NULL || retval[0] == '\0')
|
||||
{
|
||||
if (retval != NULL && retval[0] != '\0')
|
||||
return retval;
|
||||
/* Next comes the name of the desired category. */
|
||||
retval = getenv (categoryname);
|
||||
if (retval == NULL || retval[0] == '\0')
|
||||
{
|
||||
if (retval != NULL && retval[0] != '\0')
|
||||
return retval;
|
||||
/* Last possibility is the LANG environment variable. */
|
||||
retval = getenv ("LANG");
|
||||
if (retval == NULL || retval[0] == '\0')
|
||||
/* We use C as the default domain. POSIX says this is
|
||||
implementation defined. */
|
||||
retval = "C";
|
||||
}
|
||||
}
|
||||
# endif
|
||||
|
||||
if (retval != NULL && retval[0] != '\0')
|
||||
return retval;
|
||||
|
||||
#else /* WIN32 */
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
const char *
|
||||
_nl_locale_name_default (void)
|
||||
{
|
||||
/* POSIX:2001 says:
|
||||
"All implementations shall define a locale as the default locale, to be
|
||||
invoked when no environment variables are set, or set to the empty
|
||||
string. This default locale can be the POSIX locale or any other
|
||||
implementation-defined locale. Some implementations may provide
|
||||
facilities for local installation administrators to set the default
|
||||
locale, customizing it for each location. POSIX:2001 does not require
|
||||
such a facility. */
|
||||
|
||||
#if !(HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE || defined(WIN32_NATIVE))
|
||||
|
||||
/* The system does not have a way of setting the locale, other than the
|
||||
POSIX specified environment variables. We use C as default locale. */
|
||||
return "C";
|
||||
|
||||
#else
|
||||
|
||||
/* Return an XPG style locale name language[_territory][@modifier].
|
||||
Don't even bother determining the codeset; it's not useful in this
|
||||
context, because message catalogs are not specific to a single
|
||||
codeset. */
|
||||
|
||||
# if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
|
||||
/* MacOS X 10.2 or newer */
|
||||
{
|
||||
/* Cache the locale name, since CoreFoundation calls are expensive. */
|
||||
static const char *cached_localename;
|
||||
|
||||
if (cached_localename == NULL)
|
||||
{
|
||||
char namebuf[256];
|
||||
# if HAVE_CFLOCALECOPYCURRENT /* MacOS X 10.3 or newer */
|
||||
CFLocaleRef locale = CFLocaleCopyCurrent ();
|
||||
CFStringRef name = CFLocaleGetIdentifier (locale);
|
||||
|
||||
if (CFStringGetCString (name, namebuf, sizeof(namebuf),
|
||||
kCFStringEncodingASCII))
|
||||
{
|
||||
_nl_locale_name_canonicalize (namebuf);
|
||||
cached_localename = strdup (namebuf);
|
||||
}
|
||||
CFRelease (locale);
|
||||
# elif HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */
|
||||
CFTypeRef value =
|
||||
CFPreferencesCopyAppValue (CFSTR ("AppleLocale"),
|
||||
kCFPreferencesCurrentApplication);
|
||||
if (value != NULL
|
||||
&& CFGetTypeID (value) == CFStringGetTypeID ()
|
||||
&& CFStringGetCString ((CFStringRef)value, namebuf, sizeof(namebuf),
|
||||
kCFStringEncodingASCII))
|
||||
{
|
||||
_nl_locale_name_canonicalize (namebuf);
|
||||
cached_localename = strdup (namebuf);
|
||||
}
|
||||
# endif
|
||||
if (cached_localename == NULL)
|
||||
cached_localename = "C";
|
||||
}
|
||||
return cached_localename;
|
||||
}
|
||||
|
||||
# endif
|
||||
|
||||
# if defined(WIN32_NATIVE) /* WIN32, not Cygwin */
|
||||
{
|
||||
LCID lcid;
|
||||
LANGID langid;
|
||||
int primary, sub;
|
||||
|
||||
/* Let the user override the system settings through environment
|
||||
variables, as on POSIX systems. */
|
||||
retval = getenv ("LC_ALL");
|
||||
if (retval != NULL && retval[0] != '\0')
|
||||
return retval;
|
||||
retval = getenv (categoryname);
|
||||
if (retval != NULL && retval[0] != '\0')
|
||||
return retval;
|
||||
retval = getenv ("LANG");
|
||||
if (retval != NULL && retval[0] != '\0')
|
||||
return retval;
|
||||
|
||||
/* Use native Win32 API locale ID. */
|
||||
lcid = GetThreadLocale ();
|
||||
|
||||
@ -804,6 +1132,10 @@ _nl_locale_name (int category, const char *categoryname)
|
||||
}
|
||||
return "az";
|
||||
case LANG_BASQUE:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_DEFAULT: return "eu_ES";
|
||||
}
|
||||
return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */
|
||||
case LANG_BELARUSIAN: return "be_BY";
|
||||
case LANG_BENGALI:
|
||||
@ -986,6 +1318,10 @@ _nl_locale_name (int category, const char *categoryname)
|
||||
return "mni_IN";
|
||||
case LANG_MARATHI: return "mr_IN";
|
||||
case LANG_MONGOLIAN:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_DEFAULT: return "mn_MN";
|
||||
}
|
||||
return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */
|
||||
case LANG_NEPALI:
|
||||
switch (sub)
|
||||
@ -997,7 +1333,7 @@ _nl_locale_name (int category, const char *categoryname)
|
||||
case LANG_NORWEGIAN:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_NORWEGIAN_BOKMAL: return "no_NO";
|
||||
case SUBLANG_NORWEGIAN_BOKMAL: return "nb_NO";
|
||||
case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO";
|
||||
}
|
||||
return "no";
|
||||
@ -1032,6 +1368,10 @@ _nl_locale_name (int category, const char *categoryname)
|
||||
}
|
||||
return "ro";
|
||||
case LANG_RUSSIAN:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_DEFAULT: return "ru_RU";
|
||||
}
|
||||
return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */
|
||||
case LANG_SAAMI: /* actually Northern Sami */ return "se_NO";
|
||||
case LANG_SANSKRIT: return "sa_IN";
|
||||
@ -1096,6 +1436,10 @@ _nl_locale_name (int category, const char *categoryname)
|
||||
}
|
||||
return "ber_MA";
|
||||
case LANG_TAMIL:
|
||||
switch (sub)
|
||||
{
|
||||
case SUBLANG_DEFAULT: return "ta_IN";
|
||||
}
|
||||
return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */
|
||||
case LANG_TATAR: return "tt_RU";
|
||||
case LANG_TELUGU: return "te_IN";
|
||||
@ -1137,6 +1481,19 @@ _nl_locale_name (int category, const char *categoryname)
|
||||
case LANG_ZULU: return "zu_ZA";
|
||||
default: return "C";
|
||||
}
|
||||
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
}
|
||||
|
||||
const char *
|
||||
_nl_locale_name (int category, const char *categoryname)
|
||||
{
|
||||
const char *retval;
|
||||
|
||||
retval = _nl_locale_name_posix (category, categoryname);
|
||||
if (retval != NULL)
|
||||
return retval;
|
||||
|
||||
return _nl_locale_name_default ();
|
||||
}
|
||||
|
32
intl/log.c
32
intl/log.c
@ -1,5 +1,5 @@
|
||||
/* Log file output.
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2003, 2005 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
/* Written by Bruno Haible <bruno@clisp.org>. */
|
||||
@ -26,6 +26,13 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
/* Handle multi-threaded applications. */
|
||||
#ifdef _LIBC
|
||||
# include <bits/libc-lock.h>
|
||||
#else
|
||||
# include "lock.h"
|
||||
#endif
|
||||
|
||||
/* Print an ASCII string with quotes and escape sequences where needed. */
|
||||
static void
|
||||
print_escaped (FILE *stream, const char *str)
|
||||
@ -48,13 +55,14 @@ print_escaped (FILE *stream, const char *str)
|
||||
putc ('"', stream);
|
||||
}
|
||||
|
||||
/* Add to the log file an entry denoting a failed translation. */
|
||||
void
|
||||
_nl_log_untranslated (const char *logfilename, const char *domainname,
|
||||
static char *last_logfilename = NULL;
|
||||
static FILE *last_logfile = NULL;
|
||||
__libc_lock_define_initialized (static, lock)
|
||||
|
||||
static inline void
|
||||
_nl_log_untranslated_locked (const char *logfilename, const char *domainname,
|
||||
const char *msgid1, const char *msgid2, int plural)
|
||||
{
|
||||
static char *last_logfilename = NULL;
|
||||
static FILE *last_logfile = NULL;
|
||||
FILE *logfile;
|
||||
|
||||
/* Can we reuse the last opened logfile? */
|
||||
@ -96,3 +104,13 @@ _nl_log_untranslated (const char *logfilename, const char *domainname,
|
||||
fprintf (logfile, "\nmsgstr \"\"\n");
|
||||
putc ('\n', logfile);
|
||||
}
|
||||
|
||||
/* Add to the log file an entry denoting a failed translation. */
|
||||
void
|
||||
_nl_log_untranslated (const char *logfilename, const char *domainname,
|
||||
const char *msgid1, const char *msgid2, int plural)
|
||||
{
|
||||
__libc_lock_lock (lock);
|
||||
_nl_log_untranslated_locked (logfilename, domainname, msgid1, msgid2, plural);
|
||||
__libc_lock_unlock (lock);
|
||||
}
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#define OS2_AWARE
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
/* When included from os2compat.h we need all the original definitions */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* OS dependent parts of libintl.
|
||||
Copyright (C) 2001-2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2002, 2006 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -13,10 +13,12 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#if defined __EMX__
|
||||
#if defined __CYGWIN__
|
||||
# include "intl-exports.c"
|
||||
#elif defined __EMX__
|
||||
# include "os2compat.c"
|
||||
#else
|
||||
/* Avoid AIX compiler warning. */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Expression parsing for plural form selection.
|
||||
Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000-2001, 2003, 2005 Free Software Foundation, Inc.
|
||||
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@ -27,7 +27,7 @@
|
||||
|
||||
#include "plural-exp.h"
|
||||
|
||||
#if (defined __GNUC__ && !defined __APPLE_CC__) \
|
||||
#if (defined __GNUC__ && !(__APPLE_CC__ > 1)) \
|
||||
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
|
||||
|
||||
/* These structs are the constant expression for the germanic plural
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Expression parsing and evaluation for plural form selection.
|
||||
Copyright (C) 2000-2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000-2003, 2005 Free Software Foundation, Inc.
|
||||
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef _PLURAL_EXP_H
|
||||
@ -110,7 +110,7 @@ extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry,
|
||||
unsigned long int *npluralsp)
|
||||
internal_function;
|
||||
|
||||
#if !defined (_LIBC) && !defined (IN_LIBINTL)
|
||||
#if !defined (_LIBC) && !defined (IN_LIBINTL) && !defined (IN_LIBGLOCALE)
|
||||
extern unsigned long int plural_eval (struct expression *pexp,
|
||||
unsigned long int n);
|
||||
#endif
|
||||
|
@ -19,7 +19,7 @@
|
||||
#line 1 "plural.y"
|
||||
|
||||
/* Expression parsing for plural form selection.
|
||||
Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000-2001, 2003, 2005 Free Software Foundation, Inc.
|
||||
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
@ -34,13 +34,14 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
/* The bison generated parser uses alloca. AIX 3 forces us to put this
|
||||
declaration at the beginning of the file. The declaration in bison's
|
||||
skeleton file comes too late. This must come before <config.h>
|
||||
because <config.h> may include arbitrary system headers. */
|
||||
/* For bison < 2.0, the bison generated parser uses alloca. AIX 3 forces us
|
||||
to put this declaration at the beginning of the file. The declaration in
|
||||
bison's skeleton file comes too late. This must come before <config.h>
|
||||
because <config.h> may include arbitrary system headers.
|
||||
This can go away once the AM_INTL_SUBDIR macro requires bison >= 2.0. */
|
||||
#if defined _AIX && !defined __GNUC__
|
||||
#pragma alloca
|
||||
#endif
|
||||
@ -51,6 +52,7 @@
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "plural-exp.h"
|
||||
|
||||
/* The main function generated by the parser is called __gettextparse,
|
||||
@ -62,7 +64,7 @@
|
||||
#define YYLEX_PARAM &((struct parse_args *) arg)->cp
|
||||
#define YYPARSE_PARAM arg
|
||||
|
||||
#line 49 "plural.y"
|
||||
#line 51 "plural.y"
|
||||
#ifndef YYSTYPE
|
||||
typedef union {
|
||||
unsigned long int num;
|
||||
@ -72,7 +74,7 @@ typedef union {
|
||||
# define YYSTYPE yystype
|
||||
# define YYSTYPE_IS_TRIVIAL 1
|
||||
#endif
|
||||
#line 55 "plural.y"
|
||||
#line 57 "plural.y"
|
||||
|
||||
/* Prototypes for local functions. */
|
||||
static int yylex (YYSTYPE *lval, const char **pexp);
|
||||
@ -212,8 +214,8 @@ static const short yyrhs[] =
|
||||
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
||||
static const short yyrline[] =
|
||||
{
|
||||
0, 150, 158, 162, 166, 170, 174, 178, 182, 186,
|
||||
190, 194, 199
|
||||
0, 152, 160, 164, 168, 172, 176, 180, 184, 188,
|
||||
192, 196, 201
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -296,7 +298,7 @@ static const short yycheck[] =
|
||||
#define YYPURE 1
|
||||
|
||||
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
|
||||
#line 3 "/usr/local/share/bison/bison.simple"
|
||||
#line 3 "bison.simple"
|
||||
|
||||
/* Skeleton output parser for bison,
|
||||
|
||||
@ -609,7 +611,7 @@ yystpcpy (yydest, yysrc)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#line 315 "/usr/local/share/bison/bison.simple"
|
||||
#line 315 "bison.simple"
|
||||
|
||||
|
||||
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
|
||||
@ -1003,7 +1005,7 @@ yyreduce:
|
||||
switch (yyn) {
|
||||
|
||||
case 1:
|
||||
#line 151 "plural.y"
|
||||
#line 153 "plural.y"
|
||||
{
|
||||
if (yyvsp[0].exp == NULL)
|
||||
YYABORT;
|
||||
@ -1011,75 +1013,75 @@ case 1:
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
#line 159 "plural.y"
|
||||
#line 161 "plural.y"
|
||||
{
|
||||
yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
#line 163 "plural.y"
|
||||
#line 165 "plural.y"
|
||||
{
|
||||
yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
#line 167 "plural.y"
|
||||
#line 169 "plural.y"
|
||||
{
|
||||
yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
#line 171 "plural.y"
|
||||
#line 173 "plural.y"
|
||||
{
|
||||
yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
#line 175 "plural.y"
|
||||
#line 177 "plural.y"
|
||||
{
|
||||
yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
#line 179 "plural.y"
|
||||
#line 181 "plural.y"
|
||||
{
|
||||
yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
#line 183 "plural.y"
|
||||
#line 185 "plural.y"
|
||||
{
|
||||
yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
#line 187 "plural.y"
|
||||
#line 189 "plural.y"
|
||||
{
|
||||
yyval.exp = new_exp_1 (lnot, yyvsp[0].exp);
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
#line 191 "plural.y"
|
||||
#line 193 "plural.y"
|
||||
{
|
||||
yyval.exp = new_exp_0 (var);
|
||||
}
|
||||
break;
|
||||
case 11:
|
||||
#line 195 "plural.y"
|
||||
#line 197 "plural.y"
|
||||
{
|
||||
if ((yyval.exp = new_exp_0 (num)) != NULL)
|
||||
yyval.exp->val.num = yyvsp[0].num;
|
||||
}
|
||||
break;
|
||||
case 12:
|
||||
#line 200 "plural.y"
|
||||
#line 202 "plural.y"
|
||||
{
|
||||
yyval.exp = yyvsp[-1].exp;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
#line 705 "/usr/local/share/bison/bison.simple"
|
||||
#line 705 "bison.simple"
|
||||
|
||||
|
||||
yyvsp -= yylen;
|
||||
@ -1310,7 +1312,7 @@ yyreturn:
|
||||
#endif
|
||||
return yyresult;
|
||||
}
|
||||
#line 205 "plural.y"
|
||||
#line 207 "plural.y"
|
||||
|
||||
|
||||
void
|
||||
|
@ -1,6 +1,6 @@
|
||||
%{
|
||||
/* Expression parsing for plural form selection.
|
||||
Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000-2001, 2003, 2005 Free Software Foundation, Inc.
|
||||
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
@ -15,13 +15,14 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
/* The bison generated parser uses alloca. AIX 3 forces us to put this
|
||||
declaration at the beginning of the file. The declaration in bison's
|
||||
skeleton file comes too late. This must come before <config.h>
|
||||
because <config.h> may include arbitrary system headers. */
|
||||
/* For bison < 2.0, the bison generated parser uses alloca. AIX 3 forces us
|
||||
to put this declaration at the beginning of the file. The declaration in
|
||||
bison's skeleton file comes too late. This must come before <config.h>
|
||||
because <config.h> may include arbitrary system headers.
|
||||
This can go away once the AM_INTL_SUBDIR macro requires bison >= 2.0. */
|
||||
#if defined _AIX && !defined __GNUC__
|
||||
#pragma alloca
|
||||
#endif
|
||||
@ -32,6 +33,7 @@
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "plural-exp.h"
|
||||
|
||||
/* The main function generated by the parser is called __gettextparse,
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Decomposed printf argument list.
|
||||
Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 1999, 2002-2003, 2005-2006 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@ -80,15 +80,40 @@ printf_fetchargs (va_list args, arguments *a)
|
||||
break;
|
||||
#ifdef HAVE_WINT_T
|
||||
case TYPE_WIDE_CHAR:
|
||||
ap->a.a_wide_char = va_arg (args, wint_t);
|
||||
/* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by
|
||||
default argument promotions", this is not the case in mingw32,
|
||||
where wint_t is 'unsigned short'. */
|
||||
ap->a.a_wide_char =
|
||||
(sizeof (wint_t) < sizeof (int)
|
||||
? va_arg (args, int)
|
||||
: va_arg (args, wint_t));
|
||||
break;
|
||||
#endif
|
||||
case TYPE_STRING:
|
||||
ap->a.a_string = va_arg (args, const char *);
|
||||
/* A null pointer is an invalid argument for "%s", but in practice
|
||||
it occurs quite frequently in printf statements that produce
|
||||
debug output. Use a fallback in this case. */
|
||||
if (ap->a.a_string == NULL)
|
||||
ap->a.a_string = "(NULL)";
|
||||
break;
|
||||
#ifdef HAVE_WCHAR_T
|
||||
case TYPE_WIDE_STRING:
|
||||
ap->a.a_wide_string = va_arg (args, const wchar_t *);
|
||||
/* A null pointer is an invalid argument for "%ls", but in practice
|
||||
it occurs quite frequently in printf statements that produce
|
||||
debug output. Use a fallback in this case. */
|
||||
if (ap->a.a_wide_string == NULL)
|
||||
{
|
||||
static const wchar_t wide_null_string[] =
|
||||
{
|
||||
(wchar_t)'(',
|
||||
(wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L',
|
||||
(wchar_t)')',
|
||||
(wchar_t)0
|
||||
};
|
||||
ap->a.a_wide_string = wide_null_string;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case TYPE_POINTER:
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef _PRINTF_ARGS_H
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef _PRINTF_PARSE_H
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Formatted output to strings, using POSIX/XSI format strings with positions.
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2003, 2006 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2003.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@ -61,6 +61,14 @@ char *alloca ();
|
||||
|
||||
#define STATIC static
|
||||
|
||||
/* This needs to be consistent with libgnuintl.h.in. */
|
||||
#if defined __NetBSD__ || defined __CYGWIN__ || defined __MINGW32__
|
||||
/* Don't break __attribute__((format(printf,M,N))).
|
||||
This redefinition is only possible because the libc in NetBSD, Cygwin,
|
||||
mingw does not have a function __printf__. */
|
||||
# define libintl_printf __printf__
|
||||
#endif
|
||||
|
||||
/* Define auxiliary functions declared in "printf-args.h". */
|
||||
#include "printf-args.c"
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
# USA.
|
||||
#
|
||||
# Written by Bruno Haible <haible@clisp.cons.org>.
|
||||
|
@ -14,7 +14,7 @@
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
# USA.
|
||||
#
|
||||
# Written by Bruno Haible <haible@clisp.cons.org>.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Provide relocatable packages.
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2003-2005 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2003.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@
|
||||
# include "xalloc.h"
|
||||
#endif
|
||||
|
||||
#if defined _WIN32 || defined __WIN32__
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# include <windows.h>
|
||||
#endif
|
||||
@ -72,20 +72,20 @@
|
||||
ISSLASH(C) tests whether C is a directory separator character.
|
||||
IS_PATH_WITH_DIR(P) tests whether P contains a directory specification.
|
||||
*/
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, OS/2, DOS */
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, Cygwin, OS/2, DOS */
|
||||
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
|
||||
# define HAS_DEVICE(P) \
|
||||
((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
|
||||
&& (P)[1] == ':')
|
||||
# define IS_PATH_WITH_DIR(P) \
|
||||
(strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))
|
||||
# define FILESYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0)
|
||||
# define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0)
|
||||
#else
|
||||
/* Unix */
|
||||
# define ISSLASH(C) ((C) == '/')
|
||||
# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
|
||||
# define FILESYSTEM_PREFIX_LEN(P) 0
|
||||
# define FILE_SYSTEM_PREFIX_LEN(P) 0
|
||||
#endif
|
||||
|
||||
/* Original installation prefix. */
|
||||
@ -189,7 +189,7 @@ compute_curr_prefix (const char *orig_installprefix,
|
||||
|
||||
/* Determine the current installation directory. */
|
||||
{
|
||||
const char *p_base = curr_pathname + FILESYSTEM_PREFIX_LEN (curr_pathname);
|
||||
const char *p_base = curr_pathname + FILE_SYSTEM_PREFIX_LEN (curr_pathname);
|
||||
const char *p = curr_pathname + strlen (curr_pathname);
|
||||
char *q;
|
||||
|
||||
@ -216,7 +216,7 @@ compute_curr_prefix (const char *orig_installprefix,
|
||||
const char *rp = rel_installdir + strlen (rel_installdir);
|
||||
const char *cp = curr_installdir + strlen (curr_installdir);
|
||||
const char *cp_base =
|
||||
curr_installdir + FILESYSTEM_PREFIX_LEN (curr_installdir);
|
||||
curr_installdir + FILE_SYSTEM_PREFIX_LEN (curr_installdir);
|
||||
|
||||
while (rp > rel_installdir && cp > cp_base)
|
||||
{
|
||||
@ -234,8 +234,11 @@ compute_curr_prefix (const char *orig_installprefix,
|
||||
same = true;
|
||||
break;
|
||||
}
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, OS/2, DOS - case insignificant filesystem */
|
||||
/* Do case-insensitive comparison if the filesystem is always or
|
||||
often case-insensitive. It's better to accept the comparison
|
||||
if the difference is only in case, rather than to fail. */
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
|
||||
/* Win32, Cygwin, OS/2, DOS - case insignificant filesystem */
|
||||
if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi)
|
||||
!= (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi))
|
||||
break;
|
||||
@ -280,7 +283,7 @@ compute_curr_prefix (const char *orig_installprefix,
|
||||
/* Full pathname of shared library, or NULL. */
|
||||
static char *shared_library_fullname;
|
||||
|
||||
#if defined _WIN32 || defined __WIN32__
|
||||
#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__
|
||||
|
||||
/* Determine the full pathname of the shared library when it is loaded. */
|
||||
|
||||
@ -302,13 +305,31 @@ DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved)
|
||||
/* Shouldn't happen. */
|
||||
return FALSE;
|
||||
|
||||
{
|
||||
#if defined __CYGWIN__
|
||||
/* On Cygwin, we need to convert paths coming from Win32 system calls
|
||||
to the Unix-like slashified notation. */
|
||||
static char location_as_posix_path[2 * MAX_PATH];
|
||||
/* There's no error return defined for cygwin_conv_to_posix_path.
|
||||
See cygwin-api/func-cygwin-conv-to-posix-path.html.
|
||||
Does it overflow the buffer of expected size MAX_PATH or does it
|
||||
truncate the path? I don't know. Let's catch both. */
|
||||
cygwin_conv_to_posix_path (location, location_as_posix_path);
|
||||
location_as_posix_path[MAX_PATH - 1] = '\0';
|
||||
if (strlen (location_as_posix_path) >= MAX_PATH - 1)
|
||||
/* A sign of buffer overflow or path truncation. */
|
||||
return FALSE;
|
||||
shared_library_fullname = strdup (location_as_posix_path);
|
||||
#else
|
||||
shared_library_fullname = strdup (location);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#else /* Unix */
|
||||
#else /* Unix except Cygwin */
|
||||
|
||||
static void
|
||||
find_shared_library_fullname ()
|
||||
@ -359,15 +380,15 @@ find_shared_library_fullname ()
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* WIN32 / Unix */
|
||||
#endif /* (WIN32 or Cygwin) / (Unix except Cygwin) */
|
||||
|
||||
/* Return the full pathname of the current shared library.
|
||||
Return NULL if unknown.
|
||||
Guaranteed to work only on Linux and Woe32. */
|
||||
Guaranteed to work only on Linux, Cygwin and Woe32. */
|
||||
static char *
|
||||
get_shared_library_fullname ()
|
||||
{
|
||||
#if !(defined _WIN32 || defined __WIN32__)
|
||||
#if !(defined _WIN32 || defined __WIN32__ || defined __CYGWIN__)
|
||||
static bool tried_find_shared_library_fullname;
|
||||
if (!tried_find_shared_library_fullname)
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Provide relocatable packages.
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2003, 2005 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2003.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef _RELOCATABLE_H
|
||||
@ -31,7 +31,9 @@ extern "C" {
|
||||
/* When building a DLL, we must export some functions. Note that because
|
||||
this is a private .h file, we don't need to use __declspec(dllimport)
|
||||
in any case. */
|
||||
#if defined _MSC_VER && BUILDING_DLL
|
||||
#if HAVE_VISIBILITY && BUILDING_DLL
|
||||
# define RELOCATABLE_DLL_EXPORTED __attribute__((__visibility__("default")))
|
||||
#elif defined _MSC_VER && BUILDING_DLL
|
||||
# define RELOCATABLE_DLL_EXPORTED __declspec(dllexport)
|
||||
#else
|
||||
# define RELOCATABLE_DLL_EXPORTED
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Implementation of the textdomain(3) function.
|
||||
Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@ -23,21 +23,21 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "gettextP.h"
|
||||
#ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# include "libgnuintl.h"
|
||||
#endif
|
||||
#include "gettextP.h"
|
||||
|
||||
/* Handle multi-threaded applications. */
|
||||
#ifdef _LIBC
|
||||
/* We have to handle multi-threaded applications. */
|
||||
# include <bits/libc-lock.h>
|
||||
# define gl_rwlock_define __libc_rwlock_define
|
||||
# define gl_rwlock_wrlock __libc_rwlock_wrlock
|
||||
# define gl_rwlock_unlock __libc_rwlock_unlock
|
||||
#else
|
||||
/* Provide dummy implementation if this is outside glibc. */
|
||||
# define __libc_rwlock_define(CLASS, NAME)
|
||||
# define __libc_rwlock_wrlock(NAME)
|
||||
# define __libc_rwlock_unlock(NAME)
|
||||
# include "lock.h"
|
||||
#endif
|
||||
|
||||
/* The internal variables in the standalone libintl.a must have different
|
||||
@ -71,7 +71,7 @@ extern const char *_nl_current_default_domain attribute_hidden;
|
||||
#endif
|
||||
|
||||
/* Lock variable to protect the global data in the gettext implementation. */
|
||||
__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)
|
||||
gl_rwlock_define (extern, _nl_state_lock attribute_hidden)
|
||||
|
||||
/* Set the current default message catalog to DOMAINNAME.
|
||||
If DOMAINNAME is null, return the current default.
|
||||
@ -86,7 +86,7 @@ TEXTDOMAIN (const char *domainname)
|
||||
if (domainname == NULL)
|
||||
return (char *) _nl_current_default_domain;
|
||||
|
||||
__libc_rwlock_wrlock (_nl_state_lock);
|
||||
gl_rwlock_wrlock (_nl_state_lock);
|
||||
|
||||
old_domain = (char *) _nl_current_default_domain;
|
||||
|
||||
@ -130,7 +130,7 @@ TEXTDOMAIN (const char *domainname)
|
||||
free (old_domain);
|
||||
}
|
||||
|
||||
__libc_rwlock_unlock (_nl_state_lock);
|
||||
gl_rwlock_unlock (_nl_state_lock);
|
||||
|
||||
return new_domain;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* vsprintf with automatic memory allocation.
|
||||
Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 1999, 2002-2006 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
/* Tell glibc's <stdio.h> to provide a prototype for snprintf().
|
||||
@ -41,7 +41,7 @@
|
||||
#include <stdlib.h> /* abort(), malloc(), realloc(), free() */
|
||||
#include <string.h> /* memcpy(), strlen() */
|
||||
#include <errno.h> /* errno */
|
||||
#include <limits.h> /* CHAR_BIT */
|
||||
#include <limits.h> /* CHAR_BIT, INT_MAX */
|
||||
#include <float.h> /* DBL_MAX_EXP, LDBL_MAX_EXP */
|
||||
#if WIDE_CHAR_VERSION
|
||||
# include "wprintf-parse.h"
|
||||
@ -52,6 +52,11 @@
|
||||
/* Checked size_t computations. */
|
||||
#include "xsize.h"
|
||||
|
||||
/* Some systems, like OSF/1 4.0 and Woe32, don't have EOVERFLOW. */
|
||||
#ifndef EOVERFLOW
|
||||
# define EOVERFLOW E2BIG
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_WCHAR_T
|
||||
# ifdef HAVE_WCSLEN
|
||||
# define local_wcslen wcslen
|
||||
@ -316,9 +321,8 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
|
||||
const CHAR_T *digitp = dp->precision_start + 1;
|
||||
|
||||
precision = 0;
|
||||
do
|
||||
while (digitp != dp->precision_end)
|
||||
precision = xsum (xtimes (precision, 10), *digitp++ - '0');
|
||||
while (digitp != dp->precision_end);
|
||||
}
|
||||
}
|
||||
|
||||
@ -331,28 +335,28 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
|
||||
tmp_length =
|
||||
(unsigned int) (sizeof (unsigned long long) * CHAR_BIT
|
||||
* 0.30103 /* binary -> decimal */
|
||||
* 2 /* estimate for FLAG_GROUP */
|
||||
)
|
||||
+ 1 /* turn floor into ceil */
|
||||
+ 1; /* account for leading sign */
|
||||
+ 1; /* turn floor into ceil */
|
||||
else
|
||||
# endif
|
||||
if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
|
||||
tmp_length =
|
||||
(unsigned int) (sizeof (unsigned long) * CHAR_BIT
|
||||
* 0.30103 /* binary -> decimal */
|
||||
* 2 /* estimate for FLAG_GROUP */
|
||||
)
|
||||
+ 1 /* turn floor into ceil */
|
||||
+ 1; /* account for leading sign */
|
||||
+ 1; /* turn floor into ceil */
|
||||
else
|
||||
tmp_length =
|
||||
(unsigned int) (sizeof (unsigned int) * CHAR_BIT
|
||||
* 0.30103 /* binary -> decimal */
|
||||
* 2 /* estimate for FLAG_GROUP */
|
||||
)
|
||||
+ 1 /* turn floor into ceil */
|
||||
+ 1; /* account for leading sign */
|
||||
+ 1; /* turn floor into ceil */
|
||||
if (tmp_length < precision)
|
||||
tmp_length = precision;
|
||||
/* Multiply by 2, as an estimate for FLAG_GROUP. */
|
||||
tmp_length = xsum (tmp_length, tmp_length);
|
||||
/* Add 1, to account for a leading sign. */
|
||||
tmp_length = xsum (tmp_length, 1);
|
||||
break;
|
||||
|
||||
case 'o':
|
||||
@ -362,8 +366,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
|
||||
(unsigned int) (sizeof (unsigned long long) * CHAR_BIT
|
||||
* 0.333334 /* binary -> octal */
|
||||
)
|
||||
+ 1 /* turn floor into ceil */
|
||||
+ 1; /* account for leading sign */
|
||||
+ 1; /* turn floor into ceil */
|
||||
else
|
||||
# endif
|
||||
if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
|
||||
@ -371,15 +374,17 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
|
||||
(unsigned int) (sizeof (unsigned long) * CHAR_BIT
|
||||
* 0.333334 /* binary -> octal */
|
||||
)
|
||||
+ 1 /* turn floor into ceil */
|
||||
+ 1; /* account for leading sign */
|
||||
+ 1; /* turn floor into ceil */
|
||||
else
|
||||
tmp_length =
|
||||
(unsigned int) (sizeof (unsigned int) * CHAR_BIT
|
||||
* 0.333334 /* binary -> octal */
|
||||
)
|
||||
+ 1 /* turn floor into ceil */
|
||||
+ 1; /* account for leading sign */
|
||||
+ 1; /* turn floor into ceil */
|
||||
if (tmp_length < precision)
|
||||
tmp_length = precision;
|
||||
/* Add 1, to account for a leading sign. */
|
||||
tmp_length = xsum (tmp_length, 1);
|
||||
break;
|
||||
|
||||
case 'x': case 'X':
|
||||
@ -389,8 +394,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
|
||||
(unsigned int) (sizeof (unsigned long long) * CHAR_BIT
|
||||
* 0.25 /* binary -> hexadecimal */
|
||||
)
|
||||
+ 1 /* turn floor into ceil */
|
||||
+ 2; /* account for leading sign or alternate form */
|
||||
+ 1; /* turn floor into ceil */
|
||||
else
|
||||
# endif
|
||||
if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
|
||||
@ -398,15 +402,17 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
|
||||
(unsigned int) (sizeof (unsigned long) * CHAR_BIT
|
||||
* 0.25 /* binary -> hexadecimal */
|
||||
)
|
||||
+ 1 /* turn floor into ceil */
|
||||
+ 2; /* account for leading sign or alternate form */
|
||||
+ 1; /* turn floor into ceil */
|
||||
else
|
||||
tmp_length =
|
||||
(unsigned int) (sizeof (unsigned int) * CHAR_BIT
|
||||
* 0.25 /* binary -> hexadecimal */
|
||||
)
|
||||
+ 1 /* turn floor into ceil */
|
||||
+ 2; /* account for leading sign or alternate form */
|
||||
+ 1; /* turn floor into ceil */
|
||||
if (tmp_length < precision)
|
||||
tmp_length = precision;
|
||||
/* Add 2, to account for a leading sign or alternate form. */
|
||||
tmp_length = xsum (tmp_length, 2);
|
||||
break;
|
||||
|
||||
case 'f': case 'F':
|
||||
@ -864,8 +870,19 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
|
||||
free (buf_malloced);
|
||||
CLEANUP ();
|
||||
*lengthp = length;
|
||||
if (length > INT_MAX)
|
||||
goto length_overflow;
|
||||
return result;
|
||||
|
||||
length_overflow:
|
||||
/* We could produce such a big string, but its length doesn't fit into
|
||||
an 'int'. POSIX says that snprintf() fails with errno = EOVERFLOW in
|
||||
this case. */
|
||||
if (result != resultbuf)
|
||||
free (result);
|
||||
errno = EOVERFLOW;
|
||||
return NULL;
|
||||
|
||||
out_of_memory:
|
||||
if (!(result == resultbuf || result == NULL))
|
||||
free (result);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* vsprintf with automatic memory allocation.
|
||||
Copyright (C) 2002-2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002-2004 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef _VASNPRINTF_H
|
||||
@ -48,7 +48,24 @@ extern "C" {
|
||||
If successful, return the address of the string (this may be = RESULTBUF
|
||||
if no dynamic memory allocation was necessary) and set *LENGTHP to the
|
||||
number of resulting bytes, excluding the trailing NUL. Upon error, set
|
||||
errno and return NULL. */
|
||||
errno and return NULL.
|
||||
|
||||
When dynamic memory allocation occurs, the preallocated buffer is left
|
||||
alone (with possibly modified contents). This makes it possible to use
|
||||
a statically allocated or stack-allocated buffer, like this:
|
||||
|
||||
char buf[100];
|
||||
size_t len = sizeof (buf);
|
||||
char *output = vasnprintf (buf, &len, format, args);
|
||||
if (output == NULL)
|
||||
... error handling ...;
|
||||
else
|
||||
{
|
||||
... use the output string ...;
|
||||
if (output != buf)
|
||||
free (output);
|
||||
}
|
||||
*/
|
||||
extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)
|
||||
__attribute__ ((__format__ (__printf__, 3, 4)));
|
||||
extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args)
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef _VASNWPRINTF_H
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef _WPRINTF_PARSE_H
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
USA. */
|
||||
|
||||
#ifndef _XSIZE_H
|
||||
|
@ -1,3 +1,7 @@
|
||||
2006-11-21 Werner Koch <wk@g10code.com>
|
||||
|
||||
* curl-shim.c (curl_easy_perform): Made BUFLEN and MAXLNE a size_t.
|
||||
|
||||
2006-11-05 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* gpgkeys_hkp.c (curl_mrindex_writer): Revert previous change.
|
||||
|
@ -217,7 +217,9 @@ curl_easy_perform(CURL *curl)
|
||||
err = CURLE_HTTP_RETURNED_ERROR;
|
||||
else
|
||||
{
|
||||
unsigned int maxlen = 1024, buflen, len;
|
||||
size_t maxlen = 1024;
|
||||
size_t buflen;
|
||||
unsigned int len;
|
||||
char *line = NULL;
|
||||
|
||||
while ((len = es_read_line (http_get_read_ptr (curl->hd),
|
||||
|
@ -1,3 +1,8 @@
|
||||
2006-11-21 Werner Koch <wk@g10code.com>
|
||||
|
||||
* gnupg-pth.m4 (GNUPG_PTH_VERSION_CHECK): Use --all with
|
||||
pth-config.
|
||||
|
||||
2006-11-17 Werner Koch <wk@g10code.com>
|
||||
|
||||
* gnupg-pth.m4: Make sure that have_w32_system is set to no by
|
||||
|
@ -1,4 +1,4 @@
|
||||
EXTRA_DIST = intmax.m4 longdouble.m4 longlong.m4 printf-posix.m4 signed.m4 size_max.m4 wchar_t.m4 wint_t.m4 xsize.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4
|
||||
EXTRA_DIST = glibc2.m4 inttypes-h.m4 lock.m4 visibility.m4 intmax.m4 longdouble.m4 longlong.m4 printf-posix.m4 signed.m4 size_max.m4 wchar_t.m4 wint_t.m4 xsize.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4
|
||||
|
||||
EXTRA_DIST += ldap.m4 libcurl.m4 libusb.m4 tar-ustar.m4 readline.m4
|
||||
|
||||
|
@ -1,10 +1,8 @@
|
||||
# codeset.m4 serial AM1 (gettext-0.10.40)
|
||||
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
|
260
m4/gettext.m4
260
m4/gettext.m4
@ -1,10 +1,8 @@
|
||||
# gettext.m4 serial 28 (gettext-0.13)
|
||||
dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# gettext.m4 serial 53 (gettext-0.15)
|
||||
dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file can can be used in projects which are not available under
|
||||
dnl the GNU General Public License or the GNU Library General Public
|
||||
@ -17,7 +15,7 @@ dnl They are *not* in the public domain.
|
||||
|
||||
dnl Authors:
|
||||
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
|
||||
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
|
||||
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2005.
|
||||
|
||||
dnl Macro to add for using GNU gettext.
|
||||
|
||||
@ -65,8 +63,8 @@ AC_DEFUN([AM_GNU_GETTEXT],
|
||||
ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
|
||||
[errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
|
||||
])])])])
|
||||
define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
|
||||
define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
|
||||
define([gt_included_intl], ifelse([$1], [external], [no], [yes]))
|
||||
define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
|
||||
|
||||
AC_REQUIRE([AM_PO_SUBDIRS])dnl
|
||||
ifelse(gt_included_intl, yes, [
|
||||
@ -92,8 +90,11 @@ AC_DEFUN([AM_GNU_GETTEXT],
|
||||
AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
|
||||
])
|
||||
|
||||
dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
|
||||
gt_INTL_MACOSX
|
||||
|
||||
dnl Set USE_NLS.
|
||||
AM_NLS
|
||||
AC_REQUIRE([AM_NLS])
|
||||
|
||||
ifelse(gt_included_intl, yes, [
|
||||
BUILD_INCLUDED_LIBINTL=no
|
||||
@ -129,16 +130,14 @@ AC_DEFUN([AM_GNU_GETTEXT],
|
||||
AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
|
||||
[AC_TRY_LINK([#include <libintl.h>
|
||||
]ifelse([$2], [need-formatstring-macros],
|
||||
[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
|
||||
[[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
|
||||
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
|
||||
#endif
|
||||
changequote(,)dnl
|
||||
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
|
||||
changequote([,])dnl
|
||||
], [])[extern int _nl_msg_cat_cntr;
|
||||
]], [])[extern int _nl_msg_cat_cntr;
|
||||
extern int *_nl_domain_bindings;],
|
||||
[bindtextdomain ("", "");
|
||||
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
|
||||
return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
|
||||
gt_cv_func_gnugettext_libc=yes,
|
||||
gt_cv_func_gnugettext_libc=no)])
|
||||
|
||||
@ -161,20 +160,18 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
|
||||
dnl Now see whether libintl exists and does not depend on libiconv.
|
||||
AC_TRY_LINK([#include <libintl.h>
|
||||
]ifelse([$2], [need-formatstring-macros],
|
||||
[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
|
||||
[[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
|
||||
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
|
||||
#endif
|
||||
changequote(,)dnl
|
||||
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
|
||||
changequote([,])dnl
|
||||
], [])[extern int _nl_msg_cat_cntr;
|
||||
]], [])[extern int _nl_msg_cat_cntr;
|
||||
extern
|
||||
#ifdef __cplusplus
|
||||
"C"
|
||||
#endif
|
||||
const char *_nl_expand_alias ();],
|
||||
const char *_nl_expand_alias (const char *);],
|
||||
[bindtextdomain ("", "");
|
||||
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
|
||||
return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
|
||||
gt_cv_func_gnugettext_libintl=yes,
|
||||
gt_cv_func_gnugettext_libintl=no)
|
||||
dnl Now see whether libintl exists and depends on libiconv.
|
||||
@ -182,20 +179,18 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
|
||||
LIBS="$LIBS $LIBICONV"
|
||||
AC_TRY_LINK([#include <libintl.h>
|
||||
]ifelse([$2], [need-formatstring-macros],
|
||||
[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
|
||||
[[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
|
||||
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
|
||||
#endif
|
||||
changequote(,)dnl
|
||||
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
|
||||
changequote([,])dnl
|
||||
], [])[extern int _nl_msg_cat_cntr;
|
||||
]], [])[extern int _nl_msg_cat_cntr;
|
||||
extern
|
||||
#ifdef __cplusplus
|
||||
"C"
|
||||
#endif
|
||||
const char *_nl_expand_alias ();],
|
||||
const char *_nl_expand_alias (const char *);],
|
||||
[bindtextdomain ("", "");
|
||||
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
|
||||
return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
|
||||
[LIBINTL="$LIBINTL $LIBICONV"
|
||||
LTLIBINTL="$LTLIBINTL $LTLIBICONV"
|
||||
gt_cv_func_gnugettext_libintl=yes
|
||||
@ -233,11 +228,12 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
|
||||
dnl Mark actions used to generate GNU NLS library.
|
||||
BUILD_INCLUDED_LIBINTL=yes
|
||||
USE_INCLUDED_LIBINTL=yes
|
||||
LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
|
||||
LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
|
||||
LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
|
||||
LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
|
||||
LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
|
||||
fi
|
||||
|
||||
CATOBJEXT=
|
||||
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|
||||
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
|
||||
dnl Mark actions to use GNU gettext tools.
|
||||
@ -245,6 +241,15 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
|
||||
fi
|
||||
])
|
||||
|
||||
if test -n "$INTL_MACOSX_LIBS"; then
|
||||
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|
||||
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
|
||||
dnl Some extra flags are needed during linking.
|
||||
LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
|
||||
LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|
||||
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
|
||||
AC_DEFINE(ENABLE_NLS, 1,
|
||||
@ -320,6 +325,7 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
|
||||
AC_SUBST(GENCAT)
|
||||
|
||||
dnl For backward compatibility. Some Makefiles may be using this.
|
||||
INTLOBJS=
|
||||
if test "$USE_INCLUDED_LIBINTL" = yes; then
|
||||
INTLOBJS="\$(GETTOBJS)"
|
||||
fi
|
||||
@ -347,44 +353,31 @@ dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
|
||||
AC_DEFUN([AM_INTL_SUBDIR],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||
AC_REQUIRE([AM_MKINSTALLDIRS])dnl
|
||||
AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([gt_GLIBC2])dnl
|
||||
AC_REQUIRE([AC_PROG_RANLIB])dnl
|
||||
AC_REQUIRE([AC_ISC_POSIX])dnl
|
||||
AC_REQUIRE([AC_HEADER_STDC])dnl
|
||||
AC_REQUIRE([AC_C_CONST])dnl
|
||||
AC_REQUIRE([gl_VISIBILITY])dnl
|
||||
AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl
|
||||
AC_REQUIRE([bh_C_SIGNED])dnl
|
||||
AC_REQUIRE([AC_C_INLINE])dnl
|
||||
AC_REQUIRE([AC_TYPE_OFF_T])dnl
|
||||
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
|
||||
AC_REQUIRE([jm_AC_TYPE_LONG_LONG])dnl
|
||||
AC_REQUIRE([gl_AC_TYPE_LONG_LONG])dnl
|
||||
AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
|
||||
AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
|
||||
AC_REQUIRE([gt_TYPE_WINT_T])dnl
|
||||
AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
|
||||
AC_REQUIRE([jm_AC_HEADER_STDINT_H])
|
||||
AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
|
||||
AC_REQUIRE([gt_TYPE_INTMAX_T])
|
||||
AC_REQUIRE([gt_PRINTF_POSIX])
|
||||
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
|
||||
AC_REQUIRE([AC_FUNC_MMAP])dnl
|
||||
AC_REQUIRE([jm_GLIBC21])dnl
|
||||
AC_REQUIRE([gt_INTDIV0])dnl
|
||||
AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
|
||||
AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
|
||||
AC_REQUIRE([gt_INTTYPES_PRI])dnl
|
||||
AC_REQUIRE([gl_GLIBC21])dnl
|
||||
AC_REQUIRE([gl_XSIZE])dnl
|
||||
AC_REQUIRE([gt_INTL_MACOSX])dnl
|
||||
|
||||
AC_CHECK_TYPE([ptrdiff_t], ,
|
||||
[AC_DEFINE([ptrdiff_t], [long],
|
||||
[Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
|
||||
])
|
||||
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
|
||||
stdlib.h string.h unistd.h sys/param.h])
|
||||
AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \
|
||||
mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \
|
||||
strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \
|
||||
__fsetlocking])
|
||||
AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
|
||||
AC_CHECK_FUNCS([asprintf fwprintf putenv setenv setlocale snprintf wcslen])
|
||||
|
||||
dnl Use the _snprintf function only if it is declared (because on NetBSD it
|
||||
dnl is defined as a weak alias of snprintf; we prefer to use the latter).
|
||||
@ -396,8 +389,6 @@ __fsetlocking])
|
||||
dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
|
||||
dnl on Solaris 2.5.1 to run on Solaris 2.6).
|
||||
dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
|
||||
gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
|
||||
gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
|
||||
gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
|
||||
|
||||
case $gt_cv_func_printf_posix in
|
||||
@ -424,10 +415,125 @@ __fsetlocking])
|
||||
fi
|
||||
AC_SUBST([HAVE_WPRINTF])
|
||||
|
||||
AM_ICONV
|
||||
AM_LANGINFO_CODESET
|
||||
if test $ac_cv_header_locale_h = yes; then
|
||||
AM_LC_MESSAGES
|
||||
gt_LC_MESSAGES
|
||||
|
||||
dnl Compilation on mingw and Cygwin needs special Makefile rules, because
|
||||
dnl 1. when we install a shared library, we must arrange to export
|
||||
dnl auxiliary pointer variables for every exported variable,
|
||||
dnl 2. when we install a shared library and a static library simultaneously,
|
||||
dnl the include file specifies __declspec(dllimport) and therefore we
|
||||
dnl must arrange to define the auxiliary pointer variables for the
|
||||
dnl exported variables _also_ in the static library.
|
||||
if test "$enable_shared" = yes; then
|
||||
case "$host_os" in
|
||||
cygwin*) is_woe32dll=yes ;;
|
||||
*) is_woe32dll=no ;;
|
||||
esac
|
||||
else
|
||||
is_woe32dll=no
|
||||
fi
|
||||
WOE32DLL=$is_woe32dll
|
||||
AC_SUBST([WOE32DLL])
|
||||
|
||||
dnl Rename some macros and functions used for locking.
|
||||
AH_BOTTOM([
|
||||
#define __libc_lock_t gl_lock_t
|
||||
#define __libc_lock_define gl_lock_define
|
||||
#define __libc_lock_define_initialized gl_lock_define_initialized
|
||||
#define __libc_lock_init gl_lock_init
|
||||
#define __libc_lock_lock gl_lock_lock
|
||||
#define __libc_lock_unlock gl_lock_unlock
|
||||
#define __libc_lock_recursive_t gl_recursive_lock_t
|
||||
#define __libc_lock_define_recursive gl_recursive_lock_define
|
||||
#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized
|
||||
#define __libc_lock_init_recursive gl_recursive_lock_init
|
||||
#define __libc_lock_lock_recursive gl_recursive_lock_lock
|
||||
#define __libc_lock_unlock_recursive gl_recursive_lock_unlock
|
||||
#define glthread_in_use libintl_thread_in_use
|
||||
#define glthread_lock_init libintl_lock_init
|
||||
#define glthread_lock_lock libintl_lock_lock
|
||||
#define glthread_lock_unlock libintl_lock_unlock
|
||||
#define glthread_lock_destroy libintl_lock_destroy
|
||||
#define glthread_rwlock_init libintl_rwlock_init
|
||||
#define glthread_rwlock_rdlock libintl_rwlock_rdlock
|
||||
#define glthread_rwlock_wrlock libintl_rwlock_wrlock
|
||||
#define glthread_rwlock_unlock libintl_rwlock_unlock
|
||||
#define glthread_rwlock_destroy libintl_rwlock_destroy
|
||||
#define glthread_recursive_lock_init libintl_recursive_lock_init
|
||||
#define glthread_recursive_lock_lock libintl_recursive_lock_lock
|
||||
#define glthread_recursive_lock_unlock libintl_recursive_lock_unlock
|
||||
#define glthread_recursive_lock_destroy libintl_recursive_lock_destroy
|
||||
#define glthread_once libintl_once
|
||||
#define glthread_once_call libintl_once_call
|
||||
#define glthread_once_singlethreaded libintl_once_singlethreaded
|
||||
])
|
||||
])
|
||||
|
||||
|
||||
dnl Checks for the core files of the intl subdirectory:
|
||||
dnl dcigettext.c
|
||||
dnl eval-plural.h
|
||||
dnl explodename.c
|
||||
dnl finddomain.c
|
||||
dnl gettextP.h
|
||||
dnl gmo.h
|
||||
dnl hash-string.h hash-string.c
|
||||
dnl l10nflist.c
|
||||
dnl libgnuintl.h.in (except the *printf stuff)
|
||||
dnl loadinfo.h
|
||||
dnl loadmsgcat.c
|
||||
dnl localealias.c
|
||||
dnl log.c
|
||||
dnl plural-exp.h plural-exp.c
|
||||
dnl plural.y
|
||||
dnl Used by libglocale.
|
||||
AC_DEFUN([gt_INTL_SUBDIR_CORE],
|
||||
[
|
||||
AC_REQUIRE([AC_C_INLINE])dnl
|
||||
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
|
||||
AC_REQUIRE([gl_AC_HEADER_STDINT_H])
|
||||
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
|
||||
AC_REQUIRE([AC_FUNC_MMAP])dnl
|
||||
AC_REQUIRE([gt_INTDIV0])dnl
|
||||
AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
|
||||
AC_REQUIRE([gl_HEADER_INTTYPES_H])dnl
|
||||
AC_REQUIRE([gt_INTTYPES_PRI])dnl
|
||||
AC_REQUIRE([gl_LOCK])dnl
|
||||
|
||||
AC_TRY_LINK(
|
||||
[int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }],
|
||||
[],
|
||||
[AC_DEFINE([HAVE_BUILTIN_EXPECT], 1,
|
||||
[Define to 1 if the compiler understands __builtin_expect.])])
|
||||
|
||||
AC_CHECK_HEADERS([argz.h limits.h unistd.h sys/param.h])
|
||||
AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \
|
||||
stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \
|
||||
argz_next __fsetlocking])
|
||||
|
||||
dnl Use the *_unlocked functions only if they are declared.
|
||||
dnl (because some of them were defined without being declared in Solaris
|
||||
dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
|
||||
dnl on Solaris 2.5.1 to run on Solaris 2.6).
|
||||
dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
|
||||
gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
|
||||
gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
|
||||
|
||||
AM_ICONV
|
||||
|
||||
dnl glibc >= 2.4 has a NL_LOCALE_NAME macro when _GNU_SOURCE is defined,
|
||||
dnl and a _NL_LOCALE_NAME macro always.
|
||||
AC_CACHE_CHECK([for NL_LOCALE_NAME macro], gt_cv_nl_locale_name,
|
||||
[AC_TRY_LINK([#include <langinfo.h>
|
||||
#include <locale.h>],
|
||||
[char* cs = nl_langinfo(_NL_LOCALE_NAME(LC_MESSAGES));],
|
||||
gt_cv_nl_locale_name=yes,
|
||||
gt_cv_nl_locale_name=no)
|
||||
])
|
||||
if test $gt_cv_nl_locale_name = yes; then
|
||||
AC_DEFINE(HAVE_NL_LOCALE_NAME, 1,
|
||||
[Define if you have <langinfo.h> and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined.])
|
||||
fi
|
||||
|
||||
dnl intl/plural.c is generated from intl/plural.y. It requires bison,
|
||||
@ -463,6 +569,44 @@ changequote([,])dnl
|
||||
])
|
||||
|
||||
|
||||
dnl Checks for special options needed on MacOS X.
|
||||
dnl Defines INTL_MACOSX_LIBS.
|
||||
AC_DEFUN([gt_INTL_MACOSX],
|
||||
[
|
||||
dnl Check for API introduced in MacOS X 10.2.
|
||||
AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
|
||||
gt_cv_func_CFPreferencesCopyAppValue,
|
||||
[gt_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
|
||||
AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
|
||||
[CFPreferencesCopyAppValue(NULL, NULL)],
|
||||
[gt_cv_func_CFPreferencesCopyAppValue=yes],
|
||||
[gt_cv_func_CFPreferencesCopyAppValue=no])
|
||||
LIBS="$gt_save_LIBS"])
|
||||
if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
|
||||
AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
|
||||
[Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
|
||||
fi
|
||||
dnl Check for API introduced in MacOS X 10.3.
|
||||
AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
|
||||
[gt_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
|
||||
AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
|
||||
[gt_cv_func_CFLocaleCopyCurrent=yes],
|
||||
[gt_cv_func_CFLocaleCopyCurrent=no])
|
||||
LIBS="$gt_save_LIBS"])
|
||||
if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
|
||||
AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
|
||||
[Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
|
||||
fi
|
||||
INTL_MACOSX_LIBS=
|
||||
if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
|
||||
INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
|
||||
fi
|
||||
AC_SUBST([INTL_MACOSX_LIBS])
|
||||
])
|
||||
|
||||
|
||||
dnl gt_CHECK_DECL(FUNC, INCLUDES)
|
||||
dnl Check whether a function is declared.
|
||||
AC_DEFUN([gt_CHECK_DECL],
|
||||
|
@ -1,15 +1,13 @@
|
||||
# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
|
||||
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# glibc21.m4 serial 3
|
||||
dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# Test for the GNU C Library, version 2.1 or newer.
|
||||
# From Bruno Haible.
|
||||
|
||||
AC_DEFUN([jm_GLIBC21],
|
||||
AC_DEFUN([gl_GLIBC21],
|
||||
[
|
||||
AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
|
||||
ac_cv_gnu_library_2_1,
|
||||
|
@ -53,7 +53,7 @@ AC_DEFUN([GNUPG_PTH_VERSION_CHECK],
|
||||
_gnupg_pth_save_libs=$LIBS
|
||||
CFLAGS="$CFLAGS `$PTH_CONFIG --cflags`"
|
||||
LDFLAGS="$LDFLAGS `$PTH_CONFIG --ldflags`"
|
||||
LIBS="$LIBS `$PTH_CONFIG --libs`"
|
||||
LIBS="$LIBS `$PTH_CONFIG --libs --all`"
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pth.h>
|
||||
],
|
||||
[[ pth_init ();]])],
|
||||
|
@ -1,10 +1,8 @@
|
||||
# iconv.m4 serial AM4 (gettext-0.11.3)
|
||||
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
|
@ -1,10 +1,8 @@
|
||||
# intdiv0.m4 serial 1 (gettext-0.11.3)
|
||||
dnl Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
|
16
m4/intmax.m4
16
m4/intmax.m4
@ -1,10 +1,8 @@
|
||||
# intmax.m4 serial 1 (gettext-0.12)
|
||||
dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# intmax.m4 serial 2 (gettext-0.14.2)
|
||||
dnl Copyright (C) 2002-2005 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
dnl Test whether the system has the 'intmax_t' type, but don't attempt to
|
||||
@ -12,8 +10,8 @@ dnl find a replacement if it is lacking.
|
||||
|
||||
AC_DEFUN([gt_TYPE_INTMAX_T],
|
||||
[
|
||||
AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
|
||||
AC_REQUIRE([jm_AC_HEADER_STDINT_H])
|
||||
AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
|
||||
AC_REQUIRE([gl_AC_HEADER_STDINT_H])
|
||||
AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
|
||||
[AC_TRY_COMPILE([
|
||||
#include <stddef.h>
|
||||
|
@ -1,10 +1,8 @@
|
||||
# inttypes-pri.m4 serial 1 (gettext-0.11.4)
|
||||
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# inttypes-pri.m4 serial 2 (gettext-0.15)
|
||||
dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
@ -13,8 +11,8 @@ dnl From Bruno Haible.
|
||||
|
||||
AC_DEFUN([gt_INTTYPES_PRI],
|
||||
[
|
||||
AC_REQUIRE([gt_HEADER_INTTYPES_H])
|
||||
if test $gt_cv_header_inttypes_h = yes; then
|
||||
AC_REQUIRE([gl_HEADER_INTTYPES_H])
|
||||
if test $gl_cv_header_inttypes_h = yes; then
|
||||
AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
|
||||
gt_cv_inttypes_pri_broken,
|
||||
[
|
||||
|
@ -1,26 +1,24 @@
|
||||
# inttypes_h.m4 serial 5 (gettext-0.12)
|
||||
dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# inttypes_h.m4 serial 6
|
||||
dnl Copyright (C) 1997-2004 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Paul Eggert.
|
||||
|
||||
# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
|
||||
# doesn't clash with <sys/types.h>, and declares uintmax_t.
|
||||
|
||||
AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
|
||||
AC_DEFUN([gl_AC_HEADER_INTTYPES_H],
|
||||
[
|
||||
AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
|
||||
AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h,
|
||||
[AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
#include <inttypes.h>],
|
||||
[uintmax_t i = (uintmax_t) -1;],
|
||||
jm_ac_cv_header_inttypes_h=yes,
|
||||
jm_ac_cv_header_inttypes_h=no)])
|
||||
if test $jm_ac_cv_header_inttypes_h = yes; then
|
||||
gl_cv_header_inttypes_h=yes,
|
||||
gl_cv_header_inttypes_h=no)])
|
||||
if test $gl_cv_header_inttypes_h = yes; then
|
||||
AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
|
||||
[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
|
||||
and declares uintmax_t. ])
|
||||
|
@ -1,10 +1,8 @@
|
||||
# lcmessage.m4 serial 3 (gettext-0.11.3)
|
||||
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# lcmessage.m4 serial 4 (gettext-0.14.2)
|
||||
dnl Copyright (C) 1995-2002, 2004-2005 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file can can be used in projects which are not available under
|
||||
dnl the GNU General Public License or the GNU Library General Public
|
||||
@ -20,12 +18,12 @@ dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
|
||||
|
||||
# Check whether LC_MESSAGES is available in <locale.h>.
|
||||
|
||||
AC_DEFUN([AM_LC_MESSAGES],
|
||||
AC_DEFUN([gt_LC_MESSAGES],
|
||||
[
|
||||
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
|
||||
AC_CACHE_CHECK([for LC_MESSAGES], gt_cv_val_LC_MESSAGES,
|
||||
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
|
||||
am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
|
||||
if test $am_cv_val_LC_MESSAGES = yes; then
|
||||
gt_cv_val_LC_MESSAGES=yes, gt_cv_val_LC_MESSAGES=no)])
|
||||
if test $gt_cv_val_LC_MESSAGES = yes; then
|
||||
AC_DEFINE(HAVE_LC_MESSAGES, 1,
|
||||
[Define if your <locale.h> file defines LC_MESSAGES.])
|
||||
fi
|
||||
|
@ -1,10 +1,8 @@
|
||||
# lib-ld.m4 serial 3 (gettext-0.13)
|
||||
dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl Subroutines of libtool.m4,
|
||||
dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
|
||||
|
109
m4/lib-link.m4
109
m4/lib-link.m4
@ -1,13 +1,13 @@
|
||||
# lib-link.m4 serial 4 (gettext-0.12)
|
||||
dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# lib-link.m4 serial 8 (gettext-0.15)
|
||||
dnl Copyright (C) 2001-2006 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
AC_PREREQ(2.50)
|
||||
|
||||
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
|
||||
dnl the libraries corresponding to explicit and implicit dependencies.
|
||||
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
|
||||
@ -95,6 +95,8 @@ dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
|
||||
dnl hardcode_direct, hardcode_minus_L.
|
||||
AC_DEFUN([AC_LIB_RPATH],
|
||||
[
|
||||
dnl Tell automake >= 1.10 to complain if config.rpath is missing.
|
||||
m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
|
||||
AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
|
||||
AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
|
||||
@ -124,6 +126,7 @@ dnl the libraries corresponding to explicit and implicit dependencies.
|
||||
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
|
||||
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
[
|
||||
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
|
||||
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
|
||||
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
|
||||
dnl By default, look in $includedir and $libdir.
|
||||
@ -146,7 +149,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
])
|
||||
else
|
||||
additional_includedir="$withval/include"
|
||||
additional_libdir="$withval/lib"
|
||||
additional_libdir="$withval/$acl_libdirstem"
|
||||
fi
|
||||
fi
|
||||
])
|
||||
@ -246,7 +249,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
dnl Linking with a shared library. We attempt to hardcode its
|
||||
dnl directory into the executable's runpath, unless it's the
|
||||
dnl standard /usr/lib.
|
||||
if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
|
||||
if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
|
||||
dnl No hardcoding is needed.
|
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||
else
|
||||
@ -332,8 +335,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
dnl Assume the include files are nearby.
|
||||
additional_includedir=
|
||||
case "$found_dir" in
|
||||
*/lib | */lib/)
|
||||
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
|
||||
*/$acl_libdirstem | */$acl_libdirstem/)
|
||||
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
|
||||
additional_includedir="$basedir/include"
|
||||
;;
|
||||
esac
|
||||
@ -350,7 +353,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
if test "X$additional_includedir" = "X/usr/local/include"; then
|
||||
if test -n "$GCC"; then
|
||||
case $host_os in
|
||||
linux*) haveit=yes;;
|
||||
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
@ -394,12 +397,12 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
dnl 3. if it's already present in $LDFLAGS or the already
|
||||
dnl constructed $LIBNAME,
|
||||
dnl 4. if it doesn't exist as a directory.
|
||||
if test "X$additional_libdir" != "X/usr/lib"; then
|
||||
if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
|
||||
haveit=
|
||||
if test "X$additional_libdir" = "X/usr/local/lib"; then
|
||||
if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
|
||||
if test -n "$GCC"; then
|
||||
case $host_os in
|
||||
linux*) haveit=yes;;
|
||||
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
@ -549,3 +552,79 @@ AC_DEFUN([AC_LIB_APPENDTOVAR],
|
||||
fi
|
||||
done
|
||||
])
|
||||
|
||||
dnl For those cases where a variable contains several -L and -l options
|
||||
dnl referring to unknown libraries and directories, this macro determines the
|
||||
dnl necessary additional linker options for the runtime path.
|
||||
dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
|
||||
dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
|
||||
dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
|
||||
dnl otherwise linking without libtool is assumed.
|
||||
AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
|
||||
[
|
||||
AC_REQUIRE([AC_LIB_RPATH])
|
||||
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
|
||||
$1=
|
||||
if test "$enable_rpath" != no; then
|
||||
if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
|
||||
dnl Use an explicit option to hardcode directories into the resulting
|
||||
dnl binary.
|
||||
rpathdirs=
|
||||
next=
|
||||
for opt in $2; do
|
||||
if test -n "$next"; then
|
||||
dir="$next"
|
||||
dnl No need to hardcode the standard /usr/lib.
|
||||
if test "X$dir" != "X/usr/$acl_libdirstem"; then
|
||||
rpathdirs="$rpathdirs $dir"
|
||||
fi
|
||||
next=
|
||||
else
|
||||
case $opt in
|
||||
-L) next=yes ;;
|
||||
-L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
|
||||
dnl No need to hardcode the standard /usr/lib.
|
||||
if test "X$dir" != "X/usr/$acl_libdirstem"; then
|
||||
rpathdirs="$rpathdirs $dir"
|
||||
fi
|
||||
next= ;;
|
||||
*) next= ;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
if test "X$rpathdirs" != "X"; then
|
||||
if test -n ""$3""; then
|
||||
dnl libtool is used for linking. Use -R options.
|
||||
for dir in $rpathdirs; do
|
||||
$1="${$1}${$1:+ }-R$dir"
|
||||
done
|
||||
else
|
||||
dnl The linker is used for linking directly.
|
||||
if test -n "$hardcode_libdir_separator"; then
|
||||
dnl Weird platform: only the last -rpath option counts, the user
|
||||
dnl must pass all path elements in one option.
|
||||
alldirs=
|
||||
for dir in $rpathdirs; do
|
||||
alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$dir"
|
||||
done
|
||||
acl_save_libdir="$libdir"
|
||||
libdir="$alldirs"
|
||||
eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
libdir="$acl_save_libdir"
|
||||
$1="$flag"
|
||||
else
|
||||
dnl The -rpath options are cumulative.
|
||||
for dir in $rpathdirs; do
|
||||
acl_save_libdir="$libdir"
|
||||
libdir="$dir"
|
||||
eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
libdir="$acl_save_libdir"
|
||||
$1="${$1}${$1:+ }$flag"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
AC_SUBST([$1])
|
||||
])
|
||||
|
@ -1,10 +1,8 @@
|
||||
# lib-prefix.m4 serial 3 (gettext-0.13)
|
||||
dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# lib-prefix.m4 serial 5 (gettext-0.15)
|
||||
dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
@ -26,6 +24,7 @@ AC_DEFUN([AC_LIB_PREFIX],
|
||||
AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
|
||||
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
||||
dnl By default, look in $includedir and $libdir.
|
||||
use_additional=yes
|
||||
@ -47,7 +46,7 @@ AC_DEFUN([AC_LIB_PREFIX],
|
||||
])
|
||||
else
|
||||
additional_includedir="$withval/include"
|
||||
additional_libdir="$withval/lib"
|
||||
additional_libdir="$withval/$acl_libdirstem"
|
||||
fi
|
||||
fi
|
||||
])
|
||||
@ -71,7 +70,7 @@ AC_DEFUN([AC_LIB_PREFIX],
|
||||
if test "X$additional_includedir" = "X/usr/local/include"; then
|
||||
if test -n "$GCC"; then
|
||||
case $host_os in
|
||||
linux*) haveit=yes;;
|
||||
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
@ -89,7 +88,7 @@ AC_DEFUN([AC_LIB_PREFIX],
|
||||
dnl 2. if it's already present in $LDFLAGS,
|
||||
dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
|
||||
dnl 4. if it doesn't exist as a directory.
|
||||
if test "X$additional_libdir" != "X/usr/lib"; then
|
||||
if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
|
||||
haveit=
|
||||
for x in $LDFLAGS; do
|
||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||
@ -99,7 +98,7 @@ AC_DEFUN([AC_LIB_PREFIX],
|
||||
fi
|
||||
done
|
||||
if test -z "$haveit"; then
|
||||
if test "X$additional_libdir" = "X/usr/local/lib"; then
|
||||
if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
|
||||
if test -n "$GCC"; then
|
||||
case $host_os in
|
||||
linux*) haveit=yes;;
|
||||
@ -153,3 +152,34 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
|
||||
exec_prefix="$acl_save_exec_prefix"
|
||||
prefix="$acl_save_prefix"
|
||||
])
|
||||
|
||||
dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
|
||||
dnl the basename of the libdir, either "lib" or "lib64".
|
||||
AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
|
||||
[
|
||||
dnl There is no formal standard regarding lib and lib64. The current
|
||||
dnl practice is that on a system supporting 32-bit and 64-bit instruction
|
||||
dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit
|
||||
dnl libraries go under $prefix/lib. We determine the compiler's default
|
||||
dnl mode by looking at the compiler's library search path. If at least
|
||||
dnl of its elements ends in /lib64 or points to a directory whose absolute
|
||||
dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
|
||||
dnl default, namely "lib".
|
||||
acl_libdirstem=lib
|
||||
searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
|
||||
if test -n "$searchpath"; then
|
||||
acl_save_IFS="${IFS= }"; IFS=":"
|
||||
for searchdir in $searchpath; do
|
||||
if test -d "$searchdir"; then
|
||||
case "$searchdir" in
|
||||
*/lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
|
||||
*) searchdir=`cd "$searchdir" && pwd`
|
||||
case "$searchdir" in
|
||||
*/lib64 ) acl_libdirstem=lib64 ;;
|
||||
esac ;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
IFS="$acl_save_IFS"
|
||||
fi
|
||||
])
|
||||
|
@ -1,15 +1,16 @@
|
||||
# longdouble.m4 serial 1 (gettext-0.12)
|
||||
dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# longdouble.m4 serial 2 (gettext-0.15)
|
||||
dnl Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
dnl Test whether the compiler supports the 'long double' type.
|
||||
dnl Prerequisite: AC_PROG_CC
|
||||
|
||||
dnl This file is only needed in autoconf <= 2.59. Newer versions of autoconf
|
||||
dnl have a macro AC_TYPE_LONG_DOUBLE with identical semantics.
|
||||
|
||||
AC_DEFUN([gt_TYPE_LONGDOUBLE],
|
||||
[
|
||||
AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
|
||||
|
@ -1,16 +1,14 @@
|
||||
# longlong.m4 serial 4
|
||||
dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# longlong.m4 serial 5
|
||||
dnl Copyright (C) 1999-2004 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Paul Eggert.
|
||||
|
||||
# Define HAVE_LONG_LONG if 'long long' works.
|
||||
|
||||
AC_DEFUN([jm_AC_TYPE_LONG_LONG],
|
||||
AC_DEFUN([gl_AC_TYPE_LONG_LONG],
|
||||
[
|
||||
AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
|
||||
[AC_TRY_LINK([long long ll = 1LL; int i = 63;],
|
||||
|
32
m4/nls.m4
32
m4/nls.m4
@ -1,10 +1,8 @@
|
||||
# nls.m4 serial 1 (gettext-0.12)
|
||||
dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# nls.m4 serial 3 (gettext-0.15)
|
||||
dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file can can be used in projects which are not available under
|
||||
dnl the GNU General Public License or the GNU Library General Public
|
||||
@ -19,6 +17,8 @@ dnl Authors:
|
||||
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
|
||||
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
|
||||
|
||||
AC_PREREQ(2.50)
|
||||
|
||||
AC_DEFUN([AM_NLS],
|
||||
[
|
||||
AC_MSG_CHECKING([whether NLS is requested])
|
||||
@ -29,21 +29,3 @@ AC_DEFUN([AM_NLS],
|
||||
AC_MSG_RESULT($USE_NLS)
|
||||
AC_SUBST(USE_NLS)
|
||||
])
|
||||
|
||||
AC_DEFUN([AM_MKINSTALLDIRS],
|
||||
[
|
||||
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
|
||||
dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
|
||||
dnl Try to locate it.
|
||||
MKINSTALLDIRS=
|
||||
if test -n "$ac_aux_dir"; then
|
||||
case "$ac_aux_dir" in
|
||||
/*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
|
||||
*) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
|
||||
esac
|
||||
fi
|
||||
if test -z "$MKINSTALLDIRS"; then
|
||||
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
|
||||
fi
|
||||
AC_SUBST(MKINSTALLDIRS)
|
||||
])
|
||||
|
112
m4/po.m4
112
m4/po.m4
@ -1,10 +1,8 @@
|
||||
# po.m4 serial 3 (gettext-0.14)
|
||||
dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# po.m4 serial 13 (gettext-0.15)
|
||||
dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file can can be used in projects which are not available under
|
||||
dnl the GNU General Public License or the GNU Library General Public
|
||||
@ -19,12 +17,14 @@ dnl Authors:
|
||||
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
|
||||
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
|
||||
|
||||
AC_PREREQ(2.50)
|
||||
|
||||
dnl Checks for all prerequisites of the po subdirectory.
|
||||
AC_DEFUN([AM_PO_SUBDIRS],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||
AC_REQUIRE([AM_MKINSTALLDIRS])dnl
|
||||
AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
|
||||
AC_REQUIRE([AM_NLS])dnl
|
||||
|
||||
dnl Perform the following tests also if --disable-nls has been given,
|
||||
@ -34,59 +34,57 @@ AC_DEFUN([AM_PO_SUBDIRS],
|
||||
dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
|
||||
dnl The second test excludes FreeBSD msgfmt.
|
||||
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
|
||||
[$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
|
||||
[$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
|
||||
(if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
|
||||
:)
|
||||
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
||||
|
||||
dnl Test whether it is GNU msgfmt >= 0.15.
|
||||
changequote(,)dnl
|
||||
case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
|
||||
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
|
||||
*) MSGFMT_015=$MSGFMT ;;
|
||||
esac
|
||||
changequote([,])dnl
|
||||
AC_SUBST([MSGFMT_015])
|
||||
changequote(,)dnl
|
||||
case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
|
||||
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
|
||||
*) GMSGFMT_015=$GMSGFMT ;;
|
||||
esac
|
||||
changequote([,])dnl
|
||||
AC_SUBST([GMSGFMT_015])
|
||||
|
||||
dnl Search for GNU xgettext 0.12 or newer in the PATH.
|
||||
dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
|
||||
dnl The second test excludes FreeBSD xgettext.
|
||||
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||||
[$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
|
||||
[$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
|
||||
(if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
|
||||
:)
|
||||
dnl Remove leftover from FreeBSD xgettext call.
|
||||
rm -f messages.po
|
||||
|
||||
dnl Test whether it is GNU xgettext >= 0.15.
|
||||
changequote(,)dnl
|
||||
case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
|
||||
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
|
||||
*) XGETTEXT_015=$XGETTEXT ;;
|
||||
esac
|
||||
changequote([,])dnl
|
||||
AC_SUBST([XGETTEXT_015])
|
||||
|
||||
dnl Search for GNU msgmerge 0.11 or newer in the PATH.
|
||||
AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
|
||||
[$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
|
||||
[$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
|
||||
|
||||
dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
|
||||
dnl Test whether we really found GNU msgfmt.
|
||||
if test "$GMSGFMT" != ":"; then
|
||||
dnl If it is no GNU msgfmt we define it as : so that the
|
||||
dnl Makefiles still can work.
|
||||
if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
|
||||
(if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
|
||||
: ;
|
||||
else
|
||||
GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
|
||||
AC_MSG_RESULT(
|
||||
[found $GMSGFMT program is not GNU msgfmt; ignore it])
|
||||
GMSGFMT=":"
|
||||
fi
|
||||
fi
|
||||
dnl Installation directories.
|
||||
dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
|
||||
dnl have to define it here, so that it can be used in po/Makefile.
|
||||
test -n "$localedir" || localedir='${datadir}/locale'
|
||||
AC_SUBST([localedir])
|
||||
|
||||
dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
|
||||
dnl Test whether we really found GNU xgettext.
|
||||
if test "$XGETTEXT" != ":"; then
|
||||
dnl If it is no GNU xgettext we define it as : so that the
|
||||
dnl Makefiles still can work.
|
||||
if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
|
||||
(if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
|
||||
: ;
|
||||
else
|
||||
AC_MSG_RESULT(
|
||||
[found xgettext program is not GNU xgettext; ignore it])
|
||||
XGETTEXT=":"
|
||||
fi
|
||||
dnl Remove leftover from FreeBSD xgettext call.
|
||||
rm -f messages.po
|
||||
fi
|
||||
|
||||
AC_OUTPUT_COMMANDS([
|
||||
AC_CONFIG_COMMANDS([po-directories], [[
|
||||
for ac_file in $CONFIG_FILES; do
|
||||
# Support "outfile[:infile[:infile...]]"
|
||||
case "$ac_file" in
|
||||
@ -106,6 +104,9 @@ AC_DEFUN([AM_PO_SUBDIRS],
|
||||
/*) top_srcdir="$ac_given_srcdir" ;;
|
||||
*) top_srcdir="$ac_dots$ac_given_srcdir" ;;
|
||||
esac
|
||||
# Treat a directory as a PO directory if and only if it has a
|
||||
# POTFILES.in file. This allows packages to have multiple PO
|
||||
# directories under different names or in different locations.
|
||||
if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
|
||||
rm -f "$ac_dir/POTFILES"
|
||||
test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
|
||||
@ -119,12 +120,13 @@ AC_DEFUN([AM_PO_SUBDIRS],
|
||||
if test -n "$OBSOLETE_ALL_LINGUAS"; then
|
||||
test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
|
||||
fi
|
||||
ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
|
||||
# Hide the ALL_LINGUAS assigment from automake.
|
||||
ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
|
||||
# Hide the ALL_LINGUAS assigment from automake < 1.5.
|
||||
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
|
||||
POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
|
||||
else
|
||||
# The set of available languages was given in configure.in.
|
||||
# Hide the ALL_LINGUAS assigment from automake < 1.5.
|
||||
eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
|
||||
fi
|
||||
# Compute POFILES
|
||||
@ -194,10 +196,10 @@ AC_DEFUN([AM_PO_SUBDIRS],
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done],
|
||||
done]],
|
||||
[# Capture the value of obsolete ALL_LINGUAS because we need it to compute
|
||||
# POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
|
||||
# from automake.
|
||||
# from automake < 1.5.
|
||||
eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
|
||||
# Capture the value of LINGUAS because we need it to compute CATALOGS.
|
||||
LINGUAS="${LINGUAS-%UNSET%}"
|
||||
@ -283,7 +285,7 @@ x
|
||||
changequote([,])dnl
|
||||
|
||||
# Set POTFILES to the value of the Makefile variable POTFILES.
|
||||
sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`"
|
||||
sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
|
||||
POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
|
||||
# Compute POTFILES_DEPS as
|
||||
# $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
|
||||
@ -298,14 +300,14 @@ changequote([,])dnl
|
||||
fi
|
||||
if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
|
||||
# The LINGUAS file contains the set of available languages.
|
||||
ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
|
||||
ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
|
||||
POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
|
||||
else
|
||||
# Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
|
||||
sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`"
|
||||
sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
|
||||
ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
|
||||
fi
|
||||
# Hide the ALL_LINGUAS assigment from automake.
|
||||
# Hide the ALL_LINGUAS assigment from automake < 1.5.
|
||||
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
|
||||
# Compute POFILES
|
||||
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
|
||||
@ -348,7 +350,7 @@ changequote([,])dnl
|
||||
QMFILES="$QMFILES $srcdirpre$lang.qm"
|
||||
frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
|
||||
MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
|
||||
frobbedlang=`echo $lang | sed -e 's/_/-/g'`
|
||||
frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
|
||||
RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
|
||||
done
|
||||
# CATALOGS depends on both $ac_dir and the user's LINGUAS
|
||||
@ -389,7 +391,7 @@ changequote([,])dnl
|
||||
QTCATALOGS="$QTCATALOGS $lang.qm"
|
||||
frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
|
||||
TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
|
||||
frobbedlang=`echo $lang | sed -e 's/_/-/g'`
|
||||
frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
|
||||
CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
|
||||
done
|
||||
fi
|
||||
@ -409,7 +411,7 @@ EOF
|
||||
if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
|
||||
# Add dependencies that cannot be formulated as a simple suffix rule.
|
||||
for lang in $ALL_LINGUAS; do
|
||||
frobbedlang=`echo $lang | sed -e 's/_/-/g'`
|
||||
frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
|
||||
cat >> "$ac_file.tmp" <<EOF
|
||||
$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
|
||||
@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
|
||||
|
@ -1,10 +1,8 @@
|
||||
# printf-posix.m4 serial 2 (gettext-0.13.1)
|
||||
dnl Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
dnl Test whether the printf() function supports POSIX/XSI format strings with
|
||||
|
@ -1,10 +1,8 @@
|
||||
# progtest.m4 serial 3 (gettext-0.12)
|
||||
dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# progtest.m4 serial 4 (gettext-0.14.2)
|
||||
dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file can can be used in projects which are not available under
|
||||
dnl the GNU General Public License or the GNU Library General Public
|
||||
@ -18,6 +16,8 @@ dnl They are *not* in the public domain.
|
||||
dnl Authors:
|
||||
dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||
|
||||
AC_PREREQ(2.50)
|
||||
|
||||
# Search path for a program which passes the given test.
|
||||
|
||||
dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
|
||||
@ -67,6 +67,7 @@ AC_CACHE_VAL(ac_cv_path_$1,
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
|
||||
echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
|
||||
if [$3]; then
|
||||
ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
|
||||
break 2
|
||||
|
@ -1,10 +1,8 @@
|
||||
# signed.m4 serial 1 (gettext-0.10.40)
|
||||
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
|
@ -1,10 +1,8 @@
|
||||
# size_max.m4 serial 2
|
||||
dnl Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# size_max.m4 serial 4
|
||||
dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
@ -25,16 +23,15 @@ Found it
|
||||
], result=yes)
|
||||
if test -z "$result"; then
|
||||
dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
|
||||
dnl than the type 'unsigned long'.
|
||||
dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',
|
||||
dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
|
||||
_AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
|
||||
[#include <stddef.h>], result=?)
|
||||
_AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
|
||||
[#include <stddef.h>], result=?)
|
||||
dnl than the type 'unsigned long'. Try hard to find a definition that can
|
||||
dnl be used in a preprocessor #if, i.e. doesn't contain a cast.
|
||||
_AC_COMPUTE_INT([sizeof (size_t) * CHAR_BIT - 1], size_t_bits_minus_1,
|
||||
[#include <stddef.h>
|
||||
#include <limits.h>], size_t_bits_minus_1=)
|
||||
_AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
|
||||
[#include <stddef.h>], result=?)
|
||||
if test "$fits_in_uint" = 1; then
|
||||
[#include <stddef.h>], fits_in_uint=)
|
||||
if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then
|
||||
if test $fits_in_uint = 1; then
|
||||
dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
|
||||
dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
|
||||
AC_TRY_COMPILE([#include <stddef.h>
|
||||
@ -42,15 +39,17 @@ Found it
|
||||
extern unsigned long foo;
|
||||
], [], fits_in_uint=0)
|
||||
fi
|
||||
if test -z "$result"; then
|
||||
if test "$fits_in_uint" = 1; then
|
||||
result="$res_hi$res_lo"U
|
||||
dnl We cannot use 'expr' to simplify this expression, because 'expr'
|
||||
dnl works only with 'long' integers in the host environment, while we
|
||||
dnl might be cross-compiling from a 32-bit platform to a 64-bit platform.
|
||||
if test $fits_in_uint = 1; then
|
||||
result="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)"
|
||||
else
|
||||
result="$res_hi$res_lo"UL
|
||||
result="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)"
|
||||
fi
|
||||
else
|
||||
dnl Shouldn't happen, but who knows...
|
||||
result='~(size_t)0'
|
||||
result='((size_t)~(size_t)0)'
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT([$result])
|
||||
|
@ -1,26 +1,24 @@
|
||||
# stdint_h.m4 serial 3 (gettext-0.12)
|
||||
dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# stdint_h.m4 serial 5
|
||||
dnl Copyright (C) 1997-2004 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Paul Eggert.
|
||||
|
||||
# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
|
||||
# doesn't clash with <sys/types.h>, and declares uintmax_t.
|
||||
|
||||
AC_DEFUN([jm_AC_HEADER_STDINT_H],
|
||||
AC_DEFUN([gl_AC_HEADER_STDINT_H],
|
||||
[
|
||||
AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
|
||||
AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h,
|
||||
[AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
#include <stdint.h>],
|
||||
[uintmax_t i = (uintmax_t) -1;],
|
||||
jm_ac_cv_header_stdint_h=yes,
|
||||
jm_ac_cv_header_stdint_h=no)])
|
||||
if test $jm_ac_cv_header_stdint_h = yes; then
|
||||
gl_cv_header_stdint_h=yes,
|
||||
gl_cv_header_stdint_h=no)])
|
||||
if test $gl_cv_header_stdint_h = yes; then
|
||||
AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
|
||||
[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
|
||||
and declares uintmax_t. ])
|
||||
|
@ -1,10 +1,8 @@
|
||||
# uintmax_t.m4 serial 7 (gettext-0.12)
|
||||
dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# uintmax_t.m4 serial 9
|
||||
dnl Copyright (C) 1997-2004 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Paul Eggert.
|
||||
|
||||
@ -13,12 +11,12 @@ AC_PREREQ(2.13)
|
||||
# Define uintmax_t to 'unsigned long' or 'unsigned long long'
|
||||
# if it is not already defined in <stdint.h> or <inttypes.h>.
|
||||
|
||||
AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
|
||||
AC_DEFUN([gl_AC_TYPE_UINTMAX_T],
|
||||
[
|
||||
AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
|
||||
AC_REQUIRE([jm_AC_HEADER_STDINT_H])
|
||||
if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
|
||||
AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
|
||||
AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
|
||||
AC_REQUIRE([gl_AC_HEADER_STDINT_H])
|
||||
if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then
|
||||
AC_REQUIRE([gl_AC_TYPE_UNSIGNED_LONG_LONG])
|
||||
test $ac_cv_type_unsigned_long_long = yes \
|
||||
&& ac_type='unsigned long long' \
|
||||
|| ac_type='unsigned long'
|
||||
|
@ -1,16 +1,14 @@
|
||||
# ulonglong.m4 serial 3
|
||||
dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# ulonglong.m4 serial 4
|
||||
dnl Copyright (C) 1999-2004 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Paul Eggert.
|
||||
|
||||
# Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.
|
||||
|
||||
AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
|
||||
AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG],
|
||||
[
|
||||
AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
|
||||
[AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;],
|
||||
|
@ -1,10 +1,8 @@
|
||||
# wchar_t.m4 serial 1 (gettext-0.12)
|
||||
dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
dnl Test whether <stddef.h> has the 'wchar_t' type.
|
||||
|
@ -1,10 +1,8 @@
|
||||
# wint_t.m4 serial 1 (gettext-0.12)
|
||||
dnl Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
dnl Test whether <wchar.h> has the 'wint_t' type.
|
||||
|
13
m4/xsize.m4
13
m4/xsize.m4
@ -1,14 +1,13 @@
|
||||
# xsize.m4 serial 2
|
||||
dnl Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
# xsize.m4 serial 3
|
||||
dnl Copyright (C) 2003-2004 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([gl_XSIZE],
|
||||
[
|
||||
dnl Prerequisites of lib/xsize.h.
|
||||
AC_REQUIRE([gl_SIZE_MAX])
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
AC_CHECK_HEADERS(stdint.h)
|
||||
])
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Makefile for PO directory in any package using GNU gettext.
|
||||
# Copyright (C) 1995-1997, 2000-2004 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
||||
# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
||||
#
|
||||
# This file can be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU General Public
|
||||
@ -8,10 +8,11 @@
|
||||
# Please note that the actual code of GNU gettext is covered by the GNU
|
||||
# General Public License and is *not* in the public domain.
|
||||
#
|
||||
# Origin: gettext-0.14
|
||||
# Origin: gettext-0.15
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
|
||||
SHELL = /bin/sh
|
||||
@SET_MAKE@
|
||||
@ -22,18 +23,28 @@ VPATH = @srcdir@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
datarootdir = @datarootdir@
|
||||
datadir = @datadir@
|
||||
localedir = $(datadir)/locale
|
||||
localedir = @localedir@
|
||||
gettextsrcdir = $(datadir)/gettext/po
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
|
||||
mkinstalldirs = $(SHELL) @install_sh@ -d
|
||||
mkdir_p = @mkdir_p@
|
||||
|
||||
GMSGFMT = @GMSGFMT@
|
||||
MSGFMT = @MSGFMT@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
GMSGFMT_ = @GMSGFMT@
|
||||
GMSGFMT_no = @GMSGFMT@
|
||||
GMSGFMT_yes = @GMSGFMT_015@
|
||||
GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
|
||||
MSGFMT_ = @MSGFMT@
|
||||
MSGFMT_no = @MSGFMT@
|
||||
MSGFMT_yes = @MSGFMT_015@
|
||||
MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
|
||||
XGETTEXT_ = @XGETTEXT@
|
||||
XGETTEXT_no = @XGETTEXT@
|
||||
XGETTEXT_yes = @XGETTEXT_015@
|
||||
XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
|
||||
MSGMERGE = msgmerge
|
||||
MSGMERGE_UPDATE = @MSGMERGE@ --update
|
||||
MSGINIT = msginit
|
||||
@ -46,7 +57,7 @@ UPDATEPOFILES = @UPDATEPOFILES@
|
||||
DUMMYPOFILES = @DUMMYPOFILES@
|
||||
DISTFILES.common = Makefile.in.in remove-potcdate.sin \
|
||||
$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
|
||||
DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \
|
||||
DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
|
||||
$(POFILES) $(GMOFILES) \
|
||||
$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
|
||||
|
||||
@ -79,6 +90,12 @@ all: all-@USE_NLS@
|
||||
all-yes: stamp-po
|
||||
all-no:
|
||||
|
||||
# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
|
||||
# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
|
||||
# we don't want to bother translators with empty POT files). We assume that
|
||||
# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
|
||||
# In this case, stamp-po is a nop (i.e. a phony target).
|
||||
|
||||
# stamp-po is a timestamp denoting the last time at which the CATALOGS have
|
||||
# been loosely updated. Its purpose is that when a developer or translator
|
||||
# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
|
||||
@ -88,10 +105,13 @@ all-no:
|
||||
# $(POFILES) has been designed to not touch files that don't need to be
|
||||
# changed.
|
||||
stamp-po: $(srcdir)/$(DOMAIN).pot
|
||||
test ! -f $(srcdir)/$(DOMAIN).pot || \
|
||||
test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
|
||||
@echo "touch stamp-po"
|
||||
@echo timestamp > stamp-poT
|
||||
@mv stamp-poT stamp-po
|
||||
@test ! -f $(srcdir)/$(DOMAIN).pot || { \
|
||||
echo "touch stamp-po" && \
|
||||
echo timestamp > stamp-poT && \
|
||||
mv stamp-poT stamp-po; \
|
||||
}
|
||||
|
||||
# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
|
||||
# otherwise packages like GCC can not be built if only parts of the source
|
||||
@ -100,11 +120,16 @@ stamp-po: $(srcdir)/$(DOMAIN).pot
|
||||
# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
|
||||
# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
|
||||
$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
|
||||
if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
|
||||
msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
|
||||
else \
|
||||
msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
|
||||
fi; \
|
||||
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
|
||||
--add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
|
||||
--files-from=$(srcdir)/POTFILES.in \
|
||||
--copyright-holder='$(COPYRIGHT_HOLDER)' \
|
||||
--msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
|
||||
--msgid-bugs-address="$$msgid_bugs_address"
|
||||
test ! -f $(DOMAIN).po || { \
|
||||
if test -f $(srcdir)/$(DOMAIN).pot; then \
|
||||
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
|
||||
@ -143,7 +168,7 @@ install: install-exec install-data
|
||||
install-exec:
|
||||
install-data: install-data-@USE_NLS@
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
|
||||
$(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
|
||||
for file in $(DISTFILES.common) Makevars.template; do \
|
||||
$(INSTALL_DATA) $(srcdir)/$$file \
|
||||
$(DESTDIR)$(gettextsrcdir)/$$file; \
|
||||
@ -156,13 +181,13 @@ install-data: install-data-@USE_NLS@
|
||||
fi
|
||||
install-data-no: all
|
||||
install-data-yes: all
|
||||
$(mkinstalldirs) $(DESTDIR)$(datadir)
|
||||
$(mkdir_p) $(DESTDIR)$(datadir)
|
||||
@catalogs='$(CATALOGS)'; \
|
||||
for cat in $$catalogs; do \
|
||||
cat=`basename $$cat`; \
|
||||
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
|
||||
dir=$(localedir)/$$lang/LC_MESSAGES; \
|
||||
$(mkinstalldirs) $(DESTDIR)$$dir; \
|
||||
$(mkdir_p) $(DESTDIR)$$dir; \
|
||||
if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
|
||||
$(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
|
||||
echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
|
||||
@ -202,19 +227,19 @@ installdirs: installdirs-exec installdirs-data
|
||||
installdirs-exec:
|
||||
installdirs-data: installdirs-data-@USE_NLS@
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
|
||||
$(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
installdirs-data-no:
|
||||
installdirs-data-yes:
|
||||
$(mkinstalldirs) $(DESTDIR)$(datadir)
|
||||
$(mkdir_p) $(DESTDIR)$(datadir)
|
||||
@catalogs='$(CATALOGS)'; \
|
||||
for cat in $$catalogs; do \
|
||||
cat=`basename $$cat`; \
|
||||
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
|
||||
dir=$(localedir)/$$lang/LC_MESSAGES; \
|
||||
$(mkinstalldirs) $(DESTDIR)$$dir; \
|
||||
$(mkdir_p) $(DESTDIR)$$dir; \
|
||||
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
|
||||
if test -n "$$lc"; then \
|
||||
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
|
||||
@ -289,11 +314,14 @@ dist distdir:
|
||||
$(MAKE) update-po
|
||||
@$(MAKE) dist2
|
||||
# This is a separate target because 'update-po' must be executed before.
|
||||
dist2: $(DISTFILES)
|
||||
dist2: stamp-po $(DISTFILES)
|
||||
dists="$(DISTFILES)"; \
|
||||
if test "$(PACKAGE)" = "gettext-tools"; then \
|
||||
dists="$$dists Makevars.template"; \
|
||||
fi; \
|
||||
if test -f $(srcdir)/$(DOMAIN).pot; then \
|
||||
dists="$$dists $(DOMAIN).pot stamp-po"; \
|
||||
fi; \
|
||||
if test -f $(srcdir)/ChangeLog; then \
|
||||
dists="$$dists ChangeLog"; \
|
||||
fi; \
|
||||
@ -305,9 +333,9 @@ dist2: $(DISTFILES)
|
||||
if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
|
||||
for file in $$dists; do \
|
||||
if test -f $$file; then \
|
||||
cp -p $$file $(distdir); \
|
||||
cp -p $$file $(distdir) || exit 1; \
|
||||
else \
|
||||
cp -p $(srcdir)/$$file $(distdir); \
|
||||
cp -p $(srcdir)/$$file $(distdir) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
@ -354,10 +382,9 @@ $(DUMMYPOFILES):
|
||||
update-gmo: Makefile $(GMOFILES)
|
||||
@:
|
||||
|
||||
Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@
|
||||
Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
|
||||
$(SHELL) ./config.status
|
||||
&& $(SHELL) ./config.status $(subdir)/$@.in po-directories
|
||||
|
||||
force:
|
||||
|
||||
|
193
po/be.po
193
po/be.po
@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnupg 1.2.2\n"
|
||||
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
|
||||
"POT-Creation-Date: 2006-11-10 00:40+0100\n"
|
||||
"POT-Creation-Date: 2006-11-21 10:53+0100\n"
|
||||
"PO-Revision-Date: 2003-10-30 16:35+0200\n"
|
||||
"Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
|
||||
"Language-Team: Belarusian <i18n@mova.org>\n"
|
||||
@ -133,7 +133,7 @@ msgid ""
|
||||
"0Awithin gpg-agent's key storage"
|
||||
msgstr ""
|
||||
|
||||
#: agent/command-ssh.c:2857
|
||||
#: agent/command-ssh.c:2853
|
||||
#, fuzzy, c-format
|
||||
msgid "failed to create stream from socket: %s\n"
|
||||
msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
|
||||
@ -283,160 +283,154 @@ msgstr ""
|
||||
msgid "|FILE|write environment settings also to FILE"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
|
||||
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
|
||||
#, fuzzy
|
||||
msgid "Please report bugs to <"
|
||||
msgstr "Калі ласка, паведамляйце пра памылкі на <gnupg-bugs@gnu.org>.\n"
|
||||
|
||||
#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
|
||||
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
|
||||
msgid ">.\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:241
|
||||
#: agent/gpg-agent.c:244
|
||||
#, fuzzy
|
||||
msgid "Usage: gpg-agent [options] (-h for help)"
|
||||
msgstr "Выкарыстаньне: gpg [выбары] [файлы] (-h для даведкі)"
|
||||
|
||||
#: agent/gpg-agent.c:243
|
||||
#: agent/gpg-agent.c:246
|
||||
msgid ""
|
||||
"Syntax: gpg-agent [options] [command [args]]\n"
|
||||
"Secret key management for GnuPG\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:302
|
||||
#: agent/gpg-agent.c:305
|
||||
#, c-format
|
||||
msgid "out of core in secure memory while allocating %lu bytes"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:305
|
||||
#: agent/gpg-agent.c:308
|
||||
#, c-format
|
||||
msgid "out of core while allocating %lu bytes"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
|
||||
#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
|
||||
#, c-format
|
||||
msgid "invalid debug-level `%s' given\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
|
||||
#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
|
||||
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
|
||||
#: tools/symcryptrun.c:1056
|
||||
#, c-format
|
||||
msgid "libgcrypt is too old (need %s, have %s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
|
||||
#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
|
||||
#, c-format
|
||||
msgid "NOTE: no default option file `%s'\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
|
||||
#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
|
||||
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
|
||||
#, c-format
|
||||
msgid "option file `%s': %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
|
||||
#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
|
||||
#, c-format
|
||||
msgid "reading options from `%s'\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
|
||||
#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
|
||||
#: g10/plaintext.c:158
|
||||
#, c-format
|
||||
msgid "error creating `%s': %s\n"
|
||||
msgstr "памылка стварэньня \"%s\": %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
|
||||
#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
|
||||
#: g10/openfile.c:416 scd/scdaemon.c:916
|
||||
#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
|
||||
#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
|
||||
#: g10/openfile.c:416 scd/scdaemon.c:932
|
||||
#, fuzzy, c-format
|
||||
msgid "can't create directory `%s': %s\n"
|
||||
msgstr "%s: немагчыма стварыць тэчку: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
|
||||
#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
|
||||
msgid "name of socket too long\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
|
||||
#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
|
||||
#, fuzzy, c-format
|
||||
msgid "can't create socket: %s\n"
|
||||
msgstr "%s: немагчыма стварыць тэчку: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
|
||||
#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
|
||||
#, fuzzy, c-format
|
||||
msgid "error binding socket to `%s': %s\n"
|
||||
msgstr "памылка стварэньня \"%s\": %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
|
||||
#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
|
||||
#, fuzzy, c-format
|
||||
msgid "listen() failed: %s\n"
|
||||
msgstr "збой падпісаньня: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
|
||||
#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
|
||||
#, fuzzy, c-format
|
||||
msgid "listening on socket `%s'\n"
|
||||
msgstr "запіс у stdout\n"
|
||||
|
||||
#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
|
||||
#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
|
||||
#, fuzzy, c-format
|
||||
msgid "directory `%s' created\n"
|
||||
msgstr "%s: тэчка створана\n"
|
||||
|
||||
#: agent/gpg-agent.c:1338
|
||||
#: agent/gpg-agent.c:1369
|
||||
#, fuzzy, c-format
|
||||
msgid "stat() failed for `%s': %s\n"
|
||||
msgstr "немагчыма адкрыць %s: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1342
|
||||
#: agent/gpg-agent.c:1373
|
||||
#, fuzzy, c-format
|
||||
msgid "can't use `%s' as home directory\n"
|
||||
msgstr "%s: немагчыма стварыць тэчку: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1441
|
||||
#: agent/gpg-agent.c:1475
|
||||
#, c-format
|
||||
msgid "handler 0x%lx for fd %d started\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1446
|
||||
#: agent/gpg-agent.c:1480
|
||||
#, c-format
|
||||
msgid "handler 0x%lx for fd %d terminated\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1460
|
||||
#: agent/gpg-agent.c:1497
|
||||
#, c-format
|
||||
msgid "ssh handler 0x%lx for fd %d started\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1465
|
||||
#: agent/gpg-agent.c:1502
|
||||
#, c-format
|
||||
msgid "ssh handler 0x%lx for fd %d terminated\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
|
||||
#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
|
||||
#, c-format
|
||||
msgid "pth_select failed: %s - waiting 1s\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
|
||||
#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
|
||||
#, c-format
|
||||
msgid "%s %s stopped\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1664
|
||||
#: agent/gpg-agent.c:1725
|
||||
msgid "no gpg-agent running in this session\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
|
||||
#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
|
||||
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
|
||||
msgid "malformed GPG_AGENT_INFO environment variable\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
|
||||
#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
|
||||
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
|
||||
#, c-format
|
||||
msgid "gpg-agent protocol version %d is not supported\n"
|
||||
@ -4136,7 +4130,7 @@ msgstr "збой падпісаньня: %s\n"
|
||||
msgid "Signature expires at %s\n"
|
||||
msgstr "Подпіс створаны ў %.*s з выкарыстаньнем %s ID ключа %08lX\n"
|
||||
|
||||
#: g10/keygen.c:1856
|
||||
#: g10/keygen.c:1854
|
||||
msgid ""
|
||||
"Your system can't display dates beyond 2038.\n"
|
||||
"However, it will be correctly handled up to 2106.\n"
|
||||
@ -4348,7 +4342,7 @@ msgstr "%s: немагчыма стварыць тэчку: %s\n"
|
||||
msgid "NOTE: backup of card key saved to `%s'\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
|
||||
#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
|
||||
msgid "never "
|
||||
msgstr ""
|
||||
|
||||
@ -5355,26 +5349,26 @@ msgstr ""
|
||||
msgid "okay, we are the anonymous recipient.\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/pubkey-enc.c:226
|
||||
#: g10/pubkey-enc.c:227
|
||||
msgid "old encoding of the DEK is not supported\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/pubkey-enc.c:247
|
||||
#: g10/pubkey-enc.c:248
|
||||
#, c-format
|
||||
msgid "cipher algorithm %d%s is unknown or disabled\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/pubkey-enc.c:285
|
||||
#: g10/pubkey-enc.c:286
|
||||
#, c-format
|
||||
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/pubkey-enc.c:305
|
||||
#: g10/pubkey-enc.c:306
|
||||
#, c-format
|
||||
msgid "NOTE: secret key %s expired at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/pubkey-enc.c:311
|
||||
#: g10/pubkey-enc.c:312
|
||||
msgid "NOTE: key has been revoked"
|
||||
msgstr ""
|
||||
|
||||
@ -5533,12 +5527,12 @@ msgstr ""
|
||||
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/seskey.c:243
|
||||
#: g10/seskey.c:242
|
||||
#, c-format
|
||||
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/seskey.c:255
|
||||
#: g10/seskey.c:254
|
||||
#, c-format
|
||||
msgid "DSA key %s requires a %u bit or larger hash\n"
|
||||
msgstr ""
|
||||
@ -6050,7 +6044,7 @@ msgstr ""
|
||||
msgid "input line %u too long or missing LF\n"
|
||||
msgstr ""
|
||||
|
||||
#: jnlib/logging.c:619
|
||||
#: jnlib/logging.c:626
|
||||
#, c-format
|
||||
msgid "you found a bug ... (%s:%d)\n"
|
||||
msgstr ""
|
||||
@ -6083,10 +6077,6 @@ msgstr ""
|
||||
msgid "Please report bugs to "
|
||||
msgstr "Калі ласка, паведамляйце пра памылкі на <gnupg-bugs@gnu.org>.\n"
|
||||
|
||||
#: kbx/kbxutil.c:108
|
||||
msgid ".\n"
|
||||
msgstr ""
|
||||
|
||||
#: kbx/kbxutil.c:112
|
||||
#, fuzzy
|
||||
msgid "Usage: kbxutil [options] [files] (-h for help)"
|
||||
@ -6117,47 +6107,52 @@ msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
|
||||
msgid "reading public key failed: %s\n"
|
||||
msgstr "грамадскі ключ ня знойдзены"
|
||||
|
||||
#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
|
||||
#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
|
||||
msgid "response does not contain the public key data\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
|
||||
#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
|
||||
msgid "response does not contain the RSA modulus\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
|
||||
#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
|
||||
msgid "response does not contain the RSA public exponent\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
|
||||
#: scd/app-openpgp.c:1306
|
||||
msgid "||Please enter your PIN at the reader's keypad"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
|
||||
#: scd/app-openpgp.c:2247
|
||||
#, c-format
|
||||
msgid "PIN callback returned error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
|
||||
#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
|
||||
#, c-format
|
||||
msgid "PIN for CHV%d is too short; minimum length is %d\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
|
||||
#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
|
||||
#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
|
||||
#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
|
||||
#, fuzzy, c-format
|
||||
msgid "verify CHV%d failed: %s\n"
|
||||
msgstr "збой падпісаньня: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1354
|
||||
#: scd/app-openpgp.c:1379
|
||||
msgid "access to admin commands is not configured\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
|
||||
#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
|
||||
msgid "error retrieving CHV status from card\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
|
||||
#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
|
||||
msgid "card is permanently locked!\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1380
|
||||
#: scd/app-openpgp.c:1405
|
||||
#, c-format
|
||||
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
|
||||
msgstr ""
|
||||
@ -6165,112 +6160,112 @@ msgstr ""
|
||||
#. TRANSLATORS: Do not translate the "|A|" prefix but
|
||||
#. keep it at the start of the string. We need this elsewhere
|
||||
#. to get some infos on the string.
|
||||
#: scd/app-openpgp.c:1387
|
||||
#: scd/app-openpgp.c:1412
|
||||
msgid "|A|Admin PIN"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: Do not translate the "|*|" prefixes but
|
||||
#. keep it at the start of the string. We need this elsewhere
|
||||
#. to get some infos on the string.
|
||||
#: scd/app-openpgp.c:1536
|
||||
#: scd/app-openpgp.c:1561
|
||||
msgid "|AN|New Admin PIN"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1536
|
||||
#: scd/app-openpgp.c:1561
|
||||
msgid "|N|New PIN"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1540
|
||||
#: scd/app-openpgp.c:1565
|
||||
#, fuzzy, c-format
|
||||
msgid "error getting new PIN: %s\n"
|
||||
msgstr "памылка стварэньня \"%s\": %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
|
||||
#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
|
||||
msgid "error reading application data\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
|
||||
#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
|
||||
#, fuzzy
|
||||
msgid "error reading fingerprint DO\n"
|
||||
msgstr "паказаць ключы й адбіткі пальцаў"
|
||||
|
||||
#: scd/app-openpgp.c:1606
|
||||
#: scd/app-openpgp.c:1631
|
||||
#, fuzzy
|
||||
msgid "key already exists\n"
|
||||
msgstr "выдаліць ключы са зьвязку сакрэтных ключоў"
|
||||
|
||||
#: scd/app-openpgp.c:1610
|
||||
#: scd/app-openpgp.c:1635
|
||||
msgid "existing key will be replaced\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1612
|
||||
#: scd/app-openpgp.c:1637
|
||||
#, fuzzy
|
||||
msgid "generating new key\n"
|
||||
msgstr "стварыць новую пару ключоў"
|
||||
|
||||
#: scd/app-openpgp.c:1779
|
||||
#: scd/app-openpgp.c:1804
|
||||
msgid "creation timestamp missing\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1786
|
||||
#: scd/app-openpgp.c:1811
|
||||
#, c-format
|
||||
msgid "RSA modulus missing or not of size %d bits\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1793
|
||||
#: scd/app-openpgp.c:1818
|
||||
#, c-format
|
||||
msgid "RSA public exponent missing or larger than %d bits\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
|
||||
#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
|
||||
#, c-format
|
||||
msgid "RSA prime %s missing or not of size %d bits\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1871
|
||||
#: scd/app-openpgp.c:1896
|
||||
#, fuzzy, c-format
|
||||
msgid "failed to store the key: %s\n"
|
||||
msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1930
|
||||
#: scd/app-openpgp.c:1955
|
||||
msgid "please wait while key is being generated ...\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1944
|
||||
#: scd/app-openpgp.c:1969
|
||||
#, fuzzy
|
||||
msgid "generating key failed\n"
|
||||
msgstr "стварыць новую пару ключоў"
|
||||
|
||||
#: scd/app-openpgp.c:1947
|
||||
#: scd/app-openpgp.c:1972
|
||||
#, c-format
|
||||
msgid "key generation completed (%d seconds)\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:2004
|
||||
#: scd/app-openpgp.c:2029
|
||||
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:2141
|
||||
#: scd/app-openpgp.c:2166
|
||||
#, fuzzy, c-format
|
||||
msgid "card does not support digest algorithm %s\n"
|
||||
msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
|
||||
|
||||
#: scd/app-openpgp.c:2202
|
||||
#: scd/app-openpgp.c:2227
|
||||
#, c-format
|
||||
msgid "signatures created so far: %lu\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:2210
|
||||
#: scd/app-openpgp.c:2235
|
||||
#, c-format
|
||||
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:2475
|
||||
#: scd/app-openpgp.c:2500
|
||||
msgid ""
|
||||
"verification of Admin PIN is currently prohibited through this command\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
|
||||
#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
|
||||
#, c-format
|
||||
msgid "can't access %s - invalid OpenPGP card?\n"
|
||||
msgstr ""
|
||||
@ -6321,16 +6316,16 @@ msgid ""
|
||||
"Smartcard daemon for GnuPG\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/scdaemon.c:672
|
||||
#: scd/scdaemon.c:682
|
||||
msgid "please use the option `--daemon' to run the program in the background\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/scdaemon.c:1013
|
||||
#: scd/scdaemon.c:1030
|
||||
#, c-format
|
||||
msgid "handler for fd %d started\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/scdaemon.c:1018
|
||||
#: scd/scdaemon.c:1035
|
||||
#, c-format
|
||||
msgid "handler for fd %d terminated\n"
|
||||
msgstr ""
|
||||
@ -6501,35 +6496,35 @@ msgstr "DSA патрабуе выкарыстаньня 160-і бітавага
|
||||
msgid "(this is the MD2 algorithm)\n"
|
||||
msgstr ""
|
||||
|
||||
#: sm/certdump.c:61 sm/certdump.c:147
|
||||
#: sm/certdump.c:68 sm/certdump.c:154
|
||||
#, fuzzy
|
||||
msgid "none"
|
||||
msgstr "no [не]"
|
||||
|
||||
#: sm/certdump.c:156
|
||||
#: sm/certdump.c:163
|
||||
#, fuzzy
|
||||
msgid "[none]"
|
||||
msgstr "невядомая вэрсыя"
|
||||
|
||||
#: sm/certdump.c:529 sm/certdump.c:592
|
||||
#: sm/certdump.c:536 sm/certdump.c:599
|
||||
#, fuzzy
|
||||
msgid "[Error - invalid encoding]"
|
||||
msgstr "паказаць ключы й адбіткі пальцаў"
|
||||
|
||||
#: sm/certdump.c:537
|
||||
#: sm/certdump.c:544
|
||||
msgid "[Error - out of core]"
|
||||
msgstr ""
|
||||
|
||||
#: sm/certdump.c:572
|
||||
#: sm/certdump.c:579
|
||||
msgid "[Error - No name]"
|
||||
msgstr ""
|
||||
|
||||
#: sm/certdump.c:597
|
||||
#: sm/certdump.c:604
|
||||
#, fuzzy
|
||||
msgid "[Error - invalid DN]"
|
||||
msgstr "паказаць ключы й адбіткі пальцаў"
|
||||
|
||||
#: sm/certdump.c:758
|
||||
#: sm/certdump.c:818
|
||||
#, fuzzy, c-format
|
||||
msgid ""
|
||||
"Please enter the passphrase to unlock the secret key for:\n"
|
||||
@ -7027,12 +7022,12 @@ msgstr ""
|
||||
msgid " using certificate ID %08lX\n"
|
||||
msgstr ""
|
||||
|
||||
#: sm/verify.c:506
|
||||
#: sm/verify.c:509
|
||||
#, fuzzy
|
||||
msgid "Good signature from"
|
||||
msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
|
||||
|
||||
#: sm/verify.c:507
|
||||
#: sm/verify.c:510
|
||||
msgid " aka"
|
||||
msgstr ""
|
||||
|
||||
|
198
po/ca.po
198
po/ca.po
@ -27,7 +27,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnupg 1.4.0\n"
|
||||
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
|
||||
"POT-Creation-Date: 2006-11-10 00:40+0100\n"
|
||||
"POT-Creation-Date: 2006-11-21 10:53+0100\n"
|
||||
"PO-Revision-Date: 2005-02-04 02:04+0100\n"
|
||||
"Last-Translator: Jordi Mallach <jordi@gnu.org>\n"
|
||||
"Language-Team: Catalan <ca@dodds.net>\n"
|
||||
@ -155,7 +155,7 @@ msgid ""
|
||||
"0Awithin gpg-agent's key storage"
|
||||
msgstr ""
|
||||
|
||||
#: agent/command-ssh.c:2857
|
||||
#: agent/command-ssh.c:2853
|
||||
#, fuzzy, c-format
|
||||
msgid "failed to create stream from socket: %s\n"
|
||||
msgstr "%s: no s'ha pogut crear la taula de dispersió: %s\n"
|
||||
@ -312,161 +312,155 @@ msgstr ""
|
||||
msgid "|FILE|write environment settings also to FILE"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
|
||||
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
|
||||
#, fuzzy
|
||||
msgid "Please report bugs to <"
|
||||
msgstr "Si us plau, informeu sobre els errors a <gnupg-bugs@gnu.org>.\n"
|
||||
|
||||
#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
|
||||
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
|
||||
msgid ">.\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:241
|
||||
#: agent/gpg-agent.c:244
|
||||
#, fuzzy
|
||||
msgid "Usage: gpg-agent [options] (-h for help)"
|
||||
msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
|
||||
|
||||
#: agent/gpg-agent.c:243
|
||||
#: agent/gpg-agent.c:246
|
||||
msgid ""
|
||||
"Syntax: gpg-agent [options] [command [args]]\n"
|
||||
"Secret key management for GnuPG\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:302
|
||||
#: agent/gpg-agent.c:305
|
||||
#, c-format
|
||||
msgid "out of core in secure memory while allocating %lu bytes"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:305
|
||||
#: agent/gpg-agent.c:308
|
||||
#, c-format
|
||||
msgid "out of core while allocating %lu bytes"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
|
||||
#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
|
||||
#, c-format
|
||||
msgid "invalid debug-level `%s' given\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
|
||||
#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
|
||||
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
|
||||
#: tools/symcryptrun.c:1056
|
||||
#, c-format
|
||||
msgid "libgcrypt is too old (need %s, have %s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
|
||||
#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
|
||||
#, c-format
|
||||
msgid "NOTE: no default option file `%s'\n"
|
||||
msgstr "NOTA: no existeix el fitxer d'opcions predeterminades «%s»\n"
|
||||
|
||||
#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
|
||||
#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
|
||||
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
|
||||
#, c-format
|
||||
msgid "option file `%s': %s\n"
|
||||
msgstr "fitxer d'opcions «%s»: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
|
||||
#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
|
||||
#, c-format
|
||||
msgid "reading options from `%s'\n"
|
||||
msgstr "s'estan llegint opcions de «%s»\n"
|
||||
|
||||
#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
|
||||
#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
|
||||
#: g10/plaintext.c:158
|
||||
#, c-format
|
||||
msgid "error creating `%s': %s\n"
|
||||
msgstr "error en crear «%s»: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
|
||||
#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
|
||||
#: g10/openfile.c:416 scd/scdaemon.c:916
|
||||
#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
|
||||
#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
|
||||
#: g10/openfile.c:416 scd/scdaemon.c:932
|
||||
#, c-format
|
||||
msgid "can't create directory `%s': %s\n"
|
||||
msgstr "no es pot crear el directori «%s»: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
|
||||
#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
|
||||
msgid "name of socket too long\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
|
||||
#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
|
||||
#, fuzzy, c-format
|
||||
msgid "can't create socket: %s\n"
|
||||
msgstr "no s'ha pogut crear «%s»: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
|
||||
#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
|
||||
#, fuzzy, c-format
|
||||
msgid "error binding socket to `%s': %s\n"
|
||||
msgstr "error mentre s'enviava a «%s»: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
|
||||
#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
|
||||
#, fuzzy, c-format
|
||||
msgid "listen() failed: %s\n"
|
||||
msgstr "ha fallat l'actualització: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
|
||||
#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
|
||||
#, fuzzy, c-format
|
||||
msgid "listening on socket `%s'\n"
|
||||
msgstr "s'està escrivint la clau secreta a «%s»\n"
|
||||
|
||||
#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
|
||||
#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
|
||||
#, fuzzy, c-format
|
||||
msgid "directory `%s' created\n"
|
||||
msgstr "%s: s'ha creat el directori\n"
|
||||
|
||||
#: agent/gpg-agent.c:1338
|
||||
#: agent/gpg-agent.c:1369
|
||||
#, fuzzy, c-format
|
||||
msgid "stat() failed for `%s': %s\n"
|
||||
msgstr "base de dades de confiança: ha fallat la lectura (n=%d): %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1342
|
||||
#: agent/gpg-agent.c:1373
|
||||
#, fuzzy, c-format
|
||||
msgid "can't use `%s' as home directory\n"
|
||||
msgstr "%s: no s'ha pogut crear el directori: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1441
|
||||
#: agent/gpg-agent.c:1475
|
||||
#, c-format
|
||||
msgid "handler 0x%lx for fd %d started\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1446
|
||||
#: agent/gpg-agent.c:1480
|
||||
#, c-format
|
||||
msgid "handler 0x%lx for fd %d terminated\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1460
|
||||
#: agent/gpg-agent.c:1497
|
||||
#, c-format
|
||||
msgid "ssh handler 0x%lx for fd %d started\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1465
|
||||
#: agent/gpg-agent.c:1502
|
||||
#, c-format
|
||||
msgid "ssh handler 0x%lx for fd %d terminated\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
|
||||
#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
|
||||
#, fuzzy, c-format
|
||||
msgid "pth_select failed: %s - waiting 1s\n"
|
||||
msgstr "ha fallat l'actualització de la clau secreta: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
|
||||
#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
|
||||
#, fuzzy, c-format
|
||||
msgid "%s %s stopped\n"
|
||||
msgstr "\t%lu claus es descarta\n"
|
||||
|
||||
#: agent/gpg-agent.c:1664
|
||||
#: agent/gpg-agent.c:1725
|
||||
#, fuzzy
|
||||
msgid "no gpg-agent running in this session\n"
|
||||
msgstr "gpg-agent no està disponible en aquesta sessió\n"
|
||||
|
||||
#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
|
||||
#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
|
||||
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
|
||||
msgid "malformed GPG_AGENT_INFO environment variable\n"
|
||||
msgstr "la variable d'entorn GPG_AGENT_INFO és malformada\n"
|
||||
|
||||
#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
|
||||
#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
|
||||
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
|
||||
#, c-format
|
||||
msgid "gpg-agent protocol version %d is not supported\n"
|
||||
@ -4516,7 +4510,7 @@ msgstr "Aquesta signatura caduca el %s\n"
|
||||
|
||||
# Amb «it» es refereix a les dates? ivb
|
||||
# Això vaig entendre jo. jm
|
||||
#: g10/keygen.c:1856
|
||||
#: g10/keygen.c:1854
|
||||
msgid ""
|
||||
"Your system can't display dates beyond 2038.\n"
|
||||
"However, it will be correctly handled up to 2106.\n"
|
||||
@ -4766,7 +4760,7 @@ msgstr "no s'ha pogut crear «%s»: %s\n"
|
||||
msgid "NOTE: backup of card key saved to `%s'\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
|
||||
#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
|
||||
msgid "never "
|
||||
msgstr "mai "
|
||||
|
||||
@ -5843,26 +5837,26 @@ msgstr "el destinatari és anònim; es provarà la clau secreta %08lX ...\n"
|
||||
msgid "okay, we are the anonymous recipient.\n"
|
||||
msgstr "d'acord, som el destinatari anònim.\n"
|
||||
|
||||
#: g10/pubkey-enc.c:226
|
||||
#: g10/pubkey-enc.c:227
|
||||
msgid "old encoding of the DEK is not supported\n"
|
||||
msgstr "la codificació antiga del DEK no està suportada\n"
|
||||
|
||||
#: g10/pubkey-enc.c:247
|
||||
#: g10/pubkey-enc.c:248
|
||||
#, c-format
|
||||
msgid "cipher algorithm %d%s is unknown or disabled\n"
|
||||
msgstr "l'algoritme de xifratge %d%s és desconegut o està desactivat\n"
|
||||
|
||||
#: g10/pubkey-enc.c:285
|
||||
#: g10/pubkey-enc.c:286
|
||||
#, fuzzy, c-format
|
||||
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
|
||||
msgstr "NOTA: no s'ha trobat l'algoritme de xifratge %d en les preferències\n"
|
||||
|
||||
#: g10/pubkey-enc.c:305
|
||||
#: g10/pubkey-enc.c:306
|
||||
#, fuzzy, c-format
|
||||
msgid "NOTE: secret key %s expired at %s\n"
|
||||
msgstr "NOTA: la clau secreta %08lX caduca el %s\n"
|
||||
|
||||
#: g10/pubkey-enc.c:311
|
||||
#: g10/pubkey-enc.c:312
|
||||
msgid "NOTE: key has been revoked"
|
||||
msgstr "NOTA: aquesta clau ha estat revocada!"
|
||||
|
||||
@ -6036,12 +6030,12 @@ msgstr ""
|
||||
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/seskey.c:243
|
||||
#: g10/seskey.c:242
|
||||
#, c-format
|
||||
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/seskey.c:255
|
||||
#: g10/seskey.c:254
|
||||
#, c-format
|
||||
msgid "DSA key %s requires a %u bit or larger hash\n"
|
||||
msgstr ""
|
||||
@ -6608,7 +6602,7 @@ msgstr ""
|
||||
msgid "input line %u too long or missing LF\n"
|
||||
msgstr "la línia d'entrada %u és massa llarga o hi falta un fí de línia\n"
|
||||
|
||||
#: jnlib/logging.c:619
|
||||
#: jnlib/logging.c:626
|
||||
#, c-format
|
||||
msgid "you found a bug ... (%s:%d)\n"
|
||||
msgstr "heu trobat un bug... (%s:%d)\n"
|
||||
@ -6641,11 +6635,6 @@ msgstr ""
|
||||
msgid "Please report bugs to "
|
||||
msgstr "Si us plau, informeu sobre els errors a <gnupg-bugs@gnu.org>.\n"
|
||||
|
||||
#: kbx/kbxutil.c:108
|
||||
#, fuzzy
|
||||
msgid ".\n"
|
||||
msgstr "%s.\n"
|
||||
|
||||
#: kbx/kbxutil.c:112
|
||||
#, fuzzy
|
||||
msgid "Usage: kbxutil [options] [files] (-h for help)"
|
||||
@ -6676,47 +6665,52 @@ msgstr "no s'ha pogut reconstruir la memòria cau de l'anell: %s\n"
|
||||
msgid "reading public key failed: %s\n"
|
||||
msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
|
||||
#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
|
||||
msgid "response does not contain the public key data\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
|
||||
#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
|
||||
msgid "response does not contain the RSA modulus\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
|
||||
#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
|
||||
msgid "response does not contain the RSA public exponent\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
|
||||
#: scd/app-openpgp.c:1306
|
||||
msgid "||Please enter your PIN at the reader's keypad"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
|
||||
#: scd/app-openpgp.c:2247
|
||||
#, c-format
|
||||
msgid "PIN callback returned error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
|
||||
#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
|
||||
#, c-format
|
||||
msgid "PIN for CHV%d is too short; minimum length is %d\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
|
||||
#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
|
||||
#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
|
||||
#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
|
||||
#, fuzzy, c-format
|
||||
msgid "verify CHV%d failed: %s\n"
|
||||
msgstr "l'enviament al servidor de claus ha fallat: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1354
|
||||
#: scd/app-openpgp.c:1379
|
||||
msgid "access to admin commands is not configured\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
|
||||
#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
|
||||
msgid "error retrieving CHV status from card\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
|
||||
#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
|
||||
msgid "card is permanently locked!\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1380
|
||||
#: scd/app-openpgp.c:1405
|
||||
#, c-format
|
||||
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
|
||||
msgstr ""
|
||||
@ -6724,113 +6718,113 @@ msgstr ""
|
||||
#. TRANSLATORS: Do not translate the "|A|" prefix but
|
||||
#. keep it at the start of the string. We need this elsewhere
|
||||
#. to get some infos on the string.
|
||||
#: scd/app-openpgp.c:1387
|
||||
#: scd/app-openpgp.c:1412
|
||||
msgid "|A|Admin PIN"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: Do not translate the "|*|" prefixes but
|
||||
#. keep it at the start of the string. We need this elsewhere
|
||||
#. to get some infos on the string.
|
||||
#: scd/app-openpgp.c:1536
|
||||
#: scd/app-openpgp.c:1561
|
||||
msgid "|AN|New Admin PIN"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1536
|
||||
#: scd/app-openpgp.c:1561
|
||||
msgid "|N|New PIN"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1540
|
||||
#: scd/app-openpgp.c:1565
|
||||
#, fuzzy, c-format
|
||||
msgid "error getting new PIN: %s\n"
|
||||
msgstr "error en crear «%s»: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
|
||||
#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
|
||||
#, fuzzy
|
||||
msgid "error reading application data\n"
|
||||
msgstr "s'ha produït un error en llegir el bloc de claus: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
|
||||
#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
|
||||
#, fuzzy
|
||||
msgid "error reading fingerprint DO\n"
|
||||
msgstr "error: l'empremta digital és invàlida\n"
|
||||
|
||||
#: scd/app-openpgp.c:1606
|
||||
#: scd/app-openpgp.c:1631
|
||||
#, fuzzy
|
||||
msgid "key already exists\n"
|
||||
msgstr "«%s» ja està comprimida\n"
|
||||
|
||||
#: scd/app-openpgp.c:1610
|
||||
#: scd/app-openpgp.c:1635
|
||||
msgid "existing key will be replaced\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1612
|
||||
#: scd/app-openpgp.c:1637
|
||||
#, fuzzy
|
||||
msgid "generating new key\n"
|
||||
msgstr "genera un nou parell de claus"
|
||||
|
||||
#: scd/app-openpgp.c:1779
|
||||
#: scd/app-openpgp.c:1804
|
||||
msgid "creation timestamp missing\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1786
|
||||
#: scd/app-openpgp.c:1811
|
||||
#, c-format
|
||||
msgid "RSA modulus missing or not of size %d bits\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1793
|
||||
#: scd/app-openpgp.c:1818
|
||||
#, c-format
|
||||
msgid "RSA public exponent missing or larger than %d bits\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
|
||||
#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
|
||||
#, c-format
|
||||
msgid "RSA prime %s missing or not of size %d bits\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1871
|
||||
#: scd/app-openpgp.c:1896
|
||||
#, fuzzy, c-format
|
||||
msgid "failed to store the key: %s\n"
|
||||
msgstr "no s'ha pogut inicialitzar la base de dades de confiança: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1930
|
||||
#: scd/app-openpgp.c:1955
|
||||
msgid "please wait while key is being generated ...\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1944
|
||||
#: scd/app-openpgp.c:1969
|
||||
#, fuzzy
|
||||
msgid "generating key failed\n"
|
||||
msgstr "La generació de claus ha fallat: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1947
|
||||
#: scd/app-openpgp.c:1972
|
||||
#, fuzzy, c-format
|
||||
msgid "key generation completed (%d seconds)\n"
|
||||
msgstr "La generació de claus ha fallat: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:2004
|
||||
#: scd/app-openpgp.c:2029
|
||||
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:2141
|
||||
#: scd/app-openpgp.c:2166
|
||||
#, fuzzy, c-format
|
||||
msgid "card does not support digest algorithm %s\n"
|
||||
msgstr "signatura %s, algorisme de resum %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:2202
|
||||
#: scd/app-openpgp.c:2227
|
||||
#, c-format
|
||||
msgid "signatures created so far: %lu\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:2210
|
||||
#: scd/app-openpgp.c:2235
|
||||
#, c-format
|
||||
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:2475
|
||||
#: scd/app-openpgp.c:2500
|
||||
msgid ""
|
||||
"verification of Admin PIN is currently prohibited through this command\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
|
||||
#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
|
||||
#, c-format
|
||||
msgid "can't access %s - invalid OpenPGP card?\n"
|
||||
msgstr ""
|
||||
@ -6883,16 +6877,16 @@ msgid ""
|
||||
"Smartcard daemon for GnuPG\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/scdaemon.c:672
|
||||
#: scd/scdaemon.c:682
|
||||
msgid "please use the option `--daemon' to run the program in the background\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/scdaemon.c:1013
|
||||
#: scd/scdaemon.c:1030
|
||||
#, c-format
|
||||
msgid "handler for fd %d started\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/scdaemon.c:1018
|
||||
#: scd/scdaemon.c:1035
|
||||
#, c-format
|
||||
msgid "handler for fd %d terminated\n"
|
||||
msgstr ""
|
||||
@ -7075,30 +7069,30 @@ msgstr "DSA requereix l'ús d'un algoritme de dispersió de 160 bits\n"
|
||||
msgid "(this is the MD2 algorithm)\n"
|
||||
msgstr ""
|
||||
|
||||
#: sm/certdump.c:61 sm/certdump.c:147
|
||||
#: sm/certdump.c:68 sm/certdump.c:154
|
||||
#, fuzzy
|
||||
msgid "none"
|
||||
msgstr "no"
|
||||
|
||||
#: sm/certdump.c:156
|
||||
#: sm/certdump.c:163
|
||||
#, fuzzy
|
||||
msgid "[none]"
|
||||
msgstr "[no establert]"
|
||||
|
||||
#: sm/certdump.c:529 sm/certdump.c:592
|
||||
#: sm/certdump.c:536 sm/certdump.c:599
|
||||
#, fuzzy
|
||||
msgid "[Error - invalid encoding]"
|
||||
msgstr "error: l'empremta digital és invàlida\n"
|
||||
|
||||
#: sm/certdump.c:537
|
||||
#: sm/certdump.c:544
|
||||
msgid "[Error - out of core]"
|
||||
msgstr ""
|
||||
|
||||
#: sm/certdump.c:572
|
||||
#: sm/certdump.c:579
|
||||
msgid "[Error - No name]"
|
||||
msgstr ""
|
||||
|
||||
#: sm/certdump.c:597
|
||||
#: sm/certdump.c:604
|
||||
#, fuzzy
|
||||
msgid "[Error - invalid DN]"
|
||||
msgstr "error: l'empremta digital és invàlida\n"
|
||||
@ -7114,7 +7108,7 @@ msgstr "error: l'empremta digital és invàlida\n"
|
||||
# Se't passava l'argument «*». printf(3), hieroglyph(7). ivb
|
||||
# Ah! Prova-ho, no casque alguna cosa :P ivb
|
||||
# Ah, ja veig! Moltes gràcies! Aquest msgstr ha quedat curiós :) jm
|
||||
#: sm/certdump.c:758
|
||||
#: sm/certdump.c:818
|
||||
#, fuzzy, c-format
|
||||
msgid ""
|
||||
"Please enter the passphrase to unlock the secret key for:\n"
|
||||
@ -7611,12 +7605,12 @@ msgstr ""
|
||||
msgid " using certificate ID %08lX\n"
|
||||
msgstr ""
|
||||
|
||||
#: sm/verify.c:506
|
||||
#: sm/verify.c:509
|
||||
#, fuzzy
|
||||
msgid "Good signature from"
|
||||
msgstr "Signatura correcta de \""
|
||||
|
||||
#: sm/verify.c:507
|
||||
#: sm/verify.c:510
|
||||
#, fuzzy
|
||||
msgid " aka"
|
||||
msgstr " alias \""
|
||||
@ -7974,6 +7968,10 @@ msgstr ""
|
||||
msgid "class %s is not supported\n"
|
||||
msgstr "l'algoritme de protecció %d%s no està suportat\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ".\n"
|
||||
#~ msgstr "%s.\n"
|
||||
|
||||
#~ msgid "problem with the agent - disabling agent use\n"
|
||||
#~ msgstr "hi ha un problema amb l'agent: es deshabilitarà el seu ús\n"
|
||||
|
||||
|
198
po/cs.po
198
po/cs.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnupg-1.3.92\n"
|
||||
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
|
||||
"POT-Creation-Date: 2006-11-10 00:40+0100\n"
|
||||
"POT-Creation-Date: 2006-11-21 10:53+0100\n"
|
||||
"PO-Revision-Date: 2004-11-26 09:12+0200\n"
|
||||
"Last-Translator: Roman Pavlik <rp@tns.cz>\n"
|
||||
"Language-Team: Czech <translations.cs@gnupg.cz>\n"
|
||||
@ -133,7 +133,7 @@ msgid ""
|
||||
"0Awithin gpg-agent's key storage"
|
||||
msgstr ""
|
||||
|
||||
#: agent/command-ssh.c:2857
|
||||
#: agent/command-ssh.c:2853
|
||||
#, fuzzy, c-format
|
||||
msgid "failed to create stream from socket: %s\n"
|
||||
msgstr "%s: nepodaøilo se vytvoøit hashovací tabulku: %s\n"
|
||||
@ -287,7 +287,7 @@ msgstr ""
|
||||
msgid "|FILE|write environment settings also to FILE"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
|
||||
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
|
||||
#, fuzzy
|
||||
@ -296,154 +296,148 @@ msgstr ""
|
||||
"Chyby oznamte, prosím, na adresu <gnupg-bugs@gnu.org>.\n"
|
||||
"Pøipomínky k pøekladu <rp@tns.cz>.\n"
|
||||
|
||||
#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
|
||||
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
|
||||
msgid ">.\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:241
|
||||
#: agent/gpg-agent.c:244
|
||||
#, fuzzy
|
||||
msgid "Usage: gpg-agent [options] (-h for help)"
|
||||
msgstr "Pou¾ití: gpg [mo¾nosti] [soubory] (-h pro pomoc)"
|
||||
|
||||
#: agent/gpg-agent.c:243
|
||||
#: agent/gpg-agent.c:246
|
||||
msgid ""
|
||||
"Syntax: gpg-agent [options] [command [args]]\n"
|
||||
"Secret key management for GnuPG\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:302
|
||||
#: agent/gpg-agent.c:305
|
||||
#, c-format
|
||||
msgid "out of core in secure memory while allocating %lu bytes"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:305
|
||||
#: agent/gpg-agent.c:308
|
||||
#, c-format
|
||||
msgid "out of core while allocating %lu bytes"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
|
||||
#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
|
||||
#, c-format
|
||||
msgid "invalid debug-level `%s' given\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
|
||||
#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
|
||||
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
|
||||
#: tools/symcryptrun.c:1056
|
||||
#, c-format
|
||||
msgid "libgcrypt is too old (need %s, have %s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
|
||||
#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
|
||||
#, c-format
|
||||
msgid "NOTE: no default option file `%s'\n"
|
||||
msgstr "POZNÁMKA: neexistuje implicitní soubor s mo¾nostmi `%s'\n"
|
||||
|
||||
#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
|
||||
#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
|
||||
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
|
||||
#, c-format
|
||||
msgid "option file `%s': %s\n"
|
||||
msgstr "soubor s mo¾nostmi `%s': %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
|
||||
#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
|
||||
#, c-format
|
||||
msgid "reading options from `%s'\n"
|
||||
msgstr "ètu mo¾nosti z `%s'\n"
|
||||
|
||||
#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
|
||||
#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
|
||||
#: g10/plaintext.c:158
|
||||
#, c-format
|
||||
msgid "error creating `%s': %s\n"
|
||||
msgstr "chyba pøi vytváøení `%s': %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
|
||||
#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
|
||||
#: g10/openfile.c:416 scd/scdaemon.c:916
|
||||
#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
|
||||
#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
|
||||
#: g10/openfile.c:416 scd/scdaemon.c:932
|
||||
#, c-format
|
||||
msgid "can't create directory `%s': %s\n"
|
||||
msgstr "nemohu vytvoøit adresáø `%s': %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
|
||||
#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
|
||||
msgid "name of socket too long\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
|
||||
#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
|
||||
#, fuzzy, c-format
|
||||
msgid "can't create socket: %s\n"
|
||||
msgstr "nemohu vytvoøit `%s': %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
|
||||
#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
|
||||
#, fuzzy, c-format
|
||||
msgid "error binding socket to `%s': %s\n"
|
||||
msgstr "chyba pøi hledání záznamu dùvìryhodnosti v `%s': %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
|
||||
#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
|
||||
#, fuzzy, c-format
|
||||
msgid "listen() failed: %s\n"
|
||||
msgstr "aktualizace selhala: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
|
||||
#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
|
||||
#, fuzzy, c-format
|
||||
msgid "listening on socket `%s'\n"
|
||||
msgstr "zapisuji tajný klíè do `%s'\n"
|
||||
|
||||
#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
|
||||
#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
|
||||
#, c-format
|
||||
msgid "directory `%s' created\n"
|
||||
msgstr "adresáø `%s' vytvoøen\n"
|
||||
|
||||
#: agent/gpg-agent.c:1338
|
||||
#: agent/gpg-agent.c:1369
|
||||
#, fuzzy, c-format
|
||||
msgid "stat() failed for `%s': %s\n"
|
||||
msgstr "fstat(%d) selhal v %s: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1342
|
||||
#: agent/gpg-agent.c:1373
|
||||
#, fuzzy, c-format
|
||||
msgid "can't use `%s' as home directory\n"
|
||||
msgstr "nemohu vytvoøit adresáø `%s': %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1441
|
||||
#: agent/gpg-agent.c:1475
|
||||
#, c-format
|
||||
msgid "handler 0x%lx for fd %d started\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1446
|
||||
#: agent/gpg-agent.c:1480
|
||||
#, c-format
|
||||
msgid "handler 0x%lx for fd %d terminated\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1460
|
||||
#: agent/gpg-agent.c:1497
|
||||
#, c-format
|
||||
msgid "ssh handler 0x%lx for fd %d started\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1465
|
||||
#: agent/gpg-agent.c:1502
|
||||
#, c-format
|
||||
msgid "ssh handler 0x%lx for fd %d terminated\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
|
||||
#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
|
||||
#, fuzzy, c-format
|
||||
msgid "pth_select failed: %s - waiting 1s\n"
|
||||
msgstr "aktualizace tajného klíèe selhala: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
|
||||
#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
|
||||
#, fuzzy, c-format
|
||||
msgid "%s %s stopped\n"
|
||||
msgstr "%s: pøeskoèeno: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1664
|
||||
#: agent/gpg-agent.c:1725
|
||||
#, fuzzy
|
||||
msgid "no gpg-agent running in this session\n"
|
||||
msgstr "gpg-agent není v tomto sezení dostupný\n"
|
||||
|
||||
#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
|
||||
#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
|
||||
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
|
||||
msgid "malformed GPG_AGENT_INFO environment variable\n"
|
||||
msgstr "¹patný formát promìnné prostøedí GPG_AGENT_INFO\n"
|
||||
|
||||
#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
|
||||
#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
|
||||
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
|
||||
#, c-format
|
||||
msgid "gpg-agent protocol version %d is not supported\n"
|
||||
@ -4317,7 +4311,7 @@ msgstr "Platnost kl
|
||||
msgid "Signature expires at %s\n"
|
||||
msgstr "Platnost podpisu skonèí v %s\n"
|
||||
|
||||
#: g10/keygen.c:1856
|
||||
#: g10/keygen.c:1854
|
||||
msgid ""
|
||||
"Your system can't display dates beyond 2038.\n"
|
||||
"However, it will be correctly handled up to 2106.\n"
|
||||
@ -4559,7 +4553,7 @@ msgstr "nemohu vytvo
|
||||
msgid "NOTE: backup of card key saved to `%s'\n"
|
||||
msgstr "POZNÁMKA: záloha klíèe z karty ulo¾ena do `%s'\n"
|
||||
|
||||
#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
|
||||
#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
|
||||
msgid "never "
|
||||
msgstr "nikdy "
|
||||
|
||||
@ -5581,26 +5575,26 @@ msgstr "anonymn
|
||||
msgid "okay, we are the anonymous recipient.\n"
|
||||
msgstr "o.k., my jsme anonymní adresát.\n"
|
||||
|
||||
#: g10/pubkey-enc.c:226
|
||||
#: g10/pubkey-enc.c:227
|
||||
msgid "old encoding of the DEK is not supported\n"
|
||||
msgstr "staré kódování DEK není podporováno\n"
|
||||
|
||||
#: g10/pubkey-enc.c:247
|
||||
#: g10/pubkey-enc.c:248
|
||||
#, c-format
|
||||
msgid "cipher algorithm %d%s is unknown or disabled\n"
|
||||
msgstr "¹ifrovací algoritmus %d%s je neznámý nebo je zneplatnìn\n"
|
||||
|
||||
#: g10/pubkey-enc.c:285
|
||||
#: g10/pubkey-enc.c:286
|
||||
#, c-format
|
||||
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
|
||||
msgstr "VAROVÁNÍ: v pøedvolbách pøíjemce nenalezen ¹ifrovací algoritmus %s\n"
|
||||
|
||||
#: g10/pubkey-enc.c:305
|
||||
#: g10/pubkey-enc.c:306
|
||||
#, c-format
|
||||
msgid "NOTE: secret key %s expired at %s\n"
|
||||
msgstr "POZNÁMKA: platnost tajného klíèe %s skonèila %s\n"
|
||||
|
||||
#: g10/pubkey-enc.c:311
|
||||
#: g10/pubkey-enc.c:312
|
||||
msgid "NOTE: key has been revoked"
|
||||
msgstr "POZNÁMKA: klíè byl revokován"
|
||||
|
||||
@ -5768,12 +5762,12 @@ msgstr ""
|
||||
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/seskey.c:243
|
||||
#: g10/seskey.c:242
|
||||
#, c-format
|
||||
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/seskey.c:255
|
||||
#: g10/seskey.c:254
|
||||
#, c-format
|
||||
msgid "DSA key %s requires a %u bit or larger hash\n"
|
||||
msgstr ""
|
||||
@ -6311,7 +6305,7 @@ msgstr ""
|
||||
msgid "input line %u too long or missing LF\n"
|
||||
msgstr "vstupní øádek %u je pøíli¹ dlouhý nebo na konci chybí znak LF\n"
|
||||
|
||||
#: jnlib/logging.c:619
|
||||
#: jnlib/logging.c:626
|
||||
#, c-format
|
||||
msgid "you found a bug ... (%s:%d)\n"
|
||||
msgstr "nalezena chyba v programu ... (%s:%d)\n"
|
||||
@ -6346,11 +6340,6 @@ msgstr ""
|
||||
"Chyby oznamte, prosím, na adresu <gnupg-bugs@gnu.org>.\n"
|
||||
"Pøipomínky k pøekladu <rp@tns.cz>.\n"
|
||||
|
||||
#: kbx/kbxutil.c:108
|
||||
#, fuzzy
|
||||
msgid ".\n"
|
||||
msgstr "%s.\n"
|
||||
|
||||
#: kbx/kbxutil.c:112
|
||||
#, fuzzy
|
||||
msgid "Usage: kbxutil [options] [files] (-h for help)"
|
||||
@ -6381,47 +6370,52 @@ msgstr "ulo
|
||||
msgid "reading public key failed: %s\n"
|
||||
msgstr "ètení veøejného klíèe se nezdaøilo: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
|
||||
#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
|
||||
msgid "response does not contain the public key data\n"
|
||||
msgstr "odpovìï neobsahuje veøejný klíè\n"
|
||||
|
||||
#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
|
||||
#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
|
||||
msgid "response does not contain the RSA modulus\n"
|
||||
msgstr "odpovìï neobsahuje RSA modulus\n"
|
||||
|
||||
#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
|
||||
#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
|
||||
msgid "response does not contain the RSA public exponent\n"
|
||||
msgstr "odpovìï neobsahuje veøejný RSA exponent\n"
|
||||
|
||||
#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
|
||||
#: scd/app-openpgp.c:1306
|
||||
msgid "||Please enter your PIN at the reader's keypad"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
|
||||
#: scd/app-openpgp.c:2247
|
||||
#, c-format
|
||||
msgid "PIN callback returned error: %s\n"
|
||||
msgstr "funkce PIN callback zkonèila chybou: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
|
||||
#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
|
||||
#, c-format
|
||||
msgid "PIN for CHV%d is too short; minimum length is %d\n"
|
||||
msgstr "PIN pro CHV%d je pøíli¹ krátký; minimální délka je %d\n"
|
||||
|
||||
#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
|
||||
#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
|
||||
#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
|
||||
#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
|
||||
#, c-format
|
||||
msgid "verify CHV%d failed: %s\n"
|
||||
msgstr "verifikace CHV%d se nezdaøila: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1354
|
||||
#: scd/app-openpgp.c:1379
|
||||
msgid "access to admin commands is not configured\n"
|
||||
msgstr "pøístup k administrátorským pøíkazùm není nakonfigurován\n"
|
||||
|
||||
#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
|
||||
#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
|
||||
msgid "error retrieving CHV status from card\n"
|
||||
msgstr "chyba pøi získání CHV z karty\n"
|
||||
|
||||
#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
|
||||
#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
|
||||
msgid "card is permanently locked!\n"
|
||||
msgstr "karta je trvale uzamèena!\n"
|
||||
|
||||
#: scd/app-openpgp.c:1380
|
||||
#: scd/app-openpgp.c:1405
|
||||
#, c-format
|
||||
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
|
||||
msgstr ""
|
||||
@ -6430,110 +6424,110 @@ msgstr ""
|
||||
#. TRANSLATORS: Do not translate the "|A|" prefix but
|
||||
#. keep it at the start of the string. We need this elsewhere
|
||||
#. to get some infos on the string.
|
||||
#: scd/app-openpgp.c:1387
|
||||
#: scd/app-openpgp.c:1412
|
||||
msgid "|A|Admin PIN"
|
||||
msgstr "|A|PIN administrátora"
|
||||
|
||||
#. TRANSLATORS: Do not translate the "|*|" prefixes but
|
||||
#. keep it at the start of the string. We need this elsewhere
|
||||
#. to get some infos on the string.
|
||||
#: scd/app-openpgp.c:1536
|
||||
#: scd/app-openpgp.c:1561
|
||||
msgid "|AN|New Admin PIN"
|
||||
msgstr "|AN|Nový PIN administrátora"
|
||||
|
||||
#: scd/app-openpgp.c:1536
|
||||
#: scd/app-openpgp.c:1561
|
||||
msgid "|N|New PIN"
|
||||
msgstr "|N|Nový PIN"
|
||||
|
||||
#: scd/app-openpgp.c:1540
|
||||
#: scd/app-openpgp.c:1565
|
||||
#, c-format
|
||||
msgid "error getting new PIN: %s\n"
|
||||
msgstr "chyba pøi získání nového PINu: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
|
||||
#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
|
||||
msgid "error reading application data\n"
|
||||
msgstr "chyba pøi ètení aplikaèních dat\n"
|
||||
|
||||
#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
|
||||
#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
|
||||
msgid "error reading fingerprint DO\n"
|
||||
msgstr "chyba pøi ètení fingerpritnu DO\n"
|
||||
|
||||
#: scd/app-openpgp.c:1606
|
||||
#: scd/app-openpgp.c:1631
|
||||
msgid "key already exists\n"
|
||||
msgstr "klíè ji¾ existuje\n"
|
||||
|
||||
#: scd/app-openpgp.c:1610
|
||||
#: scd/app-openpgp.c:1635
|
||||
msgid "existing key will be replaced\n"
|
||||
msgstr "existující klíè bude pøepsán\n"
|
||||
|
||||
#: scd/app-openpgp.c:1612
|
||||
#: scd/app-openpgp.c:1637
|
||||
msgid "generating new key\n"
|
||||
msgstr "generování nového klíèe\n"
|
||||
|
||||
#: scd/app-openpgp.c:1779
|
||||
#: scd/app-openpgp.c:1804
|
||||
msgid "creation timestamp missing\n"
|
||||
msgstr "chybí èasové razítko vytvoøení\n"
|
||||
|
||||
#: scd/app-openpgp.c:1786
|
||||
#: scd/app-openpgp.c:1811
|
||||
#, c-format
|
||||
msgid "RSA modulus missing or not of size %d bits\n"
|
||||
msgstr "schází RSA modulus nebo nemá velikost %d bitù\n"
|
||||
|
||||
#: scd/app-openpgp.c:1793
|
||||
#: scd/app-openpgp.c:1818
|
||||
#, c-format
|
||||
msgid "RSA public exponent missing or larger than %d bits\n"
|
||||
msgstr "schází veøejný RSA exponent nebo je del¹í ne¾ %d bitù\n"
|
||||
|
||||
#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
|
||||
#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
|
||||
#, c-format
|
||||
msgid "RSA prime %s missing or not of size %d bits\n"
|
||||
msgstr "schází RSA prime %s nebo nemá velikost %d bitù\n"
|
||||
|
||||
#: scd/app-openpgp.c:1871
|
||||
#: scd/app-openpgp.c:1896
|
||||
#, c-format
|
||||
msgid "failed to store the key: %s\n"
|
||||
msgstr "nelze ulo¾it klíè: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1930
|
||||
#: scd/app-openpgp.c:1955
|
||||
msgid "please wait while key is being generated ...\n"
|
||||
msgstr "prosím poèkejte ne¾ bude klíè vygenerován ...\n"
|
||||
|
||||
#: scd/app-openpgp.c:1944
|
||||
#: scd/app-openpgp.c:1969
|
||||
msgid "generating key failed\n"
|
||||
msgstr "henerování klíèe se nezdaøilo\n"
|
||||
|
||||
#: scd/app-openpgp.c:1947
|
||||
#: scd/app-openpgp.c:1972
|
||||
#, c-format
|
||||
msgid "key generation completed (%d seconds)\n"
|
||||
msgstr "generování klíèe dokonèeno (%d sekund)\n"
|
||||
|
||||
#: scd/app-openpgp.c:2004
|
||||
#: scd/app-openpgp.c:2029
|
||||
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
|
||||
msgstr "neplatná struktura OpenPGP kraty (DO 0x93)\n"
|
||||
|
||||
#: scd/app-openpgp.c:2141
|
||||
#: scd/app-openpgp.c:2166
|
||||
#, fuzzy, c-format
|
||||
msgid "card does not support digest algorithm %s\n"
|
||||
msgstr "podpis %s, hashovací algoritmus %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:2202
|
||||
#: scd/app-openpgp.c:2227
|
||||
#, c-format
|
||||
msgid "signatures created so far: %lu\n"
|
||||
msgstr "dosud vytvoøené podpisy: %lu\n"
|
||||
|
||||
#: scd/app-openpgp.c:2210
|
||||
#: scd/app-openpgp.c:2235
|
||||
#, c-format
|
||||
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
|
||||
msgstr "||Prosím vlo¾te PIN%%0A[podpis hotov: %lu]"
|
||||
|
||||
#: scd/app-openpgp.c:2475
|
||||
#: scd/app-openpgp.c:2500
|
||||
msgid ""
|
||||
"verification of Admin PIN is currently prohibited through this command\n"
|
||||
msgstr ""
|
||||
"ovìøení administrátorského PIN je nyní prostøednictvím tohoto pøíkazu "
|
||||
"zakázáno\n"
|
||||
|
||||
#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
|
||||
#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
|
||||
#, c-format
|
||||
msgid "can't access %s - invalid OpenPGP card?\n"
|
||||
msgstr "pøístup na %s se nezdaøil - vadná OpenPGP karta?\n"
|
||||
@ -6583,16 +6577,16 @@ msgid ""
|
||||
"Smartcard daemon for GnuPG\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/scdaemon.c:672
|
||||
#: scd/scdaemon.c:682
|
||||
msgid "please use the option `--daemon' to run the program in the background\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/scdaemon.c:1013
|
||||
#: scd/scdaemon.c:1030
|
||||
#, c-format
|
||||
msgid "handler for fd %d started\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/scdaemon.c:1018
|
||||
#: scd/scdaemon.c:1035
|
||||
#, c-format
|
||||
msgid "handler for fd %d terminated\n"
|
||||
msgstr ""
|
||||
@ -6766,35 +6760,35 @@ msgstr "DSA po
|
||||
msgid "(this is the MD2 algorithm)\n"
|
||||
msgstr ""
|
||||
|
||||
#: sm/certdump.c:61 sm/certdump.c:147
|
||||
#: sm/certdump.c:68 sm/certdump.c:154
|
||||
#, fuzzy
|
||||
msgid "none"
|
||||
msgstr "ne"
|
||||
|
||||
#: sm/certdump.c:156
|
||||
#: sm/certdump.c:163
|
||||
#, fuzzy
|
||||
msgid "[none]"
|
||||
msgstr "[není nastaven]"
|
||||
|
||||
#: sm/certdump.c:529 sm/certdump.c:592
|
||||
#: sm/certdump.c:536 sm/certdump.c:599
|
||||
#, fuzzy
|
||||
msgid "[Error - invalid encoding]"
|
||||
msgstr "Chyba: neplatná odpovìï.\n"
|
||||
|
||||
#: sm/certdump.c:537
|
||||
#: sm/certdump.c:544
|
||||
msgid "[Error - out of core]"
|
||||
msgstr ""
|
||||
|
||||
#: sm/certdump.c:572
|
||||
#: sm/certdump.c:579
|
||||
msgid "[Error - No name]"
|
||||
msgstr ""
|
||||
|
||||
#: sm/certdump.c:597
|
||||
#: sm/certdump.c:604
|
||||
#, fuzzy
|
||||
msgid "[Error - invalid DN]"
|
||||
msgstr "Chyba: neplatná odpovìï.\n"
|
||||
|
||||
#: sm/certdump.c:758
|
||||
#: sm/certdump.c:818
|
||||
#, fuzzy, c-format
|
||||
msgid ""
|
||||
"Please enter the passphrase to unlock the secret key for:\n"
|
||||
@ -7298,12 +7292,12 @@ msgstr ""
|
||||
msgid " using certificate ID %08lX\n"
|
||||
msgstr ""
|
||||
|
||||
#: sm/verify.c:506
|
||||
#: sm/verify.c:509
|
||||
#, fuzzy
|
||||
msgid "Good signature from"
|
||||
msgstr "Dobrý podpis od \"%s\""
|
||||
|
||||
#: sm/verify.c:507
|
||||
#: sm/verify.c:510
|
||||
#, fuzzy
|
||||
msgid " aka"
|
||||
msgstr " alias \"%s\""
|
||||
@ -7660,6 +7654,10 @@ msgstr ""
|
||||
msgid "class %s is not supported\n"
|
||||
msgstr "ochranný algoritmus %d není podporován\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ".\n"
|
||||
#~ msgstr "%s.\n"
|
||||
|
||||
#~ msgid "problem with the agent - disabling agent use\n"
|
||||
#~ msgstr "problém s agentem - pou¾ívání agenta vypnuto\n"
|
||||
|
||||
|
193
po/da.po
193
po/da.po
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnupg 1.0.0h\n"
|
||||
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
|
||||
"POT-Creation-Date: 2006-11-10 00:40+0100\n"
|
||||
"POT-Creation-Date: 2006-11-21 10:53+0100\n"
|
||||
"PO-Revision-Date: 2003-12-03 16:11+0100\n"
|
||||
"Last-Translator: Birger Langkjer <birger.langkjer@image.dk>\n"
|
||||
"Language-Team: Danish <dansk@klid.dk>\n"
|
||||
@ -133,7 +133,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
# er det klogt at oversætte TrustDB?
|
||||
#: agent/command-ssh.c:2857
|
||||
#: agent/command-ssh.c:2853
|
||||
#, fuzzy, c-format
|
||||
msgid "failed to create stream from socket: %s\n"
|
||||
msgstr "kunne ikke initialisere TillidsDB: %s\n"
|
||||
@ -288,160 +288,154 @@ msgstr ""
|
||||
msgid "|FILE|write environment settings also to FILE"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
|
||||
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
|
||||
#, fuzzy
|
||||
msgid "Please report bugs to <"
|
||||
msgstr "Rapportér venligst fejl til <gnupg-bugs@gnu.org>.\n"
|
||||
|
||||
#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
|
||||
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
|
||||
msgid ">.\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:241
|
||||
#: agent/gpg-agent.c:244
|
||||
#, fuzzy
|
||||
msgid "Usage: gpg-agent [options] (-h for help)"
|
||||
msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
|
||||
|
||||
#: agent/gpg-agent.c:243
|
||||
#: agent/gpg-agent.c:246
|
||||
msgid ""
|
||||
"Syntax: gpg-agent [options] [command [args]]\n"
|
||||
"Secret key management for GnuPG\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:302
|
||||
#: agent/gpg-agent.c:305
|
||||
#, c-format
|
||||
msgid "out of core in secure memory while allocating %lu bytes"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:305
|
||||
#: agent/gpg-agent.c:308
|
||||
#, c-format
|
||||
msgid "out of core while allocating %lu bytes"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
|
||||
#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
|
||||
#, c-format
|
||||
msgid "invalid debug-level `%s' given\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
|
||||
#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
|
||||
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
|
||||
#: tools/symcryptrun.c:1056
|
||||
#, c-format
|
||||
msgid "libgcrypt is too old (need %s, have %s)\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
|
||||
#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
|
||||
#, c-format
|
||||
msgid "NOTE: no default option file `%s'\n"
|
||||
msgstr "NOTITS: ingen standard alternativfil '%s'\n"
|
||||
|
||||
#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
|
||||
#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
|
||||
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
|
||||
#, c-format
|
||||
msgid "option file `%s': %s\n"
|
||||
msgstr "alternativfil`%s': %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
|
||||
#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
|
||||
#, c-format
|
||||
msgid "reading options from `%s'\n"
|
||||
msgstr "læser indstillinger fra `%s'\n"
|
||||
|
||||
#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
|
||||
#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
|
||||
#: g10/plaintext.c:158
|
||||
#, fuzzy, c-format
|
||||
msgid "error creating `%s': %s\n"
|
||||
msgstr "fejl ved læsning af '%s': %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
|
||||
#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
|
||||
#: g10/openfile.c:416 scd/scdaemon.c:916
|
||||
#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
|
||||
#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
|
||||
#: g10/openfile.c:416 scd/scdaemon.c:932
|
||||
#, fuzzy, c-format
|
||||
msgid "can't create directory `%s': %s\n"
|
||||
msgstr "%s: kan ikke oprette mappe: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
|
||||
#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
|
||||
msgid "name of socket too long\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
|
||||
#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
|
||||
#, fuzzy, c-format
|
||||
msgid "can't create socket: %s\n"
|
||||
msgstr "kan ikke oprette %s: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
|
||||
#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
|
||||
#, fuzzy, c-format
|
||||
msgid "error binding socket to `%s': %s\n"
|
||||
msgstr "fejl ved læsning af '%s': %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
|
||||
#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
|
||||
#, fuzzy, c-format
|
||||
msgid "listen() failed: %s\n"
|
||||
msgstr "signering fejlede: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
|
||||
#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
|
||||
#, fuzzy, c-format
|
||||
msgid "listening on socket `%s'\n"
|
||||
msgstr "skriver hemmeligt certifikat til '%s'\n"
|
||||
|
||||
#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
|
||||
#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
|
||||
#, fuzzy, c-format
|
||||
msgid "directory `%s' created\n"
|
||||
msgstr "%s: mappe oprettet\n"
|
||||
|
||||
#: agent/gpg-agent.c:1338
|
||||
#: agent/gpg-agent.c:1369
|
||||
#, fuzzy, c-format
|
||||
msgid "stat() failed for `%s': %s\n"
|
||||
msgstr "kan ikke åbne %s: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1342
|
||||
#: agent/gpg-agent.c:1373
|
||||
#, fuzzy, c-format
|
||||
msgid "can't use `%s' as home directory\n"
|
||||
msgstr "%s: kan ikke oprette mappe: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1441
|
||||
#: agent/gpg-agent.c:1475
|
||||
#, c-format
|
||||
msgid "handler 0x%lx for fd %d started\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1446
|
||||
#: agent/gpg-agent.c:1480
|
||||
#, c-format
|
||||
msgid "handler 0x%lx for fd %d terminated\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1460
|
||||
#: agent/gpg-agent.c:1497
|
||||
#, c-format
|
||||
msgid "ssh handler 0x%lx for fd %d started\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1465
|
||||
#: agent/gpg-agent.c:1502
|
||||
#, c-format
|
||||
msgid "ssh handler 0x%lx for fd %d terminated\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
|
||||
#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
|
||||
#, c-format
|
||||
msgid "pth_select failed: %s - waiting 1s\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
|
||||
#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
|
||||
#, fuzzy, c-format
|
||||
msgid "%s %s stopped\n"
|
||||
msgstr "%s: udelod: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1664
|
||||
#: agent/gpg-agent.c:1725
|
||||
msgid "no gpg-agent running in this session\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
|
||||
#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
|
||||
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
|
||||
msgid "malformed GPG_AGENT_INFO environment variable\n"
|
||||
msgstr ""
|
||||
|
||||
#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
|
||||
#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
|
||||
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
|
||||
#, fuzzy, c-format
|
||||
msgid "gpg-agent protocol version %d is not supported\n"
|
||||
@ -4230,7 +4224,7 @@ msgstr "N
|
||||
msgid "Signature expires at %s\n"
|
||||
msgstr "Denne nøgle er ikke beskyttet.\n"
|
||||
|
||||
#: g10/keygen.c:1856
|
||||
#: g10/keygen.c:1854
|
||||
msgid ""
|
||||
"Your system can't display dates beyond 2038.\n"
|
||||
"However, it will be correctly handled up to 2106.\n"
|
||||
@ -4451,7 +4445,7 @@ msgstr "kan ikke oprette %s: %s\n"
|
||||
msgid "NOTE: backup of card key saved to `%s'\n"
|
||||
msgstr "hemmelige nøgler import: %lu\n"
|
||||
|
||||
#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
|
||||
#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
|
||||
msgid "never "
|
||||
msgstr ""
|
||||
|
||||
@ -5491,26 +5485,26 @@ msgstr ""
|
||||
msgid "okay, we are the anonymous recipient.\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/pubkey-enc.c:226
|
||||
#: g10/pubkey-enc.c:227
|
||||
msgid "old encoding of the DEK is not supported\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/pubkey-enc.c:247
|
||||
#: g10/pubkey-enc.c:248
|
||||
#, fuzzy, c-format
|
||||
msgid "cipher algorithm %d%s is unknown or disabled\n"
|
||||
msgstr "valgte cifferalgoritme %d er ugyldig\n"
|
||||
|
||||
#: g10/pubkey-enc.c:285
|
||||
#: g10/pubkey-enc.c:286
|
||||
#, c-format
|
||||
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/pubkey-enc.c:305
|
||||
#: g10/pubkey-enc.c:306
|
||||
#, fuzzy, c-format
|
||||
msgid "NOTE: secret key %s expired at %s\n"
|
||||
msgstr "hemmelige nøgler import: %lu\n"
|
||||
|
||||
#: g10/pubkey-enc.c:311
|
||||
#: g10/pubkey-enc.c:312
|
||||
#, fuzzy
|
||||
msgid "NOTE: key has been revoked"
|
||||
msgstr "nøgle %08lX: nøgle er blevet annulleret!\n"
|
||||
@ -5676,12 +5670,12 @@ msgstr ""
|
||||
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/seskey.c:243
|
||||
#: g10/seskey.c:242
|
||||
#, c-format
|
||||
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
|
||||
msgstr ""
|
||||
|
||||
#: g10/seskey.c:255
|
||||
#: g10/seskey.c:254
|
||||
#, c-format
|
||||
msgid "DSA key %s requires a %u bit or larger hash\n"
|
||||
msgstr ""
|
||||
@ -6195,7 +6189,7 @@ msgstr ""
|
||||
msgid "input line %u too long or missing LF\n"
|
||||
msgstr ""
|
||||
|
||||
#: jnlib/logging.c:619
|
||||
#: jnlib/logging.c:626
|
||||
#, c-format
|
||||
msgid "you found a bug ... (%s:%d)\n"
|
||||
msgstr "du fandt en fejl ... (%s:%d)\n"
|
||||
@ -6228,10 +6222,6 @@ msgstr "sl
|
||||
msgid "Please report bugs to "
|
||||
msgstr "Rapportér venligst fejl til <gnupg-bugs@gnu.org>.\n"
|
||||
|
||||
#: kbx/kbxutil.c:108
|
||||
msgid ".\n"
|
||||
msgstr ""
|
||||
|
||||
#: kbx/kbxutil.c:112
|
||||
#, fuzzy
|
||||
msgid "Usage: kbxutil [options] [files] (-h for help)"
|
||||
@ -6263,47 +6253,52 @@ msgstr "ingen standard offentlig n
|
||||
msgid "reading public key failed: %s\n"
|
||||
msgstr "fjernelse af beskyttelse fejlede: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
|
||||
#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
|
||||
msgid "response does not contain the public key data\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
|
||||
#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
|
||||
msgid "response does not contain the RSA modulus\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
|
||||
#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
|
||||
msgid "response does not contain the RSA public exponent\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
|
||||
#: scd/app-openpgp.c:1306
|
||||
msgid "||Please enter your PIN at the reader's keypad"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
|
||||
#: scd/app-openpgp.c:2247
|
||||
#, c-format
|
||||
msgid "PIN callback returned error: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
|
||||
#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
|
||||
#, c-format
|
||||
msgid "PIN for CHV%d is too short; minimum length is %d\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
|
||||
#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
|
||||
#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
|
||||
#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
|
||||
#, fuzzy, c-format
|
||||
msgid "verify CHV%d failed: %s\n"
|
||||
msgstr "påklædning af beskyttelse fejlede: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1354
|
||||
#: scd/app-openpgp.c:1379
|
||||
msgid "access to admin commands is not configured\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
|
||||
#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
|
||||
msgid "error retrieving CHV status from card\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
|
||||
#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
|
||||
msgid "card is permanently locked!\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1380
|
||||
#: scd/app-openpgp.c:1405
|
||||
#, c-format
|
||||
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
|
||||
msgstr ""
|
||||
@ -6311,114 +6306,114 @@ msgstr ""
|
||||
#. TRANSLATORS: Do not translate the "|A|" prefix but
|
||||
#. keep it at the start of the string. We need this elsewhere
|
||||
#. to get some infos on the string.
|
||||
#: scd/app-openpgp.c:1387
|
||||
#: scd/app-openpgp.c:1412
|
||||
msgid "|A|Admin PIN"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: Do not translate the "|*|" prefixes but
|
||||
#. keep it at the start of the string. We need this elsewhere
|
||||
#. to get some infos on the string.
|
||||
#: scd/app-openpgp.c:1536
|
||||
#: scd/app-openpgp.c:1561
|
||||
msgid "|AN|New Admin PIN"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1536
|
||||
#: scd/app-openpgp.c:1561
|
||||
msgid "|N|New PIN"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1540
|
||||
#: scd/app-openpgp.c:1565
|
||||
#, fuzzy, c-format
|
||||
msgid "error getting new PIN: %s\n"
|
||||
msgstr "fejl ved oprettelse af kodesætning: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
|
||||
#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
|
||||
#, fuzzy
|
||||
msgid "error reading application data\n"
|
||||
msgstr "fejl ved læsning af '%s': %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
|
||||
#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
|
||||
#, fuzzy
|
||||
msgid "error reading fingerprint DO\n"
|
||||
msgstr "fejl i trailerlinie\n"
|
||||
|
||||
#: scd/app-openpgp.c:1606
|
||||
#: scd/app-openpgp.c:1631
|
||||
#, fuzzy
|
||||
msgid "key already exists\n"
|
||||
msgstr "fjern nøgle fra den hemmelige nøglering"
|
||||
|
||||
#: scd/app-openpgp.c:1610
|
||||
#: scd/app-openpgp.c:1635
|
||||
msgid "existing key will be replaced\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1612
|
||||
#: scd/app-openpgp.c:1637
|
||||
#, fuzzy
|
||||
msgid "generating new key\n"
|
||||
msgstr "generér et nyt nøglepar"
|
||||
|
||||
#: scd/app-openpgp.c:1779
|
||||
#: scd/app-openpgp.c:1804
|
||||
msgid "creation timestamp missing\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1786
|
||||
#: scd/app-openpgp.c:1811
|
||||
#, c-format
|
||||
msgid "RSA modulus missing or not of size %d bits\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1793
|
||||
#: scd/app-openpgp.c:1818
|
||||
#, c-format
|
||||
msgid "RSA public exponent missing or larger than %d bits\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
|
||||
#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
|
||||
#, c-format
|
||||
msgid "RSA prime %s missing or not of size %d bits\n"
|
||||
msgstr ""
|
||||
|
||||
# er det klogt at oversætte TrustDB?
|
||||
#: scd/app-openpgp.c:1871
|
||||
#: scd/app-openpgp.c:1896
|
||||
#, fuzzy, c-format
|
||||
msgid "failed to store the key: %s\n"
|
||||
msgstr "kunne ikke initialisere TillidsDB: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1930
|
||||
#: scd/app-openpgp.c:1955
|
||||
msgid "please wait while key is being generated ...\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:1944
|
||||
#: scd/app-openpgp.c:1969
|
||||
#, fuzzy
|
||||
msgid "generating key failed\n"
|
||||
msgstr "fjernelse af beskyttelse fejlede: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1947
|
||||
#: scd/app-openpgp.c:1972
|
||||
#, fuzzy, c-format
|
||||
msgid "key generation completed (%d seconds)\n"
|
||||
msgstr "Nøgleoprettelse annulleret.\n"
|
||||
|
||||
#: scd/app-openpgp.c:2004
|
||||
#: scd/app-openpgp.c:2029
|
||||
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:2141
|
||||
#: scd/app-openpgp.c:2166
|
||||
#, fuzzy, c-format
|
||||
msgid "card does not support digest algorithm %s\n"
|
||||
msgstr "%s signatur fra: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:2202
|
||||
#: scd/app-openpgp.c:2227
|
||||
#, c-format
|
||||
msgid "signatures created so far: %lu\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:2210
|
||||
#: scd/app-openpgp.c:2235
|
||||
#, c-format
|
||||
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:2475
|
||||
#: scd/app-openpgp.c:2500
|
||||
msgid ""
|
||||
"verification of Admin PIN is currently prohibited through this command\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
|
||||
#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
|
||||
#, fuzzy, c-format
|
||||
msgid "can't access %s - invalid OpenPGP card?\n"
|
||||
msgstr "ingen gyldig OpenPGP data fundet.\n"
|
||||
@ -6471,16 +6466,16 @@ msgid ""
|
||||
"Smartcard daemon for GnuPG\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/scdaemon.c:672
|
||||
#: scd/scdaemon.c:682
|
||||
msgid "please use the option `--daemon' to run the program in the background\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/scdaemon.c:1013
|
||||
#: scd/scdaemon.c:1030
|
||||
#, c-format
|
||||
msgid "handler for fd %d started\n"
|
||||
msgstr ""
|
||||
|
||||
#: scd/scdaemon.c:1018
|
||||
#: scd/scdaemon.c:1035
|
||||
#, c-format
|
||||
msgid "handler for fd %d terminated\n"
|
||||
msgstr ""
|
||||
@ -6655,35 +6650,35 @@ msgstr ""
|
||||
msgid "(this is the MD2 algorithm)\n"
|
||||
msgstr ""
|
||||
|
||||
#: sm/certdump.c:61 sm/certdump.c:147
|
||||
#: sm/certdump.c:68 sm/certdump.c:154
|
||||
#, fuzzy
|
||||
msgid "none"
|
||||
msgstr "n"
|
||||
|
||||
#: sm/certdump.c:156
|
||||
#: sm/certdump.c:163
|
||||
#, fuzzy
|
||||
msgid "[none]"
|
||||
msgstr "ukendt version"
|
||||
|
||||
#: sm/certdump.c:529 sm/certdump.c:592
|
||||
#: sm/certdump.c:536 sm/certdump.c:599
|
||||
#, fuzzy
|
||||
msgid "[Error - invalid encoding]"
|
||||
msgstr "fejl i trailerlinie\n"
|
||||
|
||||
#: sm/certdump.c:537
|
||||
#: sm/certdump.c:544
|
||||
msgid "[Error - out of core]"
|
||||
msgstr ""
|
||||
|
||||
#: sm/certdump.c:572
|
||||
#: sm/certdump.c:579
|
||||
msgid "[Error - No name]"
|
||||
msgstr ""
|
||||
|
||||
#: sm/certdump.c:597
|
||||
#: sm/certdump.c:604
|
||||
#, fuzzy
|
||||
msgid "[Error - invalid DN]"
|
||||
msgstr "fejl i trailerlinie\n"
|
||||
|
||||
#: sm/certdump.c:758
|
||||
#: sm/certdump.c:818
|
||||
#, fuzzy, c-format
|
||||
msgid ""
|
||||
"Please enter the passphrase to unlock the secret key for:\n"
|
||||
@ -7180,12 +7175,12 @@ msgstr ""
|
||||
msgid " using certificate ID %08lX\n"
|
||||
msgstr ""
|
||||
|
||||
#: sm/verify.c:506
|
||||
#: sm/verify.c:509
|
||||
#, fuzzy
|
||||
msgid "Good signature from"
|
||||
msgstr "God signatur fra \""
|
||||
|
||||
#: sm/verify.c:507
|
||||
#: sm/verify.c:510
|
||||
#, fuzzy
|
||||
msgid " aka"
|
||||
msgstr " alias \""
|
||||
|
209
po/de.po
209
po/de.po
@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnupg-1.9.90\n"
|
||||
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
|
||||
"POT-Creation-Date: 2006-11-10 00:40+0100\n"
|
||||
"PO-Revision-Date: 2006-11-097 23:35+0100\n"
|
||||
"POT-Creation-Date: 2006-11-21 10:53+0100\n"
|
||||
"PO-Revision-Date: 2006-11-21 10:59+0100\n"
|
||||
"Last-Translator: Walter Koch <koch@u32.de>\n"
|
||||
"Language-Team: German <de@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -134,7 +134,7 @@ msgstr ""
|
||||
"Bitte geben Sie eine Passphrase ein, um den empfangenen geheimen Schlüssel%%"
|
||||
"0A %s%%0A im Schlüsselspeicher des gpg-agenten zu schützen"
|
||||
|
||||
#: agent/command-ssh.c:2857
|
||||
#: agent/command-ssh.c:2853
|
||||
#, c-format
|
||||
msgid "failed to create stream from socket: %s\n"
|
||||
msgstr "Das Erzeugen eines Datenstrom aus dem Socket schlug fehl: %s\n"
|
||||
@ -275,23 +275,17 @@ msgstr "Die ssh-agent-Emulation anschalten"
|
||||
msgid "|FILE|write environment settings also to FILE"
|
||||
msgstr "|DATEI|Schreibe die Umgebungsvariabeln auf DATEI"
|
||||
|
||||
#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
|
||||
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
|
||||
msgid "Please report bugs to <"
|
||||
msgstr "Fehlerberichte bitte an <"
|
||||
|
||||
#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
|
||||
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
|
||||
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
|
||||
msgid ">.\n"
|
||||
msgstr ">.\n"
|
||||
|
||||
#: agent/gpg-agent.c:241
|
||||
#: agent/gpg-agent.c:244
|
||||
msgid "Usage: gpg-agent [options] (-h for help)"
|
||||
msgstr "Aufruf: gpg-agent [Optionen] (-h für Hilfe)"
|
||||
|
||||
#: agent/gpg-agent.c:243
|
||||
#: agent/gpg-agent.c:246
|
||||
msgid ""
|
||||
"Syntax: gpg-agent [options] [command [args]]\n"
|
||||
"Secret key management for GnuPG\n"
|
||||
@ -299,23 +293,23 @@ msgstr ""
|
||||
"Syntax: gpg-agent [Optionen] [Befehl [Argumente]]\n"
|
||||
"Verwaltung von geheimen Schlüsseln für GnuPG\n"
|
||||
|
||||
#: agent/gpg-agent.c:302
|
||||
#: agent/gpg-agent.c:305
|
||||
#, c-format
|
||||
msgid "out of core in secure memory while allocating %lu bytes"
|
||||
msgstr ""
|
||||
"Kein sicherer Speicher mehr vorhanden, als %lu Byte zugewiesen werden sollten"
|
||||
|
||||
#: agent/gpg-agent.c:305
|
||||
#: agent/gpg-agent.c:308
|
||||
#, c-format
|
||||
msgid "out of core while allocating %lu bytes"
|
||||
msgstr "Kein Speicher mehr vorhanden, als %lu Byte zugewiesen werden sollten"
|
||||
|
||||
#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
|
||||
#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
|
||||
#, c-format
|
||||
msgid "invalid debug-level `%s' given\n"
|
||||
msgstr "ungültige Debugebene `%s' angegeben\n"
|
||||
|
||||
#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
|
||||
#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
|
||||
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
|
||||
#: tools/symcryptrun.c:1056
|
||||
#, c-format
|
||||
@ -323,114 +317,114 @@ msgid "libgcrypt is too old (need %s, have %s)\n"
|
||||
msgstr ""
|
||||
"Die Bibliothek \"libgcrypt\" is zu alt (benötigt wird %s, vorhanden ist %s)\n"
|
||||
|
||||
#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
|
||||
#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
|
||||
#, c-format
|
||||
msgid "NOTE: no default option file `%s'\n"
|
||||
msgstr "Hinweis: Keine voreingestellte Optionendatei '%s' vorhanden\n"
|
||||
|
||||
#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
|
||||
#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
|
||||
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
|
||||
#, c-format
|
||||
msgid "option file `%s': %s\n"
|
||||
msgstr "Optionendatei '%s': %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
|
||||
#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
|
||||
#, c-format
|
||||
msgid "reading options from `%s'\n"
|
||||
msgstr "Optionen werden aus '%s' gelesen\n"
|
||||
|
||||
#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
|
||||
#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
|
||||
#: g10/plaintext.c:158
|
||||
#, c-format
|
||||
msgid "error creating `%s': %s\n"
|
||||
msgstr "Fehler beim Erstellen von `%s': %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
|
||||
#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
|
||||
#: g10/openfile.c:416 scd/scdaemon.c:916
|
||||
#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
|
||||
#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
|
||||
#: g10/openfile.c:416 scd/scdaemon.c:932
|
||||
#, c-format
|
||||
msgid "can't create directory `%s': %s\n"
|
||||
msgstr "Verzeichnis `%s' kann nicht erzeugt werden: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
|
||||
#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
|
||||
msgid "name of socket too long\n"
|
||||
msgstr "Der Name des Sockets ist zu lang\n"
|
||||
|
||||
#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
|
||||
#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
|
||||
#, c-format
|
||||
msgid "can't create socket: %s\n"
|
||||
msgstr "Socket kann nicht erzeugt werden: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
|
||||
#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
|
||||
#, c-format
|
||||
msgid "error binding socket to `%s': %s\n"
|
||||
msgstr "Der Socket kann nicht an `%s' gebunden werden: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
|
||||
#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
|
||||
#, c-format
|
||||
msgid "listen() failed: %s\n"
|
||||
msgstr "Der listen()-Aufruf ist fehlgeschlagen: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
|
||||
#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
|
||||
#, c-format
|
||||
msgid "listening on socket `%s'\n"
|
||||
msgstr "Es wird auf Socket `%s' gehört\n"
|
||||
|
||||
#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
|
||||
#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
|
||||
#, c-format
|
||||
msgid "directory `%s' created\n"
|
||||
msgstr "Verzeichnis `%s' erzeugt\n"
|
||||
|
||||
#: agent/gpg-agent.c:1338
|
||||
#: agent/gpg-agent.c:1369
|
||||
#, c-format
|
||||
msgid "stat() failed for `%s': %s\n"
|
||||
msgstr "stat()-Aufruf für `%s' fehlgeschlagen: %s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1342
|
||||
#: agent/gpg-agent.c:1373
|
||||
#, c-format
|
||||
msgid "can't use `%s' as home directory\n"
|
||||
msgstr "Die Datei `%s' kann nicht als Home-Verzeichnis benutzt werden\n"
|
||||
|
||||
#: agent/gpg-agent.c:1441
|
||||
#: agent/gpg-agent.c:1475
|
||||
#, c-format
|
||||
msgid "handler 0x%lx for fd %d started\n"
|
||||
msgstr "Handhabungsroutine 0x%lx für fd %d gestartet\n"
|
||||
|
||||
#: agent/gpg-agent.c:1446
|
||||
#: agent/gpg-agent.c:1480
|
||||
#, c-format
|
||||
msgid "handler 0x%lx for fd %d terminated\n"
|
||||
msgstr "Handhabungsroutine 0x%lx für den fd %d beendet\n"
|
||||
|
||||
#: agent/gpg-agent.c:1460
|
||||
#: agent/gpg-agent.c:1497
|
||||
#, c-format
|
||||
msgid "ssh handler 0x%lx for fd %d started\n"
|
||||
msgstr "SSH-Handhabungsroutine 0x%lx für fd %d gestartet\n"
|
||||
|
||||
#: agent/gpg-agent.c:1465
|
||||
#: agent/gpg-agent.c:1502
|
||||
#, c-format
|
||||
msgid "ssh handler 0x%lx for fd %d terminated\n"
|
||||
msgstr "SSH-Handhabungsroutine 0x%lx für fd %d beendet\n"
|
||||
|
||||
#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
|
||||
#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
|
||||
#, c-format
|
||||
msgid "pth_select failed: %s - waiting 1s\n"
|
||||
msgstr "pth_select()-Aufruf fehlgeschlagen: %s - warte 1s\n"
|
||||
|
||||
#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
|
||||
#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
|
||||
#, c-format
|
||||
msgid "%s %s stopped\n"
|
||||
msgstr "%s %s angehalten\n"
|
||||
|
||||
#: agent/gpg-agent.c:1664
|
||||
#: agent/gpg-agent.c:1725
|
||||
msgid "no gpg-agent running in this session\n"
|
||||
msgstr "Der gpg-agent läuft nicht für diese Session\n"
|
||||
|
||||
#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
|
||||
#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
|
||||
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
|
||||
msgid "malformed GPG_AGENT_INFO environment variable\n"
|
||||
msgstr "fehlerhaft aufgebaute GPG_AGENT_INFO - Umgebungsvariable\n"
|
||||
|
||||
#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
|
||||
#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
|
||||
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
|
||||
#, c-format
|
||||
msgid "gpg-agent protocol version %d is not supported\n"
|
||||
@ -4367,7 +4361,7 @@ msgstr "Key verfällt am %s\n"
|
||||
msgid "Signature expires at %s\n"
|
||||
msgstr "Unterschrift verfällt am %s\n"
|
||||
|
||||
#: g10/keygen.c:1856
|
||||
#: g10/keygen.c:1854
|
||||
msgid ""
|
||||
"Your system can't display dates beyond 2038.\n"
|
||||
"However, it will be correctly handled up to 2106.\n"
|
||||
@ -4607,7 +4601,7 @@ msgstr "Sicherungsdatei '%s' kann nicht erzeugt werden: %s\n"
|
||||
msgid "NOTE: backup of card key saved to `%s'\n"
|
||||
msgstr "Hinweis: Sicherung des Kartenschlüssels wurde auf `%s' gespeichert\n"
|
||||
|
||||
#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
|
||||
#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
|
||||
msgid "never "
|
||||
msgstr "niemals "
|
||||
|
||||
@ -5609,14 +5603,14 @@ msgid "no valid addressees\n"
|
||||
msgstr "Keine gültigen Adressaten\n"
|
||||
|
||||
#: g10/pkclist.c:1468
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "Note: key %s has no %s feature\n"
|
||||
msgstr "Schlüssel %s hat keine User-IDs\n"
|
||||
msgstr "Hinweis: Schlüssel %s besitzt nicht die %s Eigenschaft\n"
|
||||
|
||||
#: g10/pkclist.c:1493
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "Note: key %s has no preference for %s\n"
|
||||
msgstr "Schlüssel %s hat keine User-IDs\n"
|
||||
msgstr "Hinweis: Schlüssel %s hat keine Einstellung für %s\n"
|
||||
|
||||
#: g10/plaintext.c:91
|
||||
msgid "data not saved; use option \"--output\" to save it\n"
|
||||
@ -5653,28 +5647,28 @@ msgstr "Ungenannter Empfänger; Versuch mit geheimen Schlüssel %s ...\n"
|
||||
msgid "okay, we are the anonymous recipient.\n"
|
||||
msgstr "Alles klar, wir sind der ungenannte Empfänger.\n"
|
||||
|
||||
#: g10/pubkey-enc.c:226
|
||||
#: g10/pubkey-enc.c:227
|
||||
msgid "old encoding of the DEK is not supported\n"
|
||||
msgstr "alte Kodierung des DEK wird nicht unterstützt\n"
|
||||
|
||||
#: g10/pubkey-enc.c:247
|
||||
#: g10/pubkey-enc.c:248
|
||||
#, c-format
|
||||
msgid "cipher algorithm %d%s is unknown or disabled\n"
|
||||
msgstr "Verschüsselungsverfahren %d%s ist unbekannt oder abgeschaltet\n"
|
||||
|
||||
#: g10/pubkey-enc.c:285
|
||||
#: g10/pubkey-enc.c:286
|
||||
#, c-format
|
||||
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
|
||||
msgstr ""
|
||||
"WARNUNG: Das Verschlüsselungsverfahren %s wurde nicht in den "
|
||||
"Empfängereinstellungen gefunden\n"
|
||||
|
||||
#: g10/pubkey-enc.c:305
|
||||
#: g10/pubkey-enc.c:306
|
||||
#, c-format
|
||||
msgid "NOTE: secret key %s expired at %s\n"
|
||||
msgstr "Hinweis: geheimer Schlüssel %s verfällt am %s\n"
|
||||
|
||||
#: g10/pubkey-enc.c:311
|
||||
#: g10/pubkey-enc.c:312
|
||||
msgid "NOTE: key has been revoked"
|
||||
msgstr "Hinweis: Schlüssel wurde widerrufen"
|
||||
|
||||
@ -5848,12 +5842,12 @@ msgstr ""
|
||||
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
|
||||
msgstr "Für DSA muß die Hashlänge ein Vielfaches von 8 Bit sein\n"
|
||||
|
||||
#: g10/seskey.c:243
|
||||
#: g10/seskey.c:242
|
||||
#, c-format
|
||||
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
|
||||
msgstr "DSA-Schlüssel %s verwendet einen unsicheren (%u Bit-) Hash\n"
|
||||
|
||||
#: g10/seskey.c:255
|
||||
#: g10/seskey.c:254
|
||||
#, c-format
|
||||
msgid "DSA key %s requires a %u bit or larger hash\n"
|
||||
msgstr "DSA-Schlüssel %s benötigt einen mindestens %u Bit langen Hash\n"
|
||||
@ -6414,7 +6408,7 @@ msgstr ""
|
||||
msgid "input line %u too long or missing LF\n"
|
||||
msgstr "Eingabezeile %u ist zu lang oder es fehlt ein LF\n"
|
||||
|
||||
#: jnlib/logging.c:619
|
||||
#: jnlib/logging.c:626
|
||||
#, c-format
|
||||
msgid "you found a bug ... (%s:%d)\n"
|
||||
msgstr "Sie haben eine Bug (Programmfehler) gefunden ... (%s:%d)\n"
|
||||
@ -6446,10 +6440,6 @@ msgstr "Alle Debug Flags setzen"
|
||||
msgid "Please report bugs to "
|
||||
msgstr "Bitte richten sie Berichte über Bugs (Softwarefehler) an "
|
||||
|
||||
#: kbx/kbxutil.c:108
|
||||
msgid ".\n"
|
||||
msgstr ".\n"
|
||||
|
||||
#: kbx/kbxutil.c:112
|
||||
msgid "Usage: kbxutil [options] [files] (-h for help)"
|
||||
msgstr "Aufruf: kbxutil [Optionen] [Dateien] (-h für Hilfe)"
|
||||
@ -6481,47 +6471,52 @@ msgstr "Das Erzeugungsdatum konnte nicht gespeichert werden: %s\n"
|
||||
msgid "reading public key failed: %s\n"
|
||||
msgstr "Lesen des öffentlichen Schlüssels fehlgeschlagen: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
|
||||
#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
|
||||
msgid "response does not contain the public key data\n"
|
||||
msgstr "Die Antwort enthält keine öffentliche Schlüssel-Daten\n"
|
||||
|
||||
#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
|
||||
#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
|
||||
msgid "response does not contain the RSA modulus\n"
|
||||
msgstr "Die Antwort enthält das RSA-Modulus nicht\n"
|
||||
|
||||
#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
|
||||
#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
|
||||
msgid "response does not contain the RSA public exponent\n"
|
||||
msgstr "Antwort enthält den öffentlichen RSA-Exponenten nicht\n"
|
||||
|
||||
#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
|
||||
#: scd/app-openpgp.c:1306
|
||||
msgid "||Please enter your PIN at the reader's keypad"
|
||||
msgstr "||Bitte die PIN auf der Tastatur des Kartenleser eingeben"
|
||||
|
||||
#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
|
||||
#: scd/app-openpgp.c:2247
|
||||
#, c-format
|
||||
msgid "PIN callback returned error: %s\n"
|
||||
msgstr "PIN-Callback meldete Fehler: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
|
||||
#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
|
||||
#, c-format
|
||||
msgid "PIN for CHV%d is too short; minimum length is %d\n"
|
||||
msgstr "PIN für CHV%d ist zu kurz; die Mindestlänge beträgt %d\n"
|
||||
|
||||
#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
|
||||
#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
|
||||
#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
|
||||
#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
|
||||
#, c-format
|
||||
msgid "verify CHV%d failed: %s\n"
|
||||
msgstr "Prüfung des CHV%d fehlgeschlagen: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1354
|
||||
#: scd/app-openpgp.c:1379
|
||||
msgid "access to admin commands is not configured\n"
|
||||
msgstr "Zugriff auf Admin-Befehle ist nicht eingerichtet\n"
|
||||
|
||||
#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
|
||||
#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
|
||||
msgid "error retrieving CHV status from card\n"
|
||||
msgstr "Fehler beim Holen des CHV-Status' von der Karte\n"
|
||||
|
||||
#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
|
||||
#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
|
||||
msgid "card is permanently locked!\n"
|
||||
msgstr "Karte ist dauerhaft gesperrt!\n"
|
||||
|
||||
#: scd/app-openpgp.c:1380
|
||||
#: scd/app-openpgp.c:1405
|
||||
#, c-format
|
||||
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
|
||||
msgstr "Noch %d Admin-PIN-Versuche, bis die Karte dauerhaft geperrt ist\n"
|
||||
@ -6529,110 +6524,110 @@ msgstr "Noch %d Admin-PIN-Versuche, bis die Karte dauerhaft geperrt ist\n"
|
||||
#. TRANSLATORS: Do not translate the "|A|" prefix but
|
||||
#. keep it at the start of the string. We need this elsewhere
|
||||
#. to get some infos on the string.
|
||||
#: scd/app-openpgp.c:1387
|
||||
#: scd/app-openpgp.c:1412
|
||||
msgid "|A|Admin PIN"
|
||||
msgstr "|A|Admin-PIN"
|
||||
|
||||
#. TRANSLATORS: Do not translate the "|*|" prefixes but
|
||||
#. keep it at the start of the string. We need this elsewhere
|
||||
#. to get some infos on the string.
|
||||
#: scd/app-openpgp.c:1536
|
||||
#: scd/app-openpgp.c:1561
|
||||
msgid "|AN|New Admin PIN"
|
||||
msgstr "|AN|Neue Admin-PIN"
|
||||
|
||||
#: scd/app-openpgp.c:1536
|
||||
#: scd/app-openpgp.c:1561
|
||||
msgid "|N|New PIN"
|
||||
msgstr "|N|Neue PIN"
|
||||
|
||||
#: scd/app-openpgp.c:1540
|
||||
#: scd/app-openpgp.c:1565
|
||||
#, c-format
|
||||
msgid "error getting new PIN: %s\n"
|
||||
msgstr "Fehler beim Abfragen einer neuen PIN: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
|
||||
#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
|
||||
msgid "error reading application data\n"
|
||||
msgstr "Fehler beim Lesen der Anwendungsdaten\n"
|
||||
|
||||
#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
|
||||
#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
|
||||
msgid "error reading fingerprint DO\n"
|
||||
msgstr "Fehler beim Lesen des Fingerabdrucks DO\n"
|
||||
|
||||
#: scd/app-openpgp.c:1606
|
||||
#: scd/app-openpgp.c:1631
|
||||
msgid "key already exists\n"
|
||||
msgstr "Schlüssel existiert bereits\n"
|
||||
|
||||
#: scd/app-openpgp.c:1610
|
||||
#: scd/app-openpgp.c:1635
|
||||
msgid "existing key will be replaced\n"
|
||||
msgstr "Existierender Schlüssel wird ersetzt werden\n"
|
||||
|
||||
#: scd/app-openpgp.c:1612
|
||||
#: scd/app-openpgp.c:1637
|
||||
msgid "generating new key\n"
|
||||
msgstr "neue Schlüssel werden erzeugt\n"
|
||||
|
||||
#: scd/app-openpgp.c:1779
|
||||
#: scd/app-openpgp.c:1804
|
||||
msgid "creation timestamp missing\n"
|
||||
msgstr "Erzeugungsdatum fehlt\n"
|
||||
|
||||
#: scd/app-openpgp.c:1786
|
||||
#: scd/app-openpgp.c:1811
|
||||
#, c-format
|
||||
msgid "RSA modulus missing or not of size %d bits\n"
|
||||
msgstr "Der RSA Modulus fehlt oder ist nicht %d Bits lang\n"
|
||||
|
||||
#: scd/app-openpgp.c:1793
|
||||
#: scd/app-openpgp.c:1818
|
||||
#, c-format
|
||||
msgid "RSA public exponent missing or larger than %d bits\n"
|
||||
msgstr "der öffentliche Exponent fehlt oder ist zu groß (mehr als %d Bit)\n"
|
||||
|
||||
#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
|
||||
#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
|
||||
#, c-format
|
||||
msgid "RSA prime %s missing or not of size %d bits\n"
|
||||
msgstr "Die RSA Primzahl %s fehlt oder ist nicht %d Bits lang\n"
|
||||
|
||||
#: scd/app-openpgp.c:1871
|
||||
#: scd/app-openpgp.c:1896
|
||||
#, c-format
|
||||
msgid "failed to store the key: %s\n"
|
||||
msgstr "Speichern des Schlüssels fehlgeschlagen: %s\n"
|
||||
|
||||
#: scd/app-openpgp.c:1930
|
||||
#: scd/app-openpgp.c:1955
|
||||
msgid "please wait while key is being generated ...\n"
|
||||
msgstr "Bitte warten, der Schlüssel wird erzeugt ...\n"
|
||||
|
||||
#: scd/app-openpgp.c:1944
|
||||
#: scd/app-openpgp.c:1969
|
||||
msgid "generating key failed\n"
|
||||
msgstr "Schlüsselerzeugung fehlgeschlagen\n"
|
||||
|
||||
#: scd/app-openpgp.c:1947
|
||||
#: scd/app-openpgp.c:1972
|
||||
#, c-format
|
||||
msgid "key generation completed (%d seconds)\n"
|
||||
msgstr "Schlüsselerzeugung abgeschlossen (%d Sekunden)\n"
|
||||
|
||||
#: scd/app-openpgp.c:2004
|
||||
#: scd/app-openpgp.c:2029
|
||||
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
|
||||
msgstr "Ungültige Struktur der OpenPGP-Karte (DO 0x93)}\n"
|
||||
|
||||
#: scd/app-openpgp.c:2141
|
||||
#: scd/app-openpgp.c:2166
|
||||
#, c-format
|
||||
msgid "card does not support digest algorithm %s\n"
|
||||
msgstr "Die Hashmethode %s wird von der Karte nicht unterstützt\n"
|
||||
|
||||
#: scd/app-openpgp.c:2202
|
||||
#: scd/app-openpgp.c:2227
|
||||
#, c-format
|
||||
msgid "signatures created so far: %lu\n"
|
||||
msgstr "Anzahl bereits erzeugter Signaturen: %lu\n"
|
||||
|
||||
#: scd/app-openpgp.c:2210
|
||||
#: scd/app-openpgp.c:2235
|
||||
#, c-format
|
||||
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
|
||||
msgstr "||Bitte die PIN eingeben%%0A[Sigs erzeugt: %lu]"
|
||||
|
||||
#: scd/app-openpgp.c:2475
|
||||
#: scd/app-openpgp.c:2500
|
||||
msgid ""
|
||||
"verification of Admin PIN is currently prohibited through this command\n"
|
||||
msgstr ""
|
||||
"Die Überprüfung der Admin PIN is momentan durch einen Befehl verboten "
|
||||
"worden\n"
|
||||
|
||||
#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
|
||||
#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
|
||||
#, c-format
|
||||
msgid "can't access %s - invalid OpenPGP card?\n"
|
||||
msgstr "Kann auf %s nicht zugreifen - ungültige OpenPGP-Karte?\n"
|
||||
@ -6681,18 +6676,18 @@ msgstr ""
|
||||
"Synatx: scdaemon [Optionen] [Befehl [Argumente]]\n"
|
||||
"Smartcard Daemon für GnuPG\n"
|
||||
|
||||
#: scd/scdaemon.c:672
|
||||
#: scd/scdaemon.c:682
|
||||
msgid "please use the option `--daemon' to run the program in the background\n"
|
||||
msgstr ""
|
||||
"Bitte die Option `--daemon' nutzen um das Programm im Hintergund "
|
||||
"auszuführen\n"
|
||||
|
||||
#: scd/scdaemon.c:1013
|
||||
#: scd/scdaemon.c:1030
|
||||
#, c-format
|
||||
msgid "handler for fd %d started\n"
|
||||
msgstr "Handhabungsroutine für fd %d gestartet\n"
|
||||
|
||||
#: scd/scdaemon.c:1018
|
||||
#: scd/scdaemon.c:1035
|
||||
#, c-format
|
||||
msgid "handler for fd %d terminated\n"
|
||||
msgstr "Handhabungsroutine für den fd %d beendet\n"
|
||||
@ -6864,31 +6859,31 @@ msgstr "DSA benötigt einen 160-bit Hash Algorithmus\n"
|
||||
msgid "(this is the MD2 algorithm)\n"
|
||||
msgstr "(Dies ist der MD2 Algorithmus)\n"
|
||||
|
||||
#: sm/certdump.c:61 sm/certdump.c:147
|
||||
#: sm/certdump.c:68 sm/certdump.c:154
|
||||
msgid "none"
|
||||
msgstr "keine"
|
||||
|
||||
#: sm/certdump.c:156
|
||||
#: sm/certdump.c:163
|
||||
msgid "[none]"
|
||||
msgstr "[keine]"
|
||||
|
||||
#: sm/certdump.c:529 sm/certdump.c:592
|
||||
#: sm/certdump.c:536 sm/certdump.c:599
|
||||
msgid "[Error - invalid encoding]"
|
||||
msgstr "[Fehler - Ungültige Kodierung]"
|
||||
|
||||
#: sm/certdump.c:537
|
||||
#: sm/certdump.c:544
|
||||
msgid "[Error - out of core]"
|
||||
msgstr "[Fehler - Nich genügend Speicher]"
|
||||
|
||||
#: sm/certdump.c:572
|
||||
#: sm/certdump.c:579
|
||||
msgid "[Error - No name]"
|
||||
msgstr "[Fehler - Kein Name]"
|
||||
|
||||
#: sm/certdump.c:597
|
||||
#: sm/certdump.c:604
|
||||
msgid "[Error - invalid DN]"
|
||||
msgstr "[Fehler - Ungültiger DN]"
|
||||
|
||||
#: sm/certdump.c:758
|
||||
#: sm/certdump.c:818
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Please enter the passphrase to unlock the secret key for:\n"
|
||||
@ -7386,11 +7381,11 @@ msgstr "[Datum nicht vorhanden]"
|
||||
msgid " using certificate ID %08lX\n"
|
||||
msgstr "mittels Zertifikat ID %08lX\n"
|
||||
|
||||
#: sm/verify.c:506
|
||||
#: sm/verify.c:509
|
||||
msgid "Good signature from"
|
||||
msgstr "Korrekte Signatur von"
|
||||
|
||||
#: sm/verify.c:507
|
||||
#: sm/verify.c:510
|
||||
msgid " aka"
|
||||
msgstr " alias"
|
||||
|
||||
@ -7741,3 +7736,9 @@ msgstr "keine Klasse angegeben\n"
|
||||
#, c-format
|
||||
msgid "class %s is not supported\n"
|
||||
msgstr "Klasse %s wird nicht unterstützt\n"
|
||||
|
||||
#~ msgid ">.\n"
|
||||
#~ msgstr ">.\n"
|
||||
|
||||
#~ msgid ".\n"
|
||||
#~ msgstr ".\n"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user