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:
Werner Koch 2006-11-21 11:00:14 +00:00
parent 5885142c83
commit e50c5f39cc
132 changed files with 7331 additions and 5486 deletions

1477
ABOUT-NLS

File diff suppressed because it is too large Load Diff

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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],

View File

@ -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

View File

@ -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;

View File

@ -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 */

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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;
}

View File

@ -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.

View File

@ -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.

View File

@ -1 +1 @@
GNU gettext library from gettext-0.14.1
GNU gettext library from gettext-0.15

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
{
/* Next is the territory. */
cp[0] = '\0';
*territory = ++cp;
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] != '_')
++cp;
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 (*territory != NULL && (*territory)[0] == '\0')
mask &= ~XPG_TERRITORY;
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;
if (*codeset != NULL && (*codeset)[0] == '\0')
mask &= ~XPG_CODESET;
if (*modifier != NULL && (*modifier)[0] == '\0')
mask &= ~XPG_MODIFIER;
}
if (*codeset != NULL && (*codeset)[0] == '\0')
mask &= ~XPG_CODESET;
return mask;
}

View File

@ -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;

View File

@ -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

View File

@ -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 @@ */

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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)
return 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;

View File

@ -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

View File

@ -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 */

View File

@ -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;
}
/* Something went wrong. */
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);

View File

@ -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];

View File

@ -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

View File

@ -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

View File

@ -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,60 +306,75 @@ read_alias_file (const char *fname, int fname_len)
else if (cp[0] != '\0')
*cp++ = '\0';
if (nmap >= maxmap)
if (__builtin_expect (extend_alias_table (), 0))
return added;
alias_len = strlen (alias) + 1;
value_len = strlen (value) + 1;
if (string_space_act + alias_len + value_len > string_space_max)
#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
{
/* Increase size of memory pool. */
size_t new_size = (string_space_max
+ (alias_len + value_len > 1024
? alias_len + value_len : 1024));
char *new_pool = (char *) realloc (string_space, new_size);
if (new_pool == NULL)
return added;
size_t alias_len;
size_t value_len;
if (__builtin_expect (string_space != new_pool, 0))
if (nmap >= maxmap)
if (__builtin_expect (extend_alias_table (), 0))
goto out;
alias_len = strlen (alias) + 1;
value_len = strlen (value) + 1;
if (string_space_act + alias_len + value_len > string_space_max)
{
size_t i;
/* Increase size of memory pool. */
size_t new_size = (string_space_max
+ (alias_len + value_len > 1024
? alias_len + value_len : 1024));
char *new_pool = (char *) realloc (string_space, new_size);
if (new_pool == NULL)
goto out;
for (i = 0; i < nmap; i++)
if (__builtin_expect (string_space != new_pool, 0))
{
map[i].alias += new_pool - string_space;
map[i].value += new_pool - string_space;
size_t i;
for (i = 0; i < nmap; i++)
{
map[i].alias += new_pool - string_space;
map[i].value += new_pool - string_space;
}
}
string_space = new_pool;
string_space_max = new_size;
}
string_space = new_pool;
string_space_max = new_size;
map[nmap].alias = memcpy (&string_space[string_space_act],
alias, alias_len);
string_space_act += alias_len;
map[nmap].value = memcpy (&string_space[string_space_act],
value, value_len);
string_space_act += value_len;
++nmap;
++added;
}
map[nmap].alias = memcpy (&string_space[string_space_act],
alias, alias_len);
string_space_act += alias_len;
map[nmap].value = memcpy (&string_space[string_space_act],
value, value_len);
string_space_act += value_len;
++nmap;
++added;
}
}
/* Possibly not the whole line fits into the buffer. Ignore
the rest of the line. */
while (strchr (buf, '\n') == NULL)
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;
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);

File diff suppressed because it is too large Load Diff

View File

@ -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,
const char *msgid1, const char *msgid2, int plural)
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);
}

View File

@ -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

View File

@ -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

View File

@ -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 */

View File

@ -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. */

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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>.

View File

@ -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>.

View File

@ -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;
shared_library_fullname = strdup (location);
{
#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)
{

View File

@ -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

View File

@ -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;
}

View File

@ -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);

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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),

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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],

View File

@ -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,

View File

@ -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 ();]])],

View File

@ -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.

View File

@ -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.

View File

@ -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,11 +10,11 @@ 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>
#include <stddef.h>
#include <stdlib.h>
#if HAVE_STDINT_H_WITH_UINTMAX
#include <stdint.h>

View File

@ -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,
[

View File

@ -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. ])

View File

@ -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

View File

@ -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

View File

@ -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])
])

View File

@ -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
])

View File

@ -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,

View File

@ -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;],

View File

@ -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
View File

@ -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)"; \

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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,32 +23,33 @@ 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
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>
extern size_t foo;
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
[#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>
extern size_t foo;
extern unsigned long foo;
], [], fits_in_uint=0)
fi
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])

View File

@ -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. ])

View File

@ -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'

View File

@ -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;],

View File

@ -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.

View File

@ -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.

View File

@ -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)
])

View File

@ -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 -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
@echo "touch stamp-po"
@echo timestamp > stamp-poT
@mv stamp-poT stamp-po
test ! -f $(srcdir)/$(DOMAIN).pot || \
test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
@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
View File

@ -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
View File

@ -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
View File

@ -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
View File

@ -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
View File

@ -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