summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog74
-rw-r--r--Makefile2
-rw-r--r--README4
-rw-r--r--elf/dl-deps.c73
-rw-r--r--elf/dynamic-link.h10
-rw-r--r--elf/elf.h84
-rw-r--r--elf/link.h7
-rw-r--r--libio/libio.h18
-rw-r--r--malloc/malloc.c21
-rw-r--r--malloc/malloc.h1
-rw-r--r--nis/rpcsvc/yp.h224
-rw-r--r--nis/rpcsvc/yp.x57
-rw-r--r--po/es.po430
-rw-r--r--po/fr.po6
-rw-r--r--po/nl.po68
-rw-r--r--sunrpc/Makefile2
-rw-r--r--sysdeps/alpha/stxncpy.S6
-rw-r--r--sysdeps/i386/fpu/__math.h25
-rw-r--r--sysdeps/unix/sysv/linux/statbuf.h6
-rw-r--r--time/Makefile16
-rw-r--r--time/tzfile.c24
-rw-r--r--time/tzset.c14
22 files changed, 751 insertions, 421 deletions
diff --git a/ChangeLog b/ChangeLog
index 3ea031bed0..4383e66c07 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,77 @@
+1997-02-03 02:33 Ulrich Drepper <drepper@cygnus.com>
+
+ * elf/dl-deps.c (_dl_map_object_deps): Handle multiple AUXILIARY
+ entries. This is still no complete implementation since AUXILIARY
+ entries in other shared objects are not yet handled.
+
+ * libio/libio.h (_IO_cookie_io_functions_t): Move to C++ protected
+ place.
+
+ * po/es.po: Update.
+ * po/fr.po: Update.
+ * po/nl.po: Update.
+
+ * time/Makefile: Better cross-compile support. Avoid test which
+ cannot be run.
+ (CFLAGS-tzset.c): New variable. Overwrite TZDEFAULT value from
+ tzfile.h file.
+ * time/tzfile.c (__tzfile_read): Allow TZDEFAULT start with '/' even
+ in SUID programs.
+ * time/tzset.c (__tzset_internal): If TZ envvar is not set use same
+ default values as in tzfile.c.
+
+ * elf/dynamic-link.h (elf_get_dynamic_info): Recognize versioning
+ tags.
+ * elf/link.h: Likewise.
+ * elf/elf.h: Add tag definitions and data structures for versioning.
+
+1997-02-03 02:17 Ulrich Drepper <drepper@cygnus.com>
+
+ * nis/rpcsvc/yp.x (struct ypresp_key_val): There is not stupid
+ "Sun bug". This is the order of elements also used by 4.4BSD.
+ * nis/rpcsvc/yp.h: Likewise.
+ Reported by HJ Lu.
+
+1997-02-02 12:13 H.J. Lu <hjl@gnu.ai.mit.edu>
+
+ * sunrpc/Makefile ($(objpfx)x%.h, $(objpfx)x%.c): Add "@:" as
+ action.
+
+ * Makefile (install): Pass installation directories as arguments
+ to ldconfig.
+
+1997-02-02 23:15 Ulrich Drepper <drepper@cygnus.com>
+
+ * malloc/malloc.c (__after_morecore_hook): New variable.
+ (malloc_extend_top): Call __after_morecore_hook if set.
+ (main_trim): Likewise.
+ * malloc/malloc.h: Add declaration of __after_morecore_hook.
+ Suggested by Marcus Daniels.
+
+1997-02-02 23:00 Marcus G. Daniels <marcus@tdb.com>
+
+ * malloc/malloc.c (rEALLOc): Protect tsd_setspecific call by
+ #ifndef NO_THREADS.
+ (mallinfo): Likewise.
+
+ * malloc/malloc.c (__morecore): Make external since it is used in
+ programs.
+
+1997-02-02 15:10 Ulrich Drepper <drepper@cygnus.com>
+
+ * sysdeps/unix/sysv/linux/statbuf.h (struct stat): Make st_dev field
+ unsigned.
+
+1997-02-01 23:36 Richard Henderson <rth@tamu.edu>
+
+ * sysdeps/alpha/stxncpy.S ($unaligned) [src % 8 > dst % 8]: Don't
+ use t6 as a temporary; it contains bits we still need in $u_head.
+
+1997-01-31 15:05 John Bowman <bowman@ipp-garching.mpg.de>
+
+ * sysdeps/i386/fpu/__math.h [__USE_MISC]: Don't declare prototypes
+ using __ prefix. Add prototype for log1p.
+
1997-02-02 00:39 Ulrich Drepper <drepper@cygnus.com>
* dirent/dirent.h: Add description _DIRENT_HAVE_D_TYPE.
diff --git a/Makefile b/Makefile
index 03408c768e..f2d796f19b 100644
--- a/Makefile
+++ b/Makefile
@@ -119,7 +119,7 @@ ifeq (no,$(cross-compiling))
ifeq (yes,$(build-shared))
install:
test ! -x $(common-objpfx)elf/ldconfig || \
- $(common-objpfx)elf/ldconfig -d
+ $(common-objpfx)elf/ldconfig -d $(inst_slibdir) $(inst_libdir)
endif
endif
diff --git a/README b/README
index 32b6973893..83cf531d28 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-This directory contains the version 2.0 test release of the GNU C Library.
+This directory contains the version 2.0.1 test release of the GNU C Library.
Many bugs have been fixed since the last release.
Some bugs surely remain.
@@ -46,7 +46,7 @@ provides the Unix `crypt' function, plus some other entry points.
Because of the United States export restriction on DES implementations,
we are distributing this code separately from the rest of the C
library. There is an extra distribution tar file just for crypt; it is
-called `glibc-crypt-2.0.tar.gz'. You can just unpack the crypt
+called `glibc-crypt-2.0.1.tar.gz'. You can just unpack the crypt
distribution along with the rest of the C library and build; you can
also build the library without getting crypt. Users outside the USA
can get the crypt distribution via anonymous FTP from ftp.ifi.uio.no
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
index f034196762..7a6772979b 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -32,7 +32,7 @@ _dl_map_object_deps (struct link_map *map,
struct link_map *map;
struct list *next;
};
- struct list head[2 + npreloads], *tailp, *scanp;
+ struct list *head, *tailp, *scanp;
struct list duphead, *duptailp;
unsigned int nduplist;
unsigned int nlist, naux, i;
@@ -49,36 +49,57 @@ _dl_map_object_deps (struct link_map *map,
naux = nlist = 0;
-#define AUXTAG (DT_NUM + DT_PROCNUM + DT_EXTRATAGIDX (DT_AUXILIARY))
+ /* XXX The AUXILIARY implementation isn't correct in the moment. XXX
+ XXX The problem is that we currently do not handle auxiliary XXX
+ XXX entries in the loaded objects. XXX */
+#define AUXTAG (DT_NUM + DT_PROCNUM + DT_VERSIONTAGNUM \
+ + DT_EXTRATAGIDX (DT_AUXILIARY))
+
+ /* First determine the number of auxiliary objects we have to load. */
if (map->l_info[AUXTAG])
{
- /* There is an auxiliary library specified. We try to load it,
- and if we can, use its symbols in preference to our own.
- But if we can't load it, we just silently ignore it.
- XXX support multiple DT_AUXILIARYs?
- */
- struct link_map *aux;
- void openaux (void)
- {
- const char *strtab
- = ((void *) map->l_addr + map->l_info[DT_STRTAB]->d_un.d_ptr);
- aux = _dl_map_object (map, strtab + map->l_info[AUXTAG]->d_un.d_val,
- map->l_type == lt_executable ? lt_library :
- map->l_type, trace_mode);
- }
- char *errstring;
- const char *objname;
- if (! _dl_catch_error (&errstring, &objname, &openaux))
- {
- /* The auxiliary object is actually there. Use it
- as the first search element, even before MAP itself. */
- preload (aux);
- naux = 1;
- }
+ ElfW(Dyn) *d;
+ for (d = map->l_ld; d->d_tag != DT_NULL; ++d)
+ if (d->d_tag == DT_AUXILIARY)
+ ++naux;
+ }
+
+ /* Now we can allocate the array for the linker maps. */
+ head = (struct list *) alloca (sizeof (struct list)
+ * (naux + npreloads + 2));
+
+ /* Load the auxiliary objects, even before the object itself. */
+ if (map->l_info[AUXTAG])
+ {
+ /* There is at least one auxiliary library specified. We try to
+ load it, and if we can, use its symbols in preference to our
+ own. But if we can't load it, we just silently ignore it. */
+ const char *strtab
+ = ((void *) map->l_addr + map->l_info[DT_STRTAB]->d_un.d_ptr);
+ ElfW(Dyn) *d;
+
+ for (d = map->l_ld; d->d_tag != DT_NULL; ++d)
+ if (d->d_tag == DT_AUXILIARY)
+ {
+ struct link_map *aux;
+ void openaux (void)
+ {
+ aux = _dl_map_object (map, strtab + d->d_un.d_val,
+ (map->l_type == lt_executable
+ ? lt_library : map->l_type),
+ trace_mode);
+ }
+ char *errstring;
+ const char *objname;
+ if (! _dl_catch_error (&errstring, &objname, openaux))
+ /* The auxiliary object is actually there. Use it as
+ the first search element, even before MAP itself. */
+ preload (aux);
+ }
}
- /* Start the search list with one element: MAP itself. */
+ /* Next load MAP itself. */
preload (map);
/* Add the preloaded items after MAP but before any of its dependencies. */
diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h
index c613f824d8..1d134ddf2f 100644
--- a/elf/dynamic-link.h
+++ b/elf/dynamic-link.h
@@ -26,11 +26,12 @@
static inline void __attribute__ ((unused))
elf_get_dynamic_info (ElfW(Dyn) *dyn,
- ElfW(Dyn) *info[DT_NUM + DT_PROCNUM + DT_EXTRANUM])
+ ElfW(Dyn) *info[DT_NUM + DT_PROCNUM + DT_VERSIONTAGNUM
+ + DT_EXTRANUM])
{
unsigned int i;
- for (i = 0; i < DT_NUM + DT_PROCNUM + DT_EXTRANUM; ++i)
+ for (i = 0; i < DT_NUM + DT_PROCNUM + DT_VERSIONTAGNUM + DT_EXTRANUM; ++i)
info[i] = NULL;
if (! dyn)
@@ -43,8 +44,11 @@ elf_get_dynamic_info (ElfW(Dyn) *dyn,
else if (dyn->d_tag >= DT_LOPROC &&
dyn->d_tag < DT_LOPROC + DT_PROCNUM)
info[dyn->d_tag - DT_LOPROC + DT_NUM] = dyn;
+ else if ((Elf32_Word) DT_VERSIONTAGIDX (dyn->d_tag) < DT_VERSIONTAGNUM)
+ info[DT_VERSIONTAGIDX (dyn->d_tag) + DT_NUM + DT_PROCNUM] = dyn;
else if ((Elf32_Word) DT_EXTRATAGIDX (dyn->d_tag) < DT_EXTRANUM)
- info[DT_EXTRATAGIDX (dyn->d_tag) + DT_NUM + DT_PROCNUM] = dyn;
+ info[DT_EXTRATAGIDX (dyn->d_tag) + DT_NUM + DT_PROCNUM
+ + DT_VERSIONTAGNUM] = dyn;
else
assert (! "bad dynamic tag");
dyn++;
diff --git a/elf/elf.h b/elf/elf.h
index d25934b411..05eeb3664f 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -232,6 +232,11 @@ typedef struct
#define SHT_SHLIB 10 /* Reserved */
#define SHT_DYNSYM 11 /* Dynamic linker symbol table */
#define SHT_NUM 12 /* Number of defined types. */
+#define SHT_LOSUNW 0x6ffffffd /* Sun-specific low bound. */
+#define SHT_GNU_verdef 0x6ffffffd /* Version definition section. */
+#define SHT_GNU_verneed 0x6ffffffe /* Version needs section. */
+#define SHT_GNU_versym 0x6fffffff /* Version symbol table. */
+#define SHT_HISUNW 0x6fffffff /* Sun-specific high bound. */
#define SHT_LOPROC 0x70000000 /* Start of processor-specific */
#define SHT_HIPROC 0x7fffffff /* End of processor-specific */
#define SHT_LOUSER 0x80000000 /* Start of application-specific */
@@ -464,6 +469,20 @@ typedef struct
#define DT_HIPROC 0x7fffffff /* End of processor-specific */
#define DT_PROCNUM DT_MIPS_NUM /* Most used by any processor */
+/* The versioning entry types. The next are defined as part of the
+ GNU extension. */
+#define DT_VERSYM 0x6ffffff0
+
+/* These were chosen by Sun. */
+#define DT_VERDEF 0x6ffffffc /* Address of version definition
+ table */
+#define DT_VERDEFNUM 0x6ffffffd /* Number of version definitions */
+#define DT_VERNEED 0x6ffffffe /* Address of table with needed
+ versions */
+#define DT_VERNEEDNUM 0x6fffffff /* Number of needed versions */
+#define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag)) /* Reverse order! */
+#define DT_VERSIONTAGNUM 16
+
/* Sun added these machine-independent extensions in the "processor-specific"
range. Be compatible. */
#define DT_AUXILIARY 0x7ffffffd /* Shared object to load before self */
@@ -471,6 +490,71 @@ typedef struct
#define DT_EXTRATAGIDX(tag) ((Elf32_Word)-((Elf32_Sword) (tag) <<1>>1)-1)
#define DT_EXTRANUM 3
+/* Version definition sections. */
+
+typedef struct
+{
+ Elf32_Half vd_version; /* Version revision */
+ Elf32_Half vd_flags; /* Version information */
+ Elf32_Half vd_ndx; /* Version Index */
+ Elf32_Half vd_cnt; /* Number of associated aux entries */
+ Elf32_Word vd_hash; /* Version name hash value */
+ Elf32_Word vd_aux; /* Offset in bytes to verdaux array */
+ Elf32_Word vd_next; /* Offset in bytes to next verdef
+ entry */
+} Elf32_Verdef;
+
+/* Legal values for vd_version (version revision). */
+#define VER_DEF_NONE 0 /* No version */
+#define VER_DEF_CURRENT 1 /* Current version */
+#define VER_DEF_NUM 2 /* Given version number */
+
+/* Legal values for vd_flags (version information flags). */
+#define VER_FLG_BASE 0x1 /* Version definition of file itself */
+#define VER_FLG_WEAK 0x2 /* Weak version identifier */
+
+/* Auxialiary version information. */
+
+typedef struct
+{
+ Elf32_Addr vda_name; /* Version or dependency names */
+ Elf32_Word vda_next; /* Offset in bytes to next verdaux
+ entry */
+} Elf32_Verdaux;
+
+/* Version dependency section. */
+
+typedef struct
+{
+ Elf32_Half vn_version; /* Version of structure */
+ Elf32_Half vn_cnt; /* Number of associated aux entries */
+ Elf32_Addr vn_file; /* Offset of filename for this
+ dependency */
+ Elf32_Word vn_aux; /* Offset in bytes to vernaux array */
+ Elf32_Word vn_next; /* Offset in bytes to next verneed
+ entry */
+} Elf32_Verneed;
+
+/* Legal values for vn_version (version revision). */
+#define VER_NEED_NONE 0 /* No version */
+#define VER_NEED_CURRENT 1 /* Current version */
+#define VER_NEED_NUM 2 /* Given version number */
+
+/* Auxiliary needed version information. */
+
+typedef struct
+{
+ Elf32_Word vna_hash; /* Hash value of dependency name */
+ Elf32_Half vna_flags; /* Dependency specific information */
+ Elf32_Half vna_other; /* Unused */
+ Elf32_Addr vna_name; /* Dependency name string offset */
+ Elf32_Word vna_next; /* Offset in bytes to next vernaux
+ entry */
+} Elf32_Vernaux;
+
+/* Legal values for vna_flags. */
+#define VER_FLG_WEAK 0x2 /* Weak verison identifier */
+
/* Auxiliary vector. */
diff --git a/elf/link.h b/elf/link.h
index 95d8f0912d..b05ecca199 100644
--- a/elf/link.h
+++ b/elf/link.h
@@ -99,9 +99,12 @@ struct link_map
[0,DT_NUM) are indexed by the processor-independent tags.
[DT_NUM,DT_NUM+DT_PROCNUM) are indexed by the tag minus DT_LOPROC.
[DT_NUM+DT_PROCNUM,DT_NUM+DT_PROCNUM+DT_EXTRANUM) are indexed
- by DT_EXTRATAGIDX(tagvalue) (see <elf.h>). */
+ by DT_EXTRATAGIDX(tagvalue) and
+ [DT_NUM+DT_PROCNUM+DT_VERSIONTAGNUM,
+ DT_NUM+DT_PROCNUM+DT_VERSIONTAGNUM+DT_EXTRANUM)
+ are indexed by DT_EXTRATAGIDX(tagvalue) (see <elf.h>). */
- ElfW(Dyn) *l_info[DT_NUM + DT_PROCNUM + DT_EXTRANUM];
+ ElfW(Dyn) *l_info[DT_NUM + DT_PROCNUM + DT_VERSIONTAGNUM + DT_EXTRANUM];
const ElfW(Phdr) *l_phdr; /* Pointer to program header table in core. */
ElfW(Addr) l_entry; /* Entry point location. */
ElfW(Half) l_phnum; /* Number of program header entries. */
diff --git a/libio/libio.h b/libio/libio.h
index c51cad4234..d0a76c34b2 100644
--- a/libio/libio.h
+++ b/libio/libio.h
@@ -149,15 +149,6 @@ the executable file might be covered by the GNU General Public License. */
struct _IO_jump_t; struct _IO_FILE;
-/* Define the user-visible type, with user-friendly member names. */
-typedef struct
-{
- _IO_ssize_t (*read) __P ((struct _IO_FILE *, void *, _IO_ssize_t));
- _IO_ssize_t (*write) __P ((struct _IO_FILE *, const void *, _IO_ssize_t));
- _IO_fpos_t (*seek) __P ((struct _IO_FILE *, _IO_off_t, int));
- int (*close) __P ((struct _IO_FILE *));
-} _IO_cookie_io_functions_t;
-
/* Handle lock. */
#ifdef _IO_MTSAFE_IO
#include <stdio-lock.h>
@@ -236,6 +227,15 @@ extern struct _IO_FILE_plus _IO_stdin_, _IO_stdout_, _IO_stderr_;
#define _IO_stderr ((_IO_FILE*)(&_IO_stderr_))
+/* Define the user-visible type, with user-friendly member names. */
+typedef struct
+{
+ _IO_ssize_t (*read) __P ((struct _IO_FILE *, void *, _IO_ssize_t));
+ _IO_ssize_t (*write) __P ((struct _IO_FILE *, const void *, _IO_ssize_t));
+ _IO_fpos_t (*seek) __P ((struct _IO_FILE *, _IO_off_t, int));
+ int (*close) __P ((struct _IO_FILE *));
+} _IO_cookie_io_functions_t;
+
/* Special file type for fopencookie function. */
struct _IO_cookie_file {
struct _IO_FILE file;
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 57867c90c6..0380527f64 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -820,12 +820,12 @@ do { \
#if __STD_C
Void_t * __default_morecore (ptrdiff_t);
-static Void_t *(*__morecore)(ptrdiff_t) = __default_morecore;
+Void_t *(*__morecore)(ptrdiff_t) = __default_morecore;
#else
Void_t * __default_morecore ();
-static Void_t *(*__morecore)() = __default_morecore;
+Void_t *(*__morecore)() = __default_morecore;
#endif
@@ -1615,6 +1615,7 @@ __malloc_ptr_t weak_variable (*__realloc_hook)
__MALLOC_P ((__malloc_ptr_t __ptr, size_t __size)) = realloc_hook_ini;
__malloc_ptr_t weak_variable (*__memalign_hook)
__MALLOC_P ((size_t __size, size_t __alignment)) = memalign_hook_ini;
+void weak_variable (*__after_morecore_hook) __MALLOC_P ((void)) = NULL;
/* Activate a standard set of debugging hooks. */
void
@@ -2215,6 +2216,10 @@ static void malloc_extend_top(ar_ptr, nb) arena *ar_ptr; INTERNAL_SIZE_T nb;
(brk < old_end && old_top != initial_top(&main_arena)))
return;
+ /* Call the `morecore' hook if necessary. */
+ if (__after_morecore_hook)
+ (*__after_morecore_hook) ();
+
sbrked_mem += sbrk_size;
if (brk == old_end) { /* can just add bytes to current top */
@@ -2243,6 +2248,10 @@ static void malloc_extend_top(ar_ptr, nb) arena *ar_ptr; INTERNAL_SIZE_T nb;
new_brk = (char*)(MORECORE (correction));
if (new_brk == (char*)(MORECORE_FAILURE)) return;
+ /* Call the `morecore' hook if necessary. */
+ if (__after_morecore_hook)
+ (*__after_morecore_hook) ();
+
sbrked_mem += correction;
top(&main_arena) = (mchunkptr)brk;
@@ -2914,8 +2923,10 @@ Void_t* rEALLOc(oldmem, bytes) Void_t* oldmem; size_t bytes;
(void)mutex_lock(&ar_ptr->mutex);
#endif
+#ifndef NO_THREADS
/* As in malloc(), remember this arena for the next allocation. */
tsd_setspecific(arena_key, (Void_t *)ar_ptr);
+#endif
newp = chunk_realloc(ar_ptr, oldp, oldsize, nb);
@@ -3421,6 +3432,10 @@ main_trim(pad) size_t pad;
new_brk = (char*)(MORECORE (-extra));
+ /* Call the `morecore' hook if necessary. */
+ if (__after_morecore_hook)
+ (*__after_morecore_hook) ();
+
if (new_brk == (char*)(MORECORE_FAILURE)) { /* sbrk failed? */
/* Try to figure out what we have */
current_brk = (char*)(MORECORE (0));
@@ -3703,7 +3718,9 @@ struct mallinfo mALLINFo()
struct mallinfo mi;
Void_t *vptr = NULL;
+#ifndef NO_THREADS
tsd_getspecific(arena_key, vptr);
+#endif
malloc_update_mallinfo((vptr ? (arena*)vptr : &main_arena), &mi);
return mi;
}
diff --git a/malloc/malloc.h b/malloc/malloc.h
index 5794f26663..b27d06252c 100644
--- a/malloc/malloc.h
+++ b/malloc/malloc.h
@@ -181,6 +181,7 @@ extern __malloc_ptr_t (*__realloc_hook) __MALLOC_P ((__malloc_ptr_t __ptr,
size_t __size));
extern __malloc_ptr_t (*__memalign_hook) __MALLOC_P ((size_t __size,
size_t __alignment));
+extern void (*__after_morecore_hook) __MALLOC_P ((void));
/* Activate a standard set of debugging hooks. */
extern void __malloc_check_init __MALLOC_P ((void));
diff --git a/nis/rpcsvc/yp.h b/nis/rpcsvc/yp.h
index f625eced50..0bee83b259 100644
--- a/nis/rpcsvc/yp.h
+++ b/nis/rpcsvc/yp.h
@@ -5,23 +5,23 @@
* may copy or modify Sun RPC without charge, but are not authorized
* to license or distribute it to anyone else except as part of a product or
* program developed by the user.
- *
+ *
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
+ *
* Sun RPC is provided with no support and without any obligation on the
* part of Sun Microsystems, Inc. to assist in its use, correction,
* modification or enhancement.
- *
+ *
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
* OR ANY PART THEREOF.
- *
+ *
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
* or profits or other special, indirect and consequential damages, even if
* Sun has been advised of the possibility of such damages.
- *
+ *
* Sun Microsystems, Inc.
* 2550 Garcia Avenue
* Mountain View, California 94043
@@ -51,13 +51,13 @@ enum ypstat {
YP_VERS = -8,
};
typedef enum ypstat ypstat;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypstat(XDR *, ypstat*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypstat(XDR *, ypstat*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypstat();
-#endif /* Old Style C */
+#endif /* Old Style C */
enum ypxfrstat {
@@ -79,69 +79,69 @@ enum ypxfrstat {
YPXFR_REFUSED = -14,
};
typedef enum ypxfrstat ypxfrstat;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypxfrstat(XDR *, ypxfrstat*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypxfrstat(XDR *, ypxfrstat*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypxfrstat();
-#endif /* Old Style C */
+#endif /* Old Style C */
typedef char *domainname;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_domainname(XDR *, domainname*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_domainname(XDR *, domainname*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_domainname();
-#endif /* Old Style C */
+#endif /* Old Style C */
typedef char *mapname;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_mapname(XDR *, mapname*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_mapname(XDR *, mapname*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_mapname();
-#endif /* Old Style C */
+#endif /* Old Style C */
typedef char *peername;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_peername(XDR *, peername*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_peername(XDR *, peername*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_peername();
-#endif /* Old Style C */
+#endif /* Old Style C */
typedef struct {
u_int keydat_len;
char *keydat_val;
} keydat;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_keydat(XDR *, keydat*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_keydat(XDR *, keydat*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_keydat();
-#endif /* Old Style C */
+#endif /* Old Style C */
typedef struct {
u_int valdat_len;
char *valdat_val;
} valdat;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_valdat(XDR *, valdat*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_valdat(XDR *, valdat*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_valdat();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypmap_parms {
@@ -151,13 +151,13 @@ struct ypmap_parms {
peername peer;
};
typedef struct ypmap_parms ypmap_parms;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypmap_parms(XDR *, ypmap_parms*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypmap_parms(XDR *, ypmap_parms*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypmap_parms();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypreq_key {
@@ -166,13 +166,13 @@ struct ypreq_key {
keydat key;
};
typedef struct ypreq_key ypreq_key;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypreq_key(XDR *, ypreq_key*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypreq_key(XDR *, ypreq_key*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypreq_key();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypreq_nokey {
@@ -180,13 +180,13 @@ struct ypreq_nokey {
mapname map;
};
typedef struct ypreq_nokey ypreq_nokey;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypreq_nokey(XDR *, ypreq_nokey*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypreq_nokey(XDR *, ypreq_nokey*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypreq_nokey();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypreq_xfr {
@@ -196,13 +196,13 @@ struct ypreq_xfr {
u_int port;
};
typedef struct ypreq_xfr ypreq_xfr;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypreq_xfr(XDR *, ypreq_xfr*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypreq_xfr(XDR *, ypreq_xfr*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypreq_xfr();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypresp_val {
@@ -210,28 +210,28 @@ struct ypresp_val {
valdat val;
};
typedef struct ypresp_val ypresp_val;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_val(XDR *, ypresp_val*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypresp_val(XDR *, ypresp_val*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypresp_val();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypresp_key_val {
ypstat stat;
- valdat val;
keydat key;
+ valdat val;
};
typedef struct ypresp_key_val ypresp_key_val;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_key_val(XDR *, ypresp_key_val*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypresp_key_val(XDR *, ypresp_key_val*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypresp_key_val();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypresp_master {
@@ -239,13 +239,13 @@ struct ypresp_master {
peername peer;
};
typedef struct ypresp_master ypresp_master;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_master(XDR *, ypresp_master*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypresp_master(XDR *, ypresp_master*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypresp_master();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypresp_order {
@@ -253,13 +253,13 @@ struct ypresp_order {
u_int ordernum;
};
typedef struct ypresp_order ypresp_order;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_order(XDR *, ypresp_order*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypresp_order(XDR *, ypresp_order*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypresp_order();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypresp_all {
@@ -269,13 +269,13 @@ struct ypresp_all {
} ypresp_all_u;
};
typedef struct ypresp_all ypresp_all;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_all(XDR *, ypresp_all*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypresp_all(XDR *, ypresp_all*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypresp_all();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypresp_xfr {
@@ -283,13 +283,13 @@ struct ypresp_xfr {
ypxfrstat xfrstat;
};
typedef struct ypresp_xfr ypresp_xfr;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_xfr(XDR *, ypresp_xfr*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypresp_xfr(XDR *, ypresp_xfr*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypresp_xfr();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypmaplist {
@@ -297,13 +297,13 @@ struct ypmaplist {
struct ypmaplist *next;
};
typedef struct ypmaplist ypmaplist;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypmaplist(XDR *, ypmaplist*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypmaplist(XDR *, ypmaplist*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypmaplist();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypresp_maplist {
@@ -311,13 +311,13 @@ struct ypresp_maplist {
ypmaplist *maps;
};
typedef struct ypresp_maplist ypresp_maplist;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_maplist(XDR *, ypresp_maplist*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypresp_maplist(XDR *, ypresp_maplist*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypresp_maplist();
-#endif /* Old Style C */
+#endif /* Old Style C */
enum yppush_status {
@@ -339,13 +339,13 @@ enum yppush_status {
YPPUSH_REFUSED = -14,
};
typedef enum yppush_status yppush_status;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_yppush_status(XDR *, yppush_status*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_yppush_status(XDR *, yppush_status*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_yppush_status();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct yppushresp_xfr {
@@ -353,13 +353,13 @@ struct yppushresp_xfr {
yppush_status status;
};
typedef struct yppushresp_xfr yppushresp_xfr;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_yppushresp_xfr(XDR *, yppushresp_xfr*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_yppushresp_xfr(XDR *, yppushresp_xfr*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_yppushresp_xfr();
-#endif /* Old Style C */
+#endif /* Old Style C */
enum ypbind_resptype {
@@ -367,13 +367,13 @@ enum ypbind_resptype {
YPBIND_FAIL_VAL = 2,
};
typedef enum ypbind_resptype ypbind_resptype;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypbind_resptype(XDR *, ypbind_resptype*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypbind_resptype(XDR *, ypbind_resptype*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypbind_resptype();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypbind_binding {
@@ -381,13 +381,13 @@ struct ypbind_binding {
char ypbind_binding_port[2];
};
typedef struct ypbind_binding ypbind_binding;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypbind_binding(XDR *, ypbind_binding*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypbind_binding(XDR *, ypbind_binding*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypbind_binding();
-#endif /* Old Style C */
+#endif /* Old Style C */
struct ypbind_resp {
@@ -398,13 +398,13 @@ struct ypbind_resp {
} ypbind_resp_u;
};
typedef struct ypbind_resp ypbind_resp;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypbind_resp(XDR *, ypbind_resp*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypbind_resp(XDR *, ypbind_resp*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypbind_resp();
-#endif /* Old Style C */
+#endif /* Old Style C */
#define YPBIND_ERR_ERR 1
#define YPBIND_ERR_NOSERV 2
@@ -416,13 +416,13 @@ struct ypbind_setdom {
u_int ypsetdom_vers;
};
typedef struct ypbind_setdom ypbind_setdom;
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" bool_t xdr_ypbind_setdom(XDR *, ypbind_setdom*);
-#elif __STDC__
+#elif __STDC__
extern bool_t xdr_ypbind_setdom(XDR *, ypbind_setdom*);
-#else /* Old Style C */
+#else /* Old Style C */
bool_t xdr_ypbind_setdom();
-#endif /* Old Style C */
+#endif /* Old Style C */
#define YPPROG ((u_long)100004)
@@ -504,7 +504,7 @@ extern ypresp_order * ypproc_order_2_svc(ypreq_nokey *, struct svc_req *);
extern ypresp_maplist * ypproc_maplist_2(domainname *, CLIENT *);
extern ypresp_maplist * ypproc_maplist_2_svc(domainname *, struct svc_req *);
-#else /* Old Style C */
+#else /* Old Style C */
#define YPPROC_NULL ((u_long)0)
extern void * ypproc_null_2();
extern void * ypproc_null_2_svc();
@@ -541,7 +541,7 @@ extern ypresp_order * ypproc_order_2_svc();
#define YPPROC_MAPLIST ((u_long)11)
extern ypresp_maplist * ypproc_maplist_2();
extern ypresp_maplist * ypproc_maplist_2_svc();
-#endif /* Old Style C */
+#endif /* Old Style C */
#define YPPUSH_XFRRESPPROG ((u_long)0x40000000)
#define YPPUSH_XFRRESPVERS ((u_long)1)
@@ -562,14 +562,14 @@ extern void * yppushproc_null_1_svc(void *, struct svc_req *);
extern void * yppushproc_xfrresp_1(yppushresp_xfr *, CLIENT *);
extern void * yppushproc_xfrresp_1_svc(yppushresp_xfr *, struct svc_req *);
-#else /* Old Style C */
+#else /* Old Style C */
#define YPPUSHPROC_NULL ((u_long)0)
extern void * yppushproc_null_1();
extern void * yppushproc_null_1_svc();
#define YPPUSHPROC_XFRRESP ((u_long)1)
extern void * yppushproc_xfrresp_1();
extern void * yppushproc_xfrresp_1_svc();
-#endif /* Old Style C */
+#endif /* Old Style C */
#define YPBINDPROG ((u_long)100007)
#define YPBINDVERS ((u_long)2)
@@ -596,7 +596,7 @@ extern ypbind_resp * ypbindproc_domain_2_svc(domainname *, struct svc_req *);
extern void * ypbindproc_setdom_2(ypbind_setdom *, CLIENT *);
extern void * ypbindproc_setdom_2_svc(ypbind_setdom *, struct svc_req *);
-#else /* Old Style C */
+#else /* Old Style C */
#define YPBINDPROC_NULL ((u_long)0)
extern void * ypbindproc_null_2();
extern void * ypbindproc_null_2_svc();
@@ -606,6 +606,6 @@ extern ypbind_resp * ypbindproc_domain_2_svc();
#define YPBINDPROC_SETDOM ((u_long)2)
extern void * ypbindproc_setdom_2();
extern void * ypbindproc_setdom_2_svc();
-#endif /* Old Style C */
+#endif /* Old Style C */
#endif /* !__RPCSVC_YP_H__ */
diff --git a/nis/rpcsvc/yp.x b/nis/rpcsvc/yp.x
index be855df749..6be27820b3 100644
--- a/nis/rpcsvc/yp.x
+++ b/nis/rpcsvc/yp.x
@@ -7,23 +7,23 @@
* may copy or modify Sun RPC without charge, but are not authorized
* to license or distribute it to anyone else except as part of a product or
* program developed by the user.
- *
+ *
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
+ *
* Sun RPC is provided with no support and without any obligation on the
* part of Sun Microsystems, Inc. to assist in its use, correction,
* modification or enhancement.
- *
+ *
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
* OR ANY PART THEREOF.
- *
+ *
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
* or profits or other special, indirect and consequential damages, even if
* Sun has been advised of the possibility of such damages.
- *
+ *
* Sun Microsystems, Inc.
* 2550 Garcia Avenue
* Mountain View, California 94043
@@ -82,7 +82,7 @@ typedef opaque valdat<YPMAXRECORD>;
struct ypmap_parms {
- domainname domain;
+ domainname domain;
mapname map;
unsigned int ordernum;
peername peer;
@@ -95,10 +95,10 @@ struct ypreq_key {
};
struct ypreq_nokey {
- domainname domain;
+ domainname domain;
mapname map;
};
-
+
struct ypreq_xfr {
ypmap_parms map_parms;
unsigned int transid;
@@ -114,18 +114,13 @@ struct ypresp_val {
struct ypresp_key_val {
ypstat stat;
-#ifdef STUPID_SUN_BUG
keydat key;
valdat val;
-#else
- valdat val;
- keydat key;
-#endif
};
struct ypresp_master {
- ypstat stat;
+ ypstat stat;
peername peer;
};
@@ -184,31 +179,31 @@ struct yppushresp_xfr {
* Response structure and overall result status codes. Success and failure
* represent two separate response message types.
*/
-
+
enum ypbind_resptype {
- YPBIND_SUCC_VAL = 1,
+ YPBIND_SUCC_VAL = 1,
YPBIND_FAIL_VAL = 2
};
-
+
struct ypbind_binding {
opaque ypbind_binding_addr[4]; /* In network order */
opaque ypbind_binding_port[2]; /* In network order */
-};
+};
union ypbind_resp switch (ypbind_resptype ypbind_status) {
case YPBIND_FAIL_VAL:
unsigned ypbind_error;
case YPBIND_SUCC_VAL:
ypbind_binding ypbind_bindinfo;
-};
+};
/* Detailed failure reason codes for response field ypbind_error*/
-
+
const YPBIND_ERR_ERR = 1; /* Internal error */
const YPBIND_ERR_NOSERV = 2; /* No bound server for passed domain */
const YPBIND_ERR_RESC = 3; /* System resource allocation failure */
-
-
+
+
/*
* Request data structure for ypbind "Set domain" procedure.
*/
@@ -224,11 +219,11 @@ struct ypbind_setdom {
*/
program YPPROG {
version YPVERS {
- void
+ void
YPPROC_NULL(void) = 0;
- bool
- YPPROC_DOMAIN(domainname) = 1;
+ bool
+ YPPROC_DOMAIN(domainname) = 1;
bool
YPPROC_DOMAIN_NONACK(domainname) = 2;
@@ -236,10 +231,10 @@ program YPPROG {
ypresp_val
YPPROC_MATCH(ypreq_key) = 3;
- ypresp_key_val
+ ypresp_key_val
YPPROC_FIRST(ypreq_key) = 4;
- ypresp_key_val
+ ypresp_key_val
YPPROC_NEXT(ypreq_key) = 5;
ypresp_xfr
@@ -257,7 +252,7 @@ program YPPROG {
ypresp_order
YPPROC_ORDER(ypreq_nokey) = 10;
- ypresp_maplist
+ ypresp_maplist
YPPROC_MAPLIST(domainname) = 11;
} = 2;
} = 100004;
@@ -272,7 +267,7 @@ program YPPUSH_XFRRESPPROG {
YPPUSHPROC_NULL(void) = 0;
#ifdef STUPID_SUN_BUG
- yppushresp_xfr
+ yppushresp_xfr
YPPUSHPROC_XFRRESP(void) = 1;
#else
void
@@ -288,7 +283,7 @@ program YPBINDPROG {
version YPBINDVERS {
void
YPBINDPROC_NULL(void) = 0;
-
+
ypbind_resp
YPBINDPROC_DOMAIN(domainname) = 1;
@@ -296,5 +291,3 @@ program YPBINDPROG {
YPBINDPROC_SETDOM(ypbind_setdom) = 2;
} = 2;
} = 100007;
-
-
diff --git a/po/es.po b/po/es.po
index 78f4f4d8b5..7632f72e3b 100644
--- a/po/es.po
+++ b/po/es.po
@@ -4,9 +4,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU libc 1.98\n"
-"POT-Creation-Date: 1996-12-03 13:50+0100\n"
-"PO-Revision-Date: 1996-12-14 17:30+0100\n"
+"Project-Id-Version: GNU libc 1.100\n"
+"POT-Creation-Date: 1997-01-06 15:00+0100\n"
+"PO-Revision-Date: 1997-01-25 21:52+0100\n"
"Last-Translator: Enrique Melero Gómez <justine@iprolink.ch>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
@@ -33,31 +33,31 @@ msgstr " rpcinfo [ -n númpuerto ] -t host númprog [ númvers ]\n"
msgid " program vers proto port\n"
msgstr " programa vers proto puerto\n"
-#: time/zic.c:424
+#: time/zic.c:425
#, c-format
msgid " (rule from \"%s\", line %d)"
msgstr " (regla desde \"%s\", línea %d)"
-#: locale/programs/ld-collate.c:360 locale/programs/ld-ctype.c:1234
+#: locale/programs/ld-collate.c:360 locale/programs/ld-ctype.c:1235
msgid " done\n"
msgstr " hecho\n"
-#: time/zic.c:421
+#: time/zic.c:422
#, c-format
msgid "\"%s\", line %d: %s"
msgstr "\"%s\", línea %d: %s"
-#: time/zic.c:945
+#: time/zic.c:949
#, c-format
msgid "\"Zone %s\" line and -l option are mutually exclusive"
msgstr "la línea \"Zone %s\" y la opción -l son mutuamente excluyentes"
-#: time/zic.c:953
+#: time/zic.c:957
#, c-format
msgid "\"Zone %s\" line and -p option are mutually exclusive"
msgstr "la línea \"Zone %s\" y la opción -p son mutuamente excluyentes"
-#: time/zic.c:758
+#: time/zic.c:760
#, c-format
msgid "%s in ruleless zone"
msgstr "%s en una zona sin reglas"
@@ -92,7 +92,7 @@ msgstr "%s%s%s:%u: %s%sError no esperado: %s.\n"
msgid "%s%sUnknown signal %d\n"
msgstr "%s%sSeñal desconocida %d\n"
-#: time/zic.c:2139
+#: time/zic.c:2155
#, c-format
msgid "%s: %d did not sign extend correctly\n"
msgstr "%s: %d no extendió el signo correctamente\n"
@@ -102,38 +102,43 @@ msgstr "%s: %d no extendió el signo correctamente\n"
msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
msgstr "%s: <mb_cur_max> debe ser más grande que <mb_cur_min>\n"
-#: time/zic.c:1430
+#: time/zic.c:1445
#, c-format
msgid "%s: Can't create %s: %s\n"
msgstr "%s: No se puede crear %s: %s\n"
-#: time/zic.c:2118
+#: time/zic.c:2134
#, c-format
msgid "%s: Can't create directory %s: %s\n"
msgstr "%s; No se puede crear el directorio %s: %s\n"
# Sugerencia: "desde %s hasta %s" o bien "de %s a %s" pero no mezclar. sv+
-#: time/zic.c:612
+#: time/zic.c:614
#, c-format
msgid "%s: Can't link from %s to %s: %s\n"
msgstr "%s: No se pudo crear un enlace desde %s a %s: %s\n"
-#: time/zic.c:783
+#: time/zic.c:786
#, c-format
msgid "%s: Can't open %s: %s\n"
msgstr "%s: No se puede abrir %s: %s\n"
-#: time/zic.c:851
+#: time/zic.c:1435
+#, c-format
+msgid "%s: Can't remove %s: %s\n"
+msgstr "%s: No se puede eliminar %s: %s\n"
+
+#: time/zic.c:855
#, c-format
msgid "%s: Error closing %s: %s\n"
msgstr "%s: Error al cerrar %s: %s\n"
-#: time/zic.c:845
+#: time/zic.c:848
#, c-format
msgid "%s: Error reading %s\n"
msgstr "%s: Error al leer %s\n"
-#: time/zic.c:1494
+#: time/zic.c:1509
#, c-format
msgid "%s: Error writing %s\n"
msgstr "%s: Error al escribir %s\n"
@@ -174,44 +179,44 @@ msgstr "%s: Error al escribir en la salida estándar "
# Segundo, según he visto en la documentación, sólo existe un archivo
# de leap lines, por eso pongo 'el'... em+
#
-#: time/zic.c:830
+#: time/zic.c:833
#, c-format
msgid "%s: Leap line in non leap seconds file %s\n"
msgstr ""
"%s: Línea de segundos intercalares en un archivo que no es el de\n"
"ajuste de años bisiestos %s\n"
-#: time/zic.c:362
+#: time/zic.c:363
#, c-format
msgid "%s: Memory exhausted: %s\n"
msgstr "%s: Memoria agotada: %s\n"
-#: time/zic.c:527
+#: time/zic.c:528
#, c-format
msgid "%s: More than one -L option specified\n"
msgstr "%s: La opción -L se ha especificado más de una vez\n"
-#: time/zic.c:487
+#: time/zic.c:488
#, c-format
msgid "%s: More than one -d option specified\n"
msgstr "%s: La opción -d se ha especificado más de una vez\n"
-#: time/zic.c:497
+#: time/zic.c:498
#, c-format
msgid "%s: More than one -l option specified\n"
msgstr "%s: La opción -l se ha especificado más de una vez\n"
-#: time/zic.c:507
+#: time/zic.c:508
#, c-format
msgid "%s: More than one -p option specified\n"
msgstr "%s: La opción -p se ha especificado más de una vez\n"
-#: time/zic.c:517
+#: time/zic.c:518
#, c-format
msgid "%s: More than one -y option specified\n"
msgstr "%s: La opción -y se ha especificado más de una vez\n"
-#: time/zic.c:1845
+#: time/zic.c:1860
#, c-format
msgid "%s: command was '%s', result was %d\n"
msgstr "%s: la orden fue '%s', el resultado fue %d\n"
@@ -224,7 +229,7 @@ msgstr "%s: la orden fue '%s', el resultado fue %d\n"
msgid "%s: error in state machine"
msgstr "%s: error en la máquina de estado"
-#: posix/getopt.c:687
+#: posix/getopt.c:743
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: opción no permitida -- %c\n"
@@ -240,47 +245,47 @@ msgstr "%s: opción no permitida -- %c\n"
# Se puede poner retroreferencia porque significa referencia hacia atrás.
# (Bueno, en este caso esa palabra se usa poco, pero inválida no). sv+
#
-#: posix/getopt.c:690
+#: posix/getopt.c:746
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: opción no válida -- %c\n"
-#: posix/getopt.c:611
+#: posix/getopt.c:667
#, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: la opción `%c%s' no admite ningún argumento\n"
-#: posix/getopt.c:582
+#: posix/getopt.c:638
#, c-format
msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: la opción `%s' es ambigua\n"
-#: posix/getopt.c:628 posix/getopt.c:801
+#: posix/getopt.c:684 posix/getopt.c:858
#, c-format
msgid "%s: option `%s' requires an argument\n"
msgstr "%s: la opción `%s' requiere un argumento\n"
-#: posix/getopt.c:606
+#: posix/getopt.c:662
#, c-format
msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: la opción `--%s' no admite ningún argumento\n"
-#: posix/getopt.c:786
+#: posix/getopt.c:843
#, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: la opción `-W %s' no admite ningún argumento\n"
-#: posix/getopt.c:767
+#: posix/getopt.c:824
#, c-format
msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: la opción `-W %s' es ambigua\n"
-#: posix/getopt.c:721 posix/getopt.c:850
+#: posix/getopt.c:777 posix/getopt.c:907
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: la opción requiere un argumento --%c\n"
-#: time/zic.c:837 time/zic.c:1248 time/zic.c:1268
+#: time/zic.c:840 time/zic.c:1252 time/zic.c:1272
#, c-format
msgid "%s: panic: Invalid l_value %d\n"
msgstr "%s: grave: valor_l no válido %d\n"
@@ -290,17 +295,17 @@ msgstr "%s: grave: valor_l no válido %d\n"
msgid "%s: premature end of file"
msgstr "%s: fin de archivo no esperado"
-#: posix/getopt.c:661
+#: posix/getopt.c:717
#, c-format
msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: opción desconocida `%c%s'\n"
-#: posix/getopt.c:657
+#: posix/getopt.c:713
#, c-format
msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: opción desconocida `--%s'\n"
-#: time/zic.c:446
+#: time/zic.c:447
#, c-format
msgid ""
"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d "
@@ -332,7 +337,7 @@ msgstr "(error de autentificación desconocido - %d)"
msgid "(unknown)"
msgstr "(señal desconocida)"
-#: catgets/gencat.c:253
+#: catgets/gencat.c:254
msgid "*standard input*"
msgstr "*entrada estándar*"
@@ -341,21 +346,21 @@ msgid ".lib section in a.out corrupted"
msgstr "la sección .lib en el a.out está corrompida"
# ## Sugerencia: Añadir (fstat) después de información. sv
-#: inet/rcmd.c:358
+#: inet/rcmd.c:359
msgid ".rhosts fstat failed"
msgstr "No se pudo obtener información (fstat) del archivo .rhosts"
# ## Lo mismo con lstat. sv
-#: inet/rcmd.c:354
+#: inet/rcmd.c:355
msgid ".rhosts lstat failed"
msgstr "No se pudo obtener información (lstat) del archivo .rhosts"
# lo de regular no me gusta, pero ?
-#: inet/rcmd.c:356
+#: inet/rcmd.c:357
msgid ".rhosts not regular file"
msgstr ".rhosts no es un archivo regular"
-#: inet/rcmd.c:362
+#: inet/rcmd.c:363
msgid ".rhosts writeable by other than owner"
msgstr ".rhosts puede ser modificado por otros además del propietario"
@@ -389,6 +394,10 @@ msgstr "El carácter <SP> no está en la clase `%s'"
msgid "?"
msgstr "?"
+#: sysdeps/unix/sysv/linux/siglist.h:27
+msgid "Aborted"
+msgstr "Abortado"
+
#: stdio-common/../sysdeps/gnu/errlist.c:762
msgid "Accessing a corrupted shared library"
msgstr "Accediendo a una biblioteca compartida que está corrompida"
@@ -410,6 +419,8 @@ msgstr "Esta familia de direcciones no está soportada por el protocolo"
msgid "Advertise error"
msgstr "Error de advertencia"
+#: stdio-common/../sysdeps/unix/siglist.c:43
+#: sysdeps/unix/sysv/linux/siglist.h:33
msgid "Alarm clock"
msgstr "Temporizador"
@@ -455,6 +466,11 @@ msgstr "Formato de archivo fuente incorrecto"
msgid "Bad message"
msgstr "Mensaje erróneo"
+#: stdio-common/../sysdeps/unix/siglist.c:41
+#: sysdeps/unix/sysv/linux/siglist.h:56
+msgid "Bad system call"
+msgstr "Llamada al sistema erronea"
+
# ## Ya estamos ...
# ¿ Dispositivo de bloques ?, ¿ cómo se le puede llamar a esto ?
# ## al principio puse, 'se precisa de' pero me sonó mal
@@ -493,12 +509,17 @@ msgstr "Problema en la selección del `broadcast'"
#. TRANS or blocked. Thus, your program will never actually see @code{EPIPE}
#. TRANS unless it has handled or blocked @code{SIGPIPE}.
#: stdio-common/../sysdeps/gnu/errlist.c:222
+#: stdio-common/../sysdeps/unix/siglist.c:42
+#: sysdeps/unix/sysv/linux/siglist.h:32
msgid "Broken pipe"
msgstr "Tubería (pipe) rota"
+#: stdio-common/../sysdeps/unix/siglist.c:39
+#: sysdeps/unix/sysv/linux/siglist.h:30
msgid "Bus error"
msgstr "Error del bus"
+#: sysdeps/unix/sysv/linux/siglist.h:43
msgid "CPU time limit exceeded"
msgstr "Rebasado el límite de tiempo de CPU"
@@ -506,7 +527,7 @@ msgstr "Rebasado el límite de tiempo de CPU"
msgid "Can not access a needed shared library"
msgstr "No se puede acceder a una biblioteca compartida que se necesita"
-#: nis/ypclnt.c:637
+#: nis/ypclnt.c:694
msgid "Can't bind to server which serves this domain"
msgstr ""
"Ha fallado la llamada a bind() con el servidor que sirve a este dominio"
@@ -515,15 +536,15 @@ msgstr ""
#
# Sugerencia: to map -> asignar, map -> correspondencia. sv+
#
-#: nis/ypclnt.c:649
+#: nis/ypclnt.c:706
msgid "Can't communicate with portmapper"
msgstr "no se puede comunicar con el mapeador de puertos (`portmapper')"
-#: nis/ypclnt.c:651
+#: nis/ypclnt.c:708
msgid "Can't communicate with ypbind"
msgstr "No se puede establecer comunicación con 'ypbind'"
-#: nis/ypclnt.c:653
+#: nis/ypclnt.c:710
msgid "Can't communicate with ypserv"
msgstr "No se puede establecer comunicación con 'ypserv'"
@@ -583,6 +604,8 @@ msgstr "No se pudo especificar la opción SO_BROADCAST para el `socket'"
msgid "Channel number out of range"
msgstr "Número de canal fuera de rango"
+#: stdio-common/../sysdeps/unix/siglist.c:49
+#: sysdeps/unix/sysv/linux/siglist.h:39
msgid "Child exited"
msgstr "El proceso hijo terminó"
@@ -604,7 +627,7 @@ msgstr "Error de comunicación al enviar"
msgid "Computer bought the farm"
msgstr "El ordenador ha comprado una granja"
-#: locale/programs/ld-ctype.c:1197
+#: locale/programs/ld-ctype.c:1198
msgid "Computing table size for character classes might take a while..."
msgstr ""
"El cálculo del tamaño de la tabla de clases de caracteres podría tardar un\n"
@@ -641,6 +664,8 @@ msgstr "Conexión reinicializada por la máquina remota"
msgid "Connection timed out"
msgstr "Expiró el tiempo de conexión"
+#: stdio-common/../sysdeps/unix/siglist.c:48
+#: sysdeps/unix/sysv/linux/siglist.h:38
msgid "Continued"
msgstr "Continúa"
@@ -659,7 +684,11 @@ msgstr ""
"No hay NINGUNA garantía; ni siquiera de COMERCIABILIDAD o IDONEIDAD PARA UN\n"
"FIN DETERMINADO.\n"
-#: nis/ypclnt.c:663
+#: stdio-common/../sysdeps/unix/siglist.c:53
+msgid "Cputime limit exceeded"
+msgstr "Rebasado el límite de tiempo de CPU"
+
+#: nis/ypclnt.c:720
msgid "Database is busy"
msgstr "La base de datos está ocupada"
@@ -703,10 +732,17 @@ msgid "Disc quota exceeded"
msgstr "Se ha excedido la cuota de disco"
# FUZZY
-#: nis/ypclnt.c:709
+#: nis/ypclnt.c:766
msgid "Domain not bound"
msgstr "No se pudo conectar con el dominio"
+# ???, siempre lo he usado como trap, nunca encontramos la palabra
+# y es una señal estándar Unix, así que no creo conveniente traducirla
+#: stdio-common/../sysdeps/unix/siglist.c:36
+#: sysdeps/unix/sysv/linux/siglist.h:53
+msgid "EMT trap"
+msgstr "`trap' de EMT"
+
#: sunrpc/clnt_perr.c:254
#, c-format
msgid "Error %d"
@@ -761,6 +797,7 @@ msgstr "error `deadlock' al bloquear el archivo"
msgid "File name too long"
msgstr "Nombre de archivo demasiado largo"
+#: sysdeps/unix/sysv/linux/siglist.h:44
msgid "File size limit exceeded"
msgstr "Superado el límite de tamaño de archivo"
@@ -769,6 +806,12 @@ msgstr "Superado el límite de tamaño de archivo"
msgid "File too large"
msgstr "Archivo demasiado grande"
+#: stdio-common/../sysdeps/unix/siglist.c:54
+msgid "Filesize limit exceeded"
+msgstr "Superado el límite de tamaño de archivo"
+
+#: stdio-common/../sysdeps/unix/siglist.c:37
+#: sysdeps/unix/sysv/linux/siglist.h:28
msgid "Floating point exception"
msgstr "Excepción de coma flotante"
@@ -796,6 +839,8 @@ msgstr "Error injustificado"
# Habrá que mirar esto
# Mirado, efectivamente esto es una señal que habrá
# que dejarla con su nombre original ( entre paréntesis )
+#: stdio-common/../sysdeps/unix/siglist.c:30
+#: sysdeps/unix/sysv/linux/siglist.h:22
msgid "Hangup"
msgstr "Colgar (hangup)"
@@ -835,11 +880,14 @@ msgstr "El host no está operativo"
msgid "Host name lookup failure"
msgstr "Nombre de host no encontrado"
+#: stdio-common/../sysdeps/unix/siglist.c:52
+#: sysdeps/unix/sysv/linux/siglist.h:42
msgid "I/O possible"
msgstr "Operación de entrada/salida permitida"
# ???, siempre lo he usado como trap, nunca encontramos la palabra
# y es una señal estándar Unix, así que no creo conveniente traducirla
+#: stdio-common/../sysdeps/unix/siglist.c:35
msgid "IOT trap"
msgstr "`trap' de IOT"
@@ -849,9 +897,16 @@ msgstr "El identificador se ha eliminado"
# Se trata de una instrucción ilegal en el juego de instrucciones del 486
# que provoca una "excepción".
+#: sysdeps/unix/sysv/linux/siglist.h:25
msgid "Illegal Instruction"
msgstr "Instrucción ilegal"
+# Se trata de una instrucción ilegal en el juego de instrucciones del 486
+# que provoca una "excepción".
+#: stdio-common/../sysdeps/unix/siglist.c:33
+msgid "Illegal instruction"
+msgstr "Instrucción ilegal"
+
# ¿"seek" no era "desplazamiento"? sv
# Según el contexto no se puede saber a qué se refiere
# cambio ... por no permitida em+
@@ -898,27 +953,33 @@ msgstr "Función ioctl no apropiada para el dispositivo"
msgid "Inappropriate operation for background process"
msgstr "Operación no válida para un proceso en segundo plano"
+#: sysdeps/unix/sysv/linux/siglist.h:62
+msgid "Information request"
+msgstr "Petición de información"
+
#. TRANS Input/output error; usually used for physical read or write errors.
#: stdio-common/../sysdeps/gnu/errlist.c:40
msgid "Input/output error"
msgstr "Error de entrada/salida"
# ??? lo mismo que arriba
-#: nis/ypclnt.c:643
+#: nis/ypclnt.c:700
msgid "Internal NIS error"
msgstr "Error interno del determinador de nombres"
# FUZZY FUZZY
# Esto se está poniendo imposible, estas funciones
# nuevas ...
-#: nis/ypclnt.c:707
+#: nis/ypclnt.c:764
msgid "Internal ypbind error"
msgstr "Error en la llamada a bind para el servicio de páginas amarillas"
+#: stdio-common/../sysdeps/unix/siglist.c:31
+#: sysdeps/unix/sysv/linux/siglist.h:23
msgid "Interrupt"
msgstr "Interrupción"
-#. TRANS Interrupted function call; an asynchronous signal occured and prevented
+#. TRANS Interrupted function call; an asynchronous signal occurred and prevented
#. TRANS completion of the call. When this happens, you should try the call
#. TRANS again.
#. TRANS
@@ -1026,6 +1087,8 @@ msgstr "Es un archivo de tipo `named'"
# A quien se le ocurra `matar' un proceso, que especifique con qué señal.
# En todo caso ` Terminado ( KILL ) ' sería apropiado. Ver fuentes
+#: stdio-common/../sysdeps/unix/siglist.c:38
+#: sysdeps/unix/sysv/linux/siglist.h:29
msgid "Killed"
msgstr "Terminado (killed)"
@@ -1055,11 +1118,11 @@ msgstr "En enlace se ha cortado"
msgid "Link number out of range"
msgstr "Número de enlace fuera de rango"
-#: nis/ypclnt.c:655
+#: nis/ypclnt.c:712
msgid "Local domain name not set"
msgstr "No se ha establecido el nombre del dominio local"
-#: nis/ypclnt.c:645
+#: nis/ypclnt.c:702
msgid "Local resource allocation failure"
msgstr "La asignación de recursos locales ha fallado"
@@ -1088,7 +1151,7 @@ msgstr "Se ha intentado un multihop"
# No debe explicarse la terminología dentro de su propio contexto.
# Creo que deberías borrar lo que hay entre paréntesis.
# De verdad. sv+
-#: nis/ypclnt.c:659
+#: nis/ypclnt.c:716
msgid "NIS client/server version mismatch - can't supply service"
msgstr ""
"La versión de NIS (sistema de información de la red) del servidor y del "
@@ -1097,7 +1160,7 @@ msgstr ""
# Aquí se podría poner "la tabla NIS". sv+
# mapa es un palabro.
-#: nis/ypclnt.c:657
+#: nis/ypclnt.c:714
msgid "NIS map data base is bad"
msgstr "La base de datos del mapa NIS no es correcta"
@@ -1218,7 +1281,7 @@ msgstr "Ningún mensaje del tipo deseado"
# FUZZY
# Bueno, bueno
-#: nis/ypclnt.c:647
+#: nis/ypclnt.c:704
msgid "No more records in map database"
msgstr "No hay más registros en la base de datos del mapa"
@@ -1264,11 +1327,11 @@ msgstr "No queda espacio en el dispositivo"
msgid "No such file or directory"
msgstr "No existe el archivo o el directorio"
-#: nis/ypclnt.c:641
+#: nis/ypclnt.c:698
msgid "No such key in map"
msgstr "No exite esta clave en el mapa"
-#: nis/ypclnt.c:639
+#: nis/ypclnt.c:696
msgid "No such map in server's domain"
msgstr "No existe este mapa en el dominio del servidor"
@@ -1316,7 +1379,7 @@ msgstr "Resultado numérico fuera de rango"
msgid "Object is remote"
msgstr "El objeto es remoto"
-#: time/zic.c:1939
+#: time/zic.c:1954
msgid "Odd number of quotation marks"
msgstr "Número impar de comillas"
@@ -1383,10 +1446,11 @@ msgid "Package not installed"
msgstr "El paquete no está instalado"
#. TRANS Permission denied; the file permissions do not allow the attempted operation.
-#: nis/ypclnt.c:661 stdio-common/../sysdeps/gnu/errlist.c:96
+#: nis/ypclnt.c:718 stdio-common/../sysdeps/gnu/errlist.c:96
msgid "Permission denied"
msgstr "Permiso denegado"
+#: sysdeps/unix/sysv/linux/siglist.h:64
msgid "Power failure"
msgstr "Fallo de alimentación"
@@ -1404,6 +1468,8 @@ msgstr "Fin no esperado de la expresión regular"
# me acuerdo de cuál. sv
# Gracias por la explicación, sé que era algo referente
# al trace o debug de un programa. Miro a la alemana.
+#: stdio-common/../sysdeps/unix/siglist.c:56
+#: sysdeps/unix/sysv/linux/siglist.h:46
msgid "Profiling timer expired"
msgstr "El tiempo de CPU expiró"
@@ -1439,6 +1505,8 @@ msgid "Protocol wrong type for socket"
msgstr "Tipo de protocolo incorrecto para el `socket'"
# ## Podría ser también "Abandonar" sv+
+#: stdio-common/../sysdeps/unix/siglist.c:32
+#: sysdeps/unix/sysv/linux/siglist.h:24
msgid "Quit"
msgstr "Abandona"
@@ -1457,7 +1525,7 @@ msgstr "error específico de RFS"
msgid "RPC bad procedure for program"
msgstr "RPC: procedimiento erróneo para el programa"
-#: nis/ypclnt.c:635
+#: nis/ypclnt.c:692
msgid "RPC failure on NIS operation"
msgstr "Fallo RPC en una operación NIS"
@@ -1623,10 +1691,10 @@ msgstr "Elimine la contraseña o haga el archivo no legible por otros."
# ## Lo cambio. Ver fileutils. sv+
#: catgets/gencat.c:224 db/makedb.c:227 locale/programs/locale.c:257
#: locale/programs/localedef.c:408
-msgid "Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"
-msgstr "Comunicar `bugs' a <bug-glibc@prep.ai.mit.edu>.\n"
+msgid "Report bugs using the `glibcbug' script to <bugs@gnu.ai.mit.edu>.\n"
+msgstr "Comunicar `bugs' usando el programa `glibcbug' a <bugs@gnu.ai.mit.edu>.\n"
-#: nis/ypclnt.c:633
+#: nis/ypclnt.c:690
msgid "Request arguments bad"
msgstr "Los argumentos de la petición son incorrectos"
@@ -1652,6 +1720,10 @@ msgstr "Error interno del determinador de nombres"
msgid "Resource deadlock avoided"
msgstr "Esquivado el bloqueo para el recurso"
+#: stdio-common/../sysdeps/unix/siglist.c:58
+msgid "Resource lost"
+msgstr "Recurso perdido"
+
#. TRANS Resource temporarily unavailable; the call might work if you try again
#. TRANS later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
#. TRANS they are always the same in the GNU C library.
@@ -1693,6 +1765,8 @@ msgstr "Recurso no disponible temporalmente"
# No, en inglés siempre se ha dicho así. Siempre he traducido
# Segmentation fault como violación de segmento. Consultémoslo,
# es un mensaje que se ve demasiado a menudo em
+#: stdio-common/../sysdeps/unix/siglist.c:40
+#: sysdeps/unix/sysv/linux/siglist.h:31
msgid "Segmentation fault"
msgstr "Violación de segmento"
@@ -1704,6 +1778,10 @@ msgstr "El servidor rechazó la credencial"
msgid "Server rejected verifier"
msgstr "El servidor rechazó el verificador"
+#: stdio-common/../sysdeps/unix/siglist.c:29
+msgid "Signal 0"
+msgstr "Señal 0"
+
#. TRANS A file that isn't a socket was specified when a socket is required.
#: stdio-common/../sysdeps/gnu/errlist.c:299
msgid "Socket operation on non-socket"
@@ -1723,6 +1801,10 @@ msgstr "El programa provocó el fin de la conexión"
msgid "Srmount error"
msgstr "Error de `srmount'"
+#: sysdeps/unix/sysv/linux/siglist.h:59
+msgid "Stack fault"
+msgstr "Fallo en la pila"
+
# ?? sugerencias ?
# Habrá que traducir el "handle" de alguna forma... sv
# No veo porqué. em
@@ -1740,20 +1822,28 @@ msgstr "Error de `srmount'"
msgid "Stale NFS file handle"
msgstr "Archivo NFS bloqueado"
+#: stdio-common/../sysdeps/unix/siglist.c:47
+#: sysdeps/unix/sysv/linux/siglist.h:37
msgid "Stopped"
msgstr "Parado"
+#: stdio-common/../sysdeps/unix/siglist.c:46
+#: sysdeps/unix/sysv/linux/siglist.h:36
msgid "Stopped (signal)"
msgstr "Parado (por una señal)"
# Perdonad que sea tan largo, pero es algo que nunca esta de más
# Creo que mejora al original ;)
+#: stdio-common/../sysdeps/unix/siglist.c:50
+#: sysdeps/unix/sysv/linux/siglist.h:40
msgid "Stopped (tty input)"
msgstr "Parado (requiere entrada de terminal)"
# Perdonad que sea tan largo, pero es algo que nunca esta de más
# Creo que mejora al original ;)
#
+#: stdio-common/../sysdeps/unix/siglist.c:51
+#: sysdeps/unix/sysv/linux/siglist.h:41
msgid "Stopped (tty output)"
msgstr "Parado (requiere salida por terminal)"
@@ -1773,15 +1863,17 @@ msgstr "La estructura necesita una limpieza"
# me gustaría que hubiera otra palabra mejor. SV
# Siempre me han gustado F&C ;-)
# A mí también :-) sv
-#: nis/ypclnt.c:631 nis/ypclnt.c:705 posix/regex.c:940
+#: nis/ypclnt.c:688 nis/ypclnt.c:762 posix/regex.c:940
#: stdio-common/../sysdeps/gnu/errlist.c:7
msgid "Success"
msgstr "Conseguido"
-#: nis/ypclnt.c:711
+#: nis/ypclnt.c:768
msgid "System resource allocation failure"
msgstr "Fallo en la asignación de recursos del sistema"
+#: stdio-common/../sysdeps/unix/siglist.c:44
+#: sysdeps/unix/sysv/linux/siglist.h:34
msgid "Terminated"
msgstr "Terminado"
@@ -1848,6 +1940,11 @@ msgstr "Demasiadas referencias: no se pueden solapar"
msgid "Too many users"
msgstr "Demasiados usuarios"
+#: stdio-common/../sysdeps/unix/siglist.c:34
+msgid "Trace/BPT trap"
+msgstr "`trap' para seguimiento/BPT"
+
+#: sysdeps/unix/sysv/linux/siglist.h:26
msgid "Trace/breakpoint trap"
msgstr "`trap' para punto de parada/seguimiento"
@@ -1890,7 +1987,7 @@ msgid "Try `%s --help' for more information.\n"
msgstr "Pruebe `%s --help' para más información.\n"
# ## Nota: este no tiene nada que ver con el anterior. sv
-#: inet/rcmd.c:136
+#: inet/rcmd.c:137
#, c-format
msgid "Trying %s...\n"
msgstr "Intentando %s...\n"
@@ -1900,7 +1997,7 @@ msgstr "Intentando %s...\n"
msgid "Unknown .netrc keyword %s"
msgstr "palabra clave desconocida en .netrc %s"
-#: nis/ypclnt.c:665
+#: nis/ypclnt.c:722
msgid "Unknown NIS error code"
msgstr "Error del NIS desconocido"
@@ -1931,7 +2028,7 @@ msgstr "Señal desconocida %d"
msgid "Unknown system error"
msgstr "Error del sistema desconocido"
-#: nis/ypclnt.c:713
+#: nis/ypclnt.c:770
msgid "Unknown ypbind error"
msgstr "Error desconocido en la llamada a 'ypbind()'"
@@ -1960,6 +2057,8 @@ msgstr "Variable desconocida `%s'"
# Sugerencia: de E/S sv+
# ?? sigo pensando en una traducción para condición
+#: stdio-common/../sysdeps/unix/siglist.c:45
+#: sysdeps/unix/sysv/linux/siglist.h:35
msgid "Urgent I/O condition"
msgstr "Condición urgente de entrada/saluda"
@@ -2109,9 +2208,13 @@ msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
msgstr ""
"Modo de empleo: rpcinfo [ -n númpuerto ] -u host progrnúm [ numversión ]\n"
+#: stdio-common/../sysdeps/unix/siglist.c:59
+#: sysdeps/unix/sysv/linux/siglist.h:48
msgid "User defined signal 1"
msgstr "Señal definida por el usuario 1"
+#: stdio-common/../sysdeps/unix/siglist.c:60
+#: sysdeps/unix/sysv/linux/siglist.h:49
msgid "User defined signal 2"
msgstr "Señal definida por el usuario 2"
@@ -2119,14 +2222,18 @@ msgstr "Señal definida por el usuario 2"
msgid "Value too large for defined data type"
msgstr "Valor demasiado grande para el tipo de datos definido"
+#: stdio-common/../sysdeps/unix/siglist.c:55
+#: sysdeps/unix/sysv/linux/siglist.h:45
msgid "Virtual timer expired"
msgstr "El temporizador virtual llegó al final"
# # Otra opción, resultado incongruente al ejecutar la orden em
-#: time/zic.c:1844
+#: time/zic.c:1859
msgid "Wild result from command execution"
msgstr "Resultado salvaje en la ejecución de la orden"
+#: stdio-common/../sysdeps/unix/siglist.c:57
+#: sysdeps/unix/sysv/linux/siglist.h:47
msgid "Window changed"
msgstr "Ventana cambiada"
@@ -2136,20 +2243,20 @@ msgstr "Ventana cambiada"
msgid "Written by %s.\n"
msgstr "Escrito por %s.\n"
-#: nis/ypclnt.c:146
+#: nis/ypclnt.c:142
msgid "YPBINDPROC_DOMAIN: Internal error\n"
msgstr "YPBINDPROC_DOMAIN: Error interno\n"
-#: nis/ypclnt.c:150
+#: nis/ypclnt.c:146
#, c-format
msgid "YPBINDPROC_DOMAIN: No server for domain %s\n"
msgstr "YPBINDPROC_DOMAIN: No hay servidor para el dominio %s\n"
-#: nis/ypclnt.c:154
+#: nis/ypclnt.c:150
msgid "YPBINDPROC_DOMAIN: Resource allocation failure\n"
msgstr "YPBINDPROC_DOMAIN: Fallo en la asignación de recursos\n"
-#: nis/ypclnt.c:158
+#: nis/ypclnt.c:154
msgid "YPBINDPROC_DOMAIN: Unknown error\n"
msgstr "YPBINDPROC_DOMAIN: Error desconocido\n"
@@ -2176,7 +2283,7 @@ msgid "You really blew it this time"
msgstr "Esta vez si que lo has roto"
# VER
-#: time/zic.c:1050
+#: time/zic.c:1054
msgid "Zone continuation line end time is not after end time of previous line"
msgstr ""
"La línea de continuación de la zona no esta después del tiempo de final\n"
@@ -2230,7 +2337,7 @@ msgstr "el argumento para `%s' debe ser un único carácter"
msgid "auth_none.c - Fatal marshalling problem"
msgstr "auth_none.c - Problema muy grave con autorización marshall"
-#: inet/rcmd.c:360
+#: inet/rcmd.c:361
msgid "bad .rhosts owner"
msgstr "El propietario del archivo .rhosts no es válido"
@@ -2238,20 +2345,20 @@ msgstr "El propietario del archivo .rhosts no es válido"
msgid "bad argument"
msgstr "Argumento no válido"
-#: time/zic.c:1172
+#: time/zic.c:1176
msgid "blank FROM field on Link line"
msgstr "Campo FROM vacío en la línea `Link'"
-#: time/zic.c:1176
+#: time/zic.c:1180
msgid "blank TO field on Link line"
msgstr "Campo TO vacío en la línea `Link'"
-#: malloc/mcheck.c:189
+#: new-malloc/mcheck.c:191
msgid "block freed twice"
msgstr "bloque liberado dos veces"
# Revisar lo de bogus. creo que es eso.
-#: malloc/mcheck.c:192
+#: new-malloc/mcheck.c:194
msgid "bogus mcheck_status, library is buggy"
msgstr "Valor de mcheck_status incorrecto, la biblioteca tiene un bug"
@@ -2269,8 +2376,8 @@ msgid "cache_set: victim not found"
msgstr "cache_set: no se encontró el objetivo"
# FUZZY
-#: time/zic.c:1685
-msgid "can't determine time zone abbrevation to use just after until time"
+#: time/zic.c:1700
+msgid "can't determine time zone abbreviation to use just after until time"
msgstr ""
"No se puede determinar la abreviación de zona horaria que se usará justo\n"
"después"
@@ -2305,7 +2412,7 @@ msgstr "no se puede insertar la nueva definición para el símbolo de unión: %s"
msgid "cannot open database file `%s': %s"
msgstr "no se puede abrir el archivo de datos `%s': %s"
-#: catgets/gencat.c:259 db/makedb.c:180
+#: catgets/gencat.c:260 db/makedb.c:180
#, c-format
msgid "cannot open input file `%s'"
msgstr "no se puede abrir el archivo de entrada `%s'"
@@ -2315,7 +2422,7 @@ msgstr "no se puede abrir el archivo de entrada `%s'"
msgid "cannot open locale definition file `%s'"
msgstr "no se puede abrir el archivo de definición de locales `%s'"
-#: catgets/gencat.c:764 catgets/gencat.c:805 db/makedb.c:189
+#: catgets/gencat.c:765 catgets/gencat.c:806 db/makedb.c:189
#, c-format
msgid "cannot open output file `%s'"
msgstr "no se puede abrir el archivo de salida `%s'"
@@ -2330,12 +2437,12 @@ msgstr "no se puede abrir el archivo de salida `%s' para la categoría `%s'"
msgid "cannot process order specification"
msgstr "no se pueden procesar las especificaciones de orden"
-#: locale/programs/locale.c:303
+#: locale/programs/locale.c:304
#, c-format
msgid "cannot read character map directory `%s'"
msgstr "no se puede leer el directorio de mapas de caracters `%s'"
-#: locale/programs/locale.c:278
+#: locale/programs/locale.c:279
#, c-format
msgid "cannot read locale directory `%s'"
msgstr "No se puede leer directorio de locales %s"
@@ -2414,7 +2521,7 @@ msgstr "símbolo de unión `%.*s' aparece más de una vez: descartando la línea"
msgid "collation symbol expected after `%s'"
msgstr "símbolo de unión esperado después de `%s'"
-#: inet/rcmd.c:129
+#: inet/rcmd.c:130
#, c-format
msgid "connect to address %s: "
msgstr "conexión a la dirección %s: "
@@ -2465,24 +2572,24 @@ msgstr "definición duplicada del elemento de unión"
msgid "duplicate definition for character `%.*s'"
msgstr "definición duplicada del carácter `%.*s"
-#: db/makedb.c:310
+#: db/makedb.c:311
msgid "duplicate key"
msgstr "tecla duplicada"
-#: catgets/gencat.c:378
+#: catgets/gencat.c:379
msgid "duplicate set definition"
msgstr "definición de conjunto duplicada"
-#: time/zic.c:965
+#: time/zic.c:969
#, c-format
msgid "duplicate zone name %s (file \"%s\", line %d)"
msgstr "nombre de zona %s duplicado (archivo \"%s\", línea %d)"
-#: catgets/gencat.c:541
+#: catgets/gencat.c:542
msgid "duplicated message identifier"
msgstr "identificador de mensaje duplicado"
-#: catgets/gencat.c:514
+#: catgets/gencat.c:515
msgid "duplicated message number"
msgstr "número de mensaje duplicado"
@@ -2528,7 +2635,7 @@ msgstr "error al insertar en la tabla enlazada"
msgid "expect string argument for `copy'"
msgstr "se espera un argumento de cadena de caracteres para `copy'"
-#: time/zic.c:856
+#: time/zic.c:860
msgid "expected continuation line not found"
msgstr "la línea de continuación esperada no se encuentra"
@@ -2537,6 +2644,10 @@ msgstr "la línea de continuación esperada no se encuentra"
msgid "failure while writing data for category `%s'"
msgstr "error al escribir los datos para la categoría `%s'"
+#: nis/ypclnt.c:186
+msgid "fcntl: F_SETFD"
+msgstr "fcntl: F_SETFD"
+
#: locale/programs/ld-monetary.c:154 locale/programs/ld-numeric.c:95
#, c-format
msgid "field `%s' in category `%s' not defined"
@@ -2591,11 +2702,11 @@ msgstr ""
msgid "get_myaddress: ioctl (get interface configuration)"
msgstr "get_myaddress: ioctl (lee la configuración del interfaz)"
-#: time/zic.c:1149
+#: time/zic.c:1153
msgid "illegal CORRECTION field on Leap line"
msgstr "El campo CORRECTION en la línea de año bisiesto no es válido"
-#: time/zic.c:1153
+#: time/zic.c:1157
msgid "illegal Rolling/Stationary field on Leap line"
msgstr "Campo Rolling/Stationary no válido en la línea de año bisiesto"
@@ -2630,7 +2741,7 @@ msgstr ""
"número de desplazamiento no válido en la cadena %d en el campo `era' de la\n"
"categoría `%s'"
-#: catgets/gencat.c:351 catgets/gencat.c:428
+#: catgets/gencat.c:352 catgets/gencat.c:429
msgid "illegal set number"
msgstr "número de conjunto inválido"
@@ -2664,19 +2775,19 @@ msgstr ""
msgid "incorrectly formatted file"
msgstr "archivo formateado incorrectamente"
-#: time/zic.c:814
+#: time/zic.c:817
msgid "input line of unknown type"
msgstr "línea de entrada de tipo desconocido"
-#: time/zic.c:1733
+#: time/zic.c:1748
msgid "internal error - addtype called with bad isdst"
msgstr "error interno - se llamó a 'addtype' con 'isdst' erróneo"
-#: time/zic.c:1741
+#: time/zic.c:1756
msgid "internal error - addtype called with bad ttisgmt"
msgstr "error interno - se llamó a 'addtype' con 'ttisgmt' erróneo"
-#: time/zic.c:1737
+#: time/zic.c:1752
msgid "internal error - addtype called with bad ttisstd"
msgstr "error interno - se llamó a 'addtype' con 'ttisstd' erróneo"
@@ -2685,44 +2796,44 @@ msgstr "error interno - se llamó a 'addtype' con 'ttisstd' erróneo"
msgid "internal error in %s, line %u"
msgstr "error interno en %s, línea %u"
-#: time/zic.c:1021
+#: time/zic.c:1025
msgid "invalid GMT offset"
msgstr "desplazamiento GMT no válido"
# ¿No será "abreviatura"? sv+
-#: time/zic.c:1024
+#: time/zic.c:1028
msgid "invalid abbreviation format"
msgstr "formato de abreviación incorrecto"
-#: time/zic.c:1114 time/zic.c:1313 time/zic.c:1327
+#: time/zic.c:1118 time/zic.c:1317 time/zic.c:1331
msgid "invalid day of month"
msgstr "día del mes no válido"
-#: time/zic.c:1272
+#: time/zic.c:1276
msgid "invalid ending year"
msgstr "año de final no válido"
-#: time/zic.c:1086
+#: time/zic.c:1090
msgid "invalid leaping year"
msgstr "año bisiesto inválido"
-#: time/zic.c:1101 time/zic.c:1204
+#: time/zic.c:1105 time/zic.c:1208
msgid "invalid month name"
msgstr "nombre de mes incorrecto"
-#: time/zic.c:920
+#: time/zic.c:924
msgid "invalid saved time"
msgstr "la hora almacenada no es válida"
-#: time/zic.c:1252
+#: time/zic.c:1256
msgid "invalid starting year"
msgstr "año de comienzo no válido"
-#: time/zic.c:1130 time/zic.c:1232
+#: time/zic.c:1134 time/zic.c:1236
msgid "invalid time of day"
msgstr "hora del día no válida"
-#: time/zic.c:1318
+#: time/zic.c:1322
msgid "invalid weekday name"
msgstr "nombre del día de la semana incorrecto"
@@ -2738,7 +2849,7 @@ msgstr ""
"la línea posterior a la elipsis no contiene una definición para una "
"constante de carácter"
-#: time/zic.c:794
+#: time/zic.c:797
msgid "line too long"
msgstr "línea demasiado larga"
@@ -2748,7 +2859,7 @@ msgid "locale file `%s', used in `copy' statement, not found"
msgstr ""
"archivo de locales `%s', que se usa en una orden `copy', no se encuentra"
-#: catgets/gencat.c:609
+#: catgets/gencat.c:610
msgid "malformed line ignored"
msgstr "línea incorrecta se ignoró"
@@ -2757,14 +2868,14 @@ msgstr "línea incorrecta se ignoró"
# ¿estropeada? ¿alterada? <- votaría por ésta. sv
# Pues después de ver la traducción de Jochen estoy perdido
# le voy a consultar a él directamente. em
-#: malloc/mcheck.c:183
+#: new-malloc/mcheck.c:185
msgid "memory clobbered before allocated block"
msgstr "memoria alterada antes del comienzo del bloque de memoria asignado"
# ??? lo mismo digo
# aceptado hasta que consulte con Jochen
# lo mismo sugiero. sv
-#: malloc/mcheck.c:186
+#: new-malloc/mcheck.c:188
msgid "memory clobbered past end of allocated block"
msgstr "memoria alterada pasado el final del bloque de memoria asignado"
@@ -2775,12 +2886,12 @@ msgstr "memoria alterada pasado el final del bloque de memoria asignado"
msgid "memory exhausted"
msgstr "memoria agotada"
-#: malloc/obstack.c:425
+#: new-malloc/obstack.c:462
msgid "memory exhausted\n"
msgstr "Memoria agotada\n"
# biblioteca está recogida en la lista de pifias de Ángel Álvarez.
-#: malloc/mcheck.c:180
+#: new-malloc/mcheck.c:182
msgid "memory is consistent, library is buggy"
msgstr "no hay problemas con la memoria, la biblioteca tiene un bug"
@@ -2798,7 +2909,7 @@ msgstr ""
"nomnbre de era no encontrado en la cadena %d en el campo `era' de la\n"
"categoría `%s'"
-#: time/zic.c:915
+#: time/zic.c:919
msgid "nameless rule"
msgstr "regla sin nombre"
@@ -2819,7 +2930,7 @@ msgstr ""
# Esto debe tener algo que ver con la función menopausie() em
# No se me había ocurrido... ¿Se te ocurre algo mejor, ahora que ya
# sabemos lo que quiere decir? sv
-#: time/zic.c:2059
+#: time/zic.c:2074
msgid "no day in month matches rule"
msgstr "ningún día del mes coincide con la regla"
@@ -2855,7 +2966,7 @@ msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
msgstr ""
"solo están permitidas definiciones WIDTH después de la una definición CHARMAP"
-#: db/makedb.c:326
+#: db/makedb.c:327
#, c-format
msgid "problems while reading `%s'"
msgstr "problemas mientras se leía `%s'"
@@ -2878,16 +2989,16 @@ msgstr "el programa %lu versión %lu no está disponible\n"
msgid "program %lu version %lu ready and waiting\n"
msgstr "el programa %lu versión %lu está listo y esperando\n"
-#: inet/rcmd.c:171
+#: inet/rcmd.c:172
#, c-format
msgid "rcmd: select (setting up stderr): %m\n"
msgstr "rcmd: select (activando la salida de error estándar): %m\n"
-#: inet/rcmd.c:103
+#: inet/rcmd.c:104
msgid "rcmd: socket: All ports in use\n"
msgstr "rcmd: socket: Todos los puertos están siendo usados\n"
-#: inet/rcmd.c:159
+#: inet/rcmd.c:160
#, c-format
msgid "rcmd: write (setting up stderr): %m\n"
msgstr "rcmd: write (activando la salida de error estándar): %m\n"
@@ -2896,7 +3007,7 @@ msgstr "rcmd: write (activando la salida de error estándar): %m\n"
msgid "registerrpc: out of memory\n"
msgstr "registerrpc: memoria agotada\n"
-#: time/zic.c:1794
+#: time/zic.c:1809
msgid "repeated leap second moment"
msgstr "segundo intercalar repetido"
@@ -2934,18 +3045,18 @@ msgid "rpcinfo: can't contact portmapper: "
msgstr ""
"rpcinfo: no se puede comunicar con el mapeador de puertos (`portmapper'): "
-#: time/zic.c:708 time/zic.c:710
+#: time/zic.c:710 time/zic.c:712
msgid "same rule name in multiple files"
msgstr "mismo nombre de regla en varios archivos"
# ¿en la configuración del servicio?, ¿del circuito?, ¿o dejarlo así?
# Es de locos, estuve viendo las/los fuentes, preferí dejarlo así. em
-#: inet/rcmd.c:174
+#: inet/rcmd.c:175
msgid "select: protocol failure in circuit setup\n"
msgstr "select: fallo de protocolo al configurar el circuito\n"
# ??? lo mismo que arriba
-#: inet/rcmd.c:192
+#: inet/rcmd.c:193
msgid "socket: protocol failure in circuit setup\n"
msgstr "socket: fallo de protocolo al configurar el circuito\n"
@@ -2960,7 +3071,7 @@ msgstr ""
"la especificación para el orden de peso del símbolo de unión no tiene "
"sentido "
-#: time/zic.c:779
+#: time/zic.c:781
msgid "standard input"
msgstr "entrada estándar"
@@ -2975,7 +3086,7 @@ msgstr ""
"la fecha de comienzo no es válida en la cadena %d del campo `era' de la\n"
"categoría `%s'"
-#: time/zic.c:1276
+#: time/zic.c:1280
msgid "starting year greater than ending year"
msgstr "año de comienzo mayor que año de final"
@@ -3130,16 +3241,16 @@ msgid "syntax error: not inside a locale definition section"
msgstr ""
"error de sintaxis: no está dentro de una seción de definición para un local"
-#: catgets/gencat.c:380 catgets/gencat.c:516 catgets/gencat.c:543
+#: catgets/gencat.c:381 catgets/gencat.c:517 catgets/gencat.c:544
msgid "this is the first definition"
msgstr "esta es la primera vez que aparece la definición"
-#: time/zic.c:1119
+#: time/zic.c:1123
msgid "time before zero"
msgstr "hora antes de cero"
# Sugerencia: Desbordamiento de fecha. (?) sv+
-#: time/zic.c:1127 time/zic.c:1959 time/zic.c:1978
+#: time/zic.c:1131 time/zic.c:1974 time/zic.c:1993
msgid "time overflow"
msgstr "desbordamiento horario"
@@ -3155,15 +3266,15 @@ msgstr "demasiados bytes en la codificación del carácter"
msgid "too many character classes defined"
msgstr "demasiadas clases de caracteres definidas"
-#: time/zic.c:1788
+#: time/zic.c:1803
msgid "too many leap seconds"
msgstr "demasiados segundos intercalares"
-#: time/zic.c:1760
+#: time/zic.c:1775
msgid "too many local time types"
msgstr "demasiados tipos de hora local"
-#: time/zic.c:1714
+#: time/zic.c:1729
msgid "too many transitions?!"
msgstr "¡¿demasiadas transiciones?!"
@@ -3175,7 +3286,7 @@ msgstr "¡demasiados pesos!"
# ## Sugerencia: abreviaturas. sv
# ## Ok em+
-#: time/zic.c:2082
+#: time/zic.c:2097
msgid "too many, or too long, time zone abbreviations"
msgstr "demasiadas o demasiado largas abreviaturas de zona horaria"
@@ -3197,7 +3308,7 @@ msgstr "dificultades para responder al programa %d\n"
msgid "two lines in a row containing `...' are not allowed"
msgstr "no están permitidas dos líneas en una misma fila con `...'"
-#: time/zic.c:1283
+#: time/zic.c:1287
msgid "typed single year"
msgstr "tecleado un único año"
@@ -3225,19 +3336,16 @@ msgstr "la directiva de unión es desconocida"
# ## descartada (?) sv
# ## ¿ y así ? em
# ## por mí, vale. sv+
-#: catgets/gencat.c:477
+#: catgets/gencat.c:478
#, c-format
msgid "unknown directive `%s': line ignored"
msgstr "directiva desconocida '%s': línea pasada por alto"
-#: catgets/gencat.c:456
+#: catgets/gencat.c:457
#, c-format
msgid "unknown set `%s'"
msgstr "conjunto `%s' desconocido"
-msgid "unknown signal"
-msgstr "señal desconocida"
-
# descartada (?) sv
# Me gusta más `pasada por alto' em+
#: locale/programs/ld-collate.c:1367 locale/programs/ld-collate.c:1558
@@ -3246,11 +3354,11 @@ msgstr "señal desconocida"
msgid "unknown symbol `%.*s': line ignored"
msgstr "símbolo desconocido `%.*s': línea descartada"
-#: time/zic.c:751
+#: time/zic.c:753
msgid "unruly zone"
msgstr "zona sin reglas"
-#: catgets/gencat.c:961
+#: catgets/gencat.c:962
msgid "unterminated message"
msgstr "mensaje sin terminar"
@@ -3276,7 +3384,7 @@ msgstr "el límite superior del rango no es menor que el límite inferior"
# en el archivo pondrá 2/29 em
# Sugerencia: "uso de 2/29 ..." (usando sería "using") sv
# Tienes razón em+
-#: time/zic.c:2025
+#: time/zic.c:2040
msgid "use of 2/29 in non leap-year"
msgstr "uso de 2/29 en un año no bisiesto"
@@ -3333,15 +3441,15 @@ msgstr "el valor para el campo `%s' en la categoría `%s' no debe ser cero"
msgid "while opening UTMP file"
msgstr "al abrir el archivo UTMP"
-#: catgets/gencat.c:988
+#: catgets/gencat.c:989
msgid "while opening old catalog file"
msgstr "al abrir el archivo de catálogo antiguo"
-#: db/makedb.c:353
+#: db/makedb.c:354
msgid "while reading database"
msgstr "al leer el archivo de datos"
-#: db/makedb.c:315
+#: db/makedb.c:316
msgid "while writing data base file"
msgstr "al abrir el archivo de datos"
@@ -3359,38 +3467,40 @@ msgstr "número incorrecto de argumentos"
# Si es mejor, ponlo en todos los sitios. Y si no, en ninguno.
# Yo creo que es mucho mejor poner "número incorrecto ..."
# Si no, queda como "al revés". sv+
-#: time/zic.c:1077
+#: time/zic.c:1081
msgid "wrong number of fields on Leap line"
msgstr "número incorrecto de campos en la línea de bisiesto ( Leap )"
-#: time/zic.c:1168
+#: time/zic.c:1172
msgid "wrong number of fields on Link line"
msgstr "número incorrecto de campos en la línea de enlace ( Link )"
-#: time/zic.c:911
+#: time/zic.c:915
msgid "wrong number of fields on Rule line"
msgstr "número incorrecto de argumentos en la línea de regla ( Rule )"
-#: time/zic.c:981
+#: time/zic.c:985
msgid "wrong number of fields on Zone continuation line"
msgstr "número de campos incorrecto en la línea de continuación de zona (Zone)"
-#: time/zic.c:939
+#: time/zic.c:943
msgid "wrong number of fields on Zone line"
msgstr "número de campos incorrecto en la línea de zona ( Zone )"
-#: nis/ypclnt.c:570
-msgid "yp_all: clnttcp_create failed"
-msgstr "yp_all: ha fallado la llamada a 'clnttcp_create()'"
-
-#: nis/ypclnt.c:772
+#: nis/ypclnt.c:810
msgid "yp_update: cannot convert host to netname\n"
msgstr "yp_update: no puede convertir el nombre del host a nombre de red\n"
-#: nis/ypclnt.c:784
+#: nis/ypclnt.c:822
msgid "yp_update: cannot get server address\n"
msgstr "yp_update: no se puede encontrar la dirección del servidor\n"
+#~ msgid "unknown signal"
+#~ msgstr "señal desconocida"
+
+#~ msgid "yp_all: clnttcp_create failed"
+#~ msgstr "yp_all: ha fallado la llamada a 'clnttcp_create()'"
+
#~ msgid "character `%c' not defined while needed as default value"
#~ msgstr ""
#~ "el carácter `%c' no está definido cuando se necesitó como valor por defecto"
diff --git a/po/fr.po b/po/fr.po
index 92a272f70e..b255cb2409 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU libc 1.98\n"
"POT-Creation-Date: 1996-12-03 13:50+0100\n"
-"PO-Revision-Date: 1996-12-12 22:46 -0500\n"
+"PO-Revision-Date: 1997-01-24 20:13 -0500\n"
"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
@@ -881,11 +881,11 @@ msgstr "Connexion par liens par noeuds multiples de relais tentée."
#: nis/ypclnt.c:659
msgid "NIS client/server version mismatch - can't supply service"
-msgstr "Non concrodance de la version client/serveur NIS - ne peut fournir le service."
+msgstr "Non concordance de la version client/serveur NIS - ne peut fournir le service."
#: nis/ypclnt.c:657
msgid "NIS map data base is bad"
-msgstr "La table de la base de données NIS est corrumpue."
+msgstr "La table de la base de données NIS est corrompue."
#: stdio-common/../sysdeps/gnu/errlist.c:746
msgid "Name not unique on network"
diff --git a/po/nl.po b/po/nl.po
index dade331dd8..e30ad9ef39 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: libc 1.94\n"
+"Project-Id-Version: libc 2.0\n"
"POT-Creation-Date: 1996-09-08 3:45\n"
"PO-Revision-Date: 1996-09-17 14:30 MET DST\n"
"Last-Translator: Erick Branderhorst <branderh@debian.org>\n"
@@ -25,23 +25,23 @@ msgstr " %s [-s udp|tcp]* [-o uitvoerbestand] [invoerbestand]\n"
#: sunrpc/rpcinfo.c:612
msgid " rpcinfo -b prognum versnum\n"
-msgstr ""
+msgstr " rpcinfo -b programanummer versienummer\n"
#: sunrpc/rpcinfo.c:613
msgid " rpcinfo -d prognum versnum\n"
-msgstr ""
+msgstr " rpcinfo -d programanummer versienummer\n"
#: sunrpc/rpcinfo.c:611
msgid " rpcinfo -p [ host ]\n"
-msgstr ""
+msgstr " rpcinfo -p [ host ]\n"
#: sunrpc/rpcinfo.c:610
msgid " rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"
-msgstr ""
+msgstr " rpcinfo [ -n poortnummer ] -t host programanummer [ versienummer ]\n"
#: sunrpc/rpcinfo.c:517
msgid " program vers proto port\n"
-msgstr ""
+msgstr " program vers proto port\n"
#: time/zic.c:425
#, c-format
@@ -967,7 +967,7 @@ msgstr "Numeriek resultaat is buiten domein"
#. TRANS properly on the GNU system, making this error code impossible.)
#: stdio-common/../sysdeps/gnu/errlist.c:502
msgid "Object is remote"
-msgstr ""
+msgstr "Object is niet lokaal"
#: time/zic.c:1940
msgid "Odd number of quotation marks"
@@ -1306,7 +1306,7 @@ msgstr "Gestopt (tty uitvoer)"
#: stdio-common/../sysdeps/gnu/errlist.c:778
msgid "Streams pipe error"
-msgstr ""
+msgstr "Stromen pijp fout"
#: stdio-common/../sysdeps/gnu/errlist.c:782
msgid "Structure needs cleaning"
@@ -1652,7 +1652,7 @@ msgstr "verwacht `from' na eerste argument (??)to `collating-element'"
#: locale/programs/ld-collate.c:1108
msgid ""
"`from' string in collation element declaration contains unknown character"
-msgstr ""
+msgstr "`from' string in vergelijkende element declaratie bevat onbekend karakter"
#: locale/programs/charmap.c:267
#, c-format
@@ -1734,7 +1734,7 @@ msgstr "kan niet invoegen in resultaat tabel"
#: locale/programs/ld-collate.c:1165 locale/programs/ld-collate.c:1207
#, c-format
msgid "cannot insert new collating symbol definition: %s"
-msgstr ""
+msgstr "kan geen nieuw vergelijking symbool definitie invoegen: %s"
#: db/makedb.c:149
#, c-format
@@ -1763,7 +1763,7 @@ msgstr "kan uitvoerbestand `%s' niet openen voor categorie `%s'"
#: locale/programs/ld-collate.c:1359
msgid "cannot process order specification"
-msgstr ""
+msgstr "kan de gespecificeerde volgorde niet afhandelen"
#: locale/programs/locale.c:293
#, c-format
@@ -2041,7 +2041,7 @@ msgstr "ongeldige codering gegeven"
#: locale/programs/linereader.c:546
msgid "illegal escape sequence at end of string"
-msgstr ""
+msgstr "ongeldige escape reeks aan het einde van string"
#: locale/programs/charset.c:101
msgid "illegal names for character range"
@@ -2128,15 +2128,15 @@ msgstr "ongeldige tijd van de dag"
#: time/zic.c:1319
msgid "invalid weekday name"
-msgstr "ongeldig weekdagnaam"
+msgstr "ongeldig naam voor weekdag"
#: locale/programs/ld-collate.c:1411
msgid "line after ellipsis must contain character definition"
-msgstr ""
+msgstr "regel na ellipsis moet een karakter definitie bevatten"
#: locale/programs/ld-collate.c:1390
msgid "line before ellipsis does not contain definition for character constant"
-msgstr ""
+msgstr "regel voor ellipsis bevat geen konstante karakter definitie"
#: time/zic.c:795
msgid "line too long"
@@ -2157,7 +2157,7 @@ msgstr "geheugen clobbered voordat blok gereserveerd was (FIXME)"
#: malloc/mcheck.c:186
msgid "memory clobbered past end of allocated block"
-msgstr ""
+msgstr "geheugen `clobbered' na het einde van een gealloceerd blok"
#: locale/programs/ld-collate.c:167 locale/programs/ld-collate.c:173
#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1438
@@ -2186,7 +2186,7 @@ msgstr "geen array-of-pointer declaraties -- gebruik typedef"
#: locale/programs/ld-messages.c:95 locale/programs/ld-messages.c:116
#, c-format
msgid "no correct regular expression for field `%s' in category `%s': %s"
-msgstr ""
+msgstr "geen correct reguliere expressie voor veld `%s' in category `%s': %s"
#: time/zic.c:2060
msgid "no day in month matches rule"
@@ -2285,30 +2285,30 @@ msgstr "herhalend schrikkelseconde moment"
#: sunrpc/rpcinfo.c:659
#, c-format
msgid "rpcinfo: %s is unknown host\n"
-msgstr ""
+msgstr "rpcinfo: %s is onbekende host\n"
#: sunrpc/rpcinfo.c:626
#, c-format
msgid "rpcinfo: %s is unknown service\n"
-msgstr ""
+msgstr "rpcinfo: %s is onbekende service\n"
#: sunrpc/rpcinfo.c:600
#, c-format
msgid "rpcinfo: Could not delete registration for prog %s version %s\n"
-msgstr ""
+msgstr "rpcinfo: Kan geen registratie verwijderen voor programma %s versie %s\n"
#: sunrpc/rpcinfo.c:576
#, c-format
msgid "rpcinfo: broadcast failed: %s\n"
-msgstr ""
+msgstr "rpcinfo: uitzending mislukt: %s\n"
#: sunrpc/rpcinfo.c:505
msgid "rpcinfo: can't contact portmapper"
-msgstr ""
+msgstr "rpcinfo: kan geen kontakt krijgen met portmapper"
#: sunrpc/rpcinfo.c:510
msgid "rpcinfo: can't contact portmapper: "
-msgstr ""
+msgstr "rpcinfo: kan geen kontakt krijgen met portmapper: "
#: sunrpc/portmap.c:137
msgid "run_svc returned unexpectedly\n"
@@ -2320,11 +2320,11 @@ msgstr "zelfde regel naam in meerdere bestanden"
#: inet/rcmd.c:158
msgid "select: protocol failure in circuit setup\n"
-msgstr ""
+msgstr "select: protocol mislukt in opstart circuit\n"
#: inet/rcmd.c:176
msgid "socket: protocol failure in circuit setup.\n"
-msgstr ""
+msgstr "socket: protocol mislukt in opstart circuit.\n"
#: locale/programs/locfile.c:600
msgid "sorting order `forward' and `backward' are mutually exclusive"
@@ -2349,15 +2349,15 @@ msgstr "beginjaar is groter dan eindejaar"
#: sunrpc/svc_tcp.c:199 sunrpc/svc_tcp.c:204
msgid "svc_tcp: makefd_xprt: out of memory\n"
-msgstr ""
+msgstr "svc_tcp: makefd_xprt: geen geheugen meer\n"
#: sunrpc/svc_tcp.c:147
msgid "svctcp_.c - cannot getsockname or listen"
-msgstr ""
+msgstr "svctcp_.c - `getsockname' of `listen' lukken niet"
#: sunrpc/svc_tcp.c:134
msgid "svctcp_.c - udp socket creation problem"
-msgstr ""
+msgstr "svctcp_.c - udp socket aanmaak probleem"
#: sunrpc/svc_tcp.c:154 sunrpc/svc_tcp.c:161
msgid "svctcp_create: out of memory\n"
@@ -2365,11 +2365,11 @@ msgstr "svctcp_create: geen geheugen meer beschikbaar\n"
#: sunrpc/svc_udp.c:119
msgid "svcudp_create - cannot getsockname"
-msgstr ""
+msgstr "svcudp_create - `getsockname' lukt niet"
#: sunrpc/svc_udp.c:107
msgid "svcudp_create: socket creation problem"
-msgstr ""
+msgstr "svcudp_create: socket aanmaak probleem"
#: locale/programs/ld-collate.c:1190
#, c-format
@@ -2377,6 +2377,8 @@ msgid ""
"symbol for multicharacter collating element `%.*s' duplicates element "
"definition"
msgstr ""
+"symbool voor multikarakter vergelijkings element `%.*s' dupliceerd\n"
+"element definitie"
#: locale/programs/ld-collate.c:1063
#, c-format
@@ -2384,6 +2386,8 @@ msgid ""
"symbol for multicharacter collating element `%.*s' duplicates other element "
"definition"
msgstr ""
+"symbool voor multikarakter vergelijkings element `%.*s' dupliceert\n"
+"andere element definities"
#: locale/programs/ld-collate.c:1199
#, c-format
@@ -2391,6 +2395,8 @@ msgid ""
"symbol for multicharacter collating element `%.*s' duplicates other symbol "
"definition"
msgstr ""
+"symbool voor multikarakter vergelijkings element `%.*s' dupliceert\n"
+"andere symbool definitie"
#: locale/programs/ld-collate.c:1072
#, c-format
@@ -2428,7 +2434,7 @@ msgstr "syntactische fout in karakter conversie definitie"
#: locale/programs/locfile.c:662
msgid "syntax error in collating order definition"
-msgstr ""
+msgstr "syntactische fout in collating volgorde definitie"
#: locale/programs/locfile.c:512
msgid "syntax error in collation definition"
diff --git a/sunrpc/Makefile b/sunrpc/Makefile
index e3e38d151a..9c434151fe 100644
--- a/sunrpc/Makefile
+++ b/sunrpc/Makefile
@@ -121,6 +121,7 @@ defines := $(defines) -D_PATH_RPC='"$(sysconfdir)/rpc"'
# We use a stamp file to avoid unnessary recompilation each time rpcgen is
# relinked.
$(objpfx)rpcsvc/%.h: $(objpfx)rpcsvc/%.stmp
+ @:
$(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(objpfx)rpcgen
$(make-target-directory)
-@rm -f ${@:stmp=T} $@
@@ -132,6 +133,7 @@ $(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(objpfx)rpcgen
# Generate the rpcsvc XDR functions with rpcgen.
$(objpfx)x%.c: $(objpfx)x%.stmp
+ @:
$(objpfx)x%.stmp: rpcsvc/%.x $(objpfx)rpcgen
-@rm -f ${@:stmp=T} $@
$(rpcgen-cmd) -c $< -o ${@:stmp=T}
diff --git a/sysdeps/alpha/stxncpy.S b/sysdeps/alpha/stxncpy.S
index 8c5fcf6e67..f47348e3fc 100644
--- a/sysdeps/alpha/stxncpy.S
+++ b/sysdeps/alpha/stxncpy.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@tamu.edu)
This file is part of the GNU C Library.
@@ -321,9 +321,9 @@ $unaligned:
mskqh t2, t5, t2 # e0 : begin src byte validity mask
cmpbge zero, t1, t7 # .. e1 : is there a zero?
extql t2, a1, t2 # e0 :
- or t7, t10, t6 # .. e1 : test for end-of-count too
+ or t7, t10, t5 # .. e1 : test for end-of-count too
cmpbge zero, t2, t3 # e0 :
- cmoveq a2, t6, t7 # .. e1 :
+ cmoveq a2, t5, t7 # .. e1 :
andnot t7, t3, t7 # e0 :
beq t7, $u_head # .. e1 (zdb)
diff --git a/sysdeps/i386/fpu/__math.h b/sysdeps/i386/fpu/__math.h
index 3728d45be6..86793babe5 100644
--- a/sysdeps/i386/fpu/__math.h
+++ b/sysdeps/i386/fpu/__math.h
@@ -1,5 +1,5 @@
/* Inline math functions for i387.
- Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by John C. Bowman <bowman@ipp-garching.mpg.de>, 1995.
@@ -373,13 +373,14 @@ ceil (double __x)
/* Optimized versions for some non-standardized functions. */
#ifdef __USE_MISC
-__MATH_INLINE double __hypot (double __x, double __y);
+__MATH_INLINE double hypot (double __x, double __y);
__MATH_INLINE double
hypot (double __x, double __y)
{
return sqrt (__x * __x + __y * __y);
}
+__MATH_INLINE double log1p (double __x);
__MATH_INLINE double
log1p (double __x)
{
@@ -397,7 +398,7 @@ log1p (double __x)
return __value;
}
-__MATH_INLINE double __asinh (double __x);
+__MATH_INLINE double asinh (double __x);
__MATH_INLINE double
asinh (double __x)
{
@@ -407,14 +408,14 @@ asinh (double __x)
* __sgn1 (__x));
}
-__MATH_INLINE double __acosh (double __x);
+__MATH_INLINE double acosh (double __x);
__MATH_INLINE double
acosh (double __x)
{
return log (__x + sqrt (__x - 1.0) * sqrt (__x + 1.0));
}
-__MATH_INLINE double __atanh (double __x);
+__MATH_INLINE double atanh (double __x);
__MATH_INLINE double
atanh (double __x)
{
@@ -423,7 +424,7 @@ atanh (double __x)
return -0.5 * __log1p (-(__y + __y) / (1.0 + __y)) * __sgn1 (__x);
}
-__MATH_INLINE double __coshm1 (double __x);
+__MATH_INLINE double coshm1 (double __x);
__MATH_INLINE double
coshm1 (double __x)
{
@@ -432,14 +433,14 @@ coshm1 (double __x)
return 0.5 * (__exm1 / (__exm1 + 1.0)) * __exm1;
}
-__MATH_INLINE double __acosh1p (double __x);
+__MATH_INLINE double acosh1p (double __x);
__MATH_INLINE double
acosh1p (double __x)
{
return __log1p (__x + sqrt (__x) * sqrt (__x + 2.0));
}
-__MATH_INLINE double __logb (double __x);
+__MATH_INLINE double logb (double __x);
__MATH_INLINE double
logb (double __x)
{
@@ -451,7 +452,7 @@ logb (double __x)
return __value;
}
-__MATH_INLINE double __drem (double __x, double __y);
+__MATH_INLINE double drem (double __x, double __y);
__MATH_INLINE double
drem (double __x, double __y)
{
@@ -466,7 +467,7 @@ drem (double __x, double __y)
return __value;
}
-__MATH_INLINE void __sincos (double __x, double *__sinx, double *__cosx);
+__MATH_INLINE void sincos (double __x, double *__sinx, double *__cosx);
__MATH_INLINE void
sincos (double __x, double *__sinx, double *__cosx)
{
@@ -479,14 +480,14 @@ sincos (double __x, double *__sinx, double *__cosx)
*__cosx = __cosr;
}
-__MATH_INLINE double __sgn (double __x);
+__MATH_INLINE double sgn (double __x);
__MATH_INLINE double
sgn (double __x)
{
return (__x == 0.0 ? 0.0 : (__x > 0.0 ? 1.0 : -1.0));
}
-__MATH_INLINE double __pow2 (double __x);
+__MATH_INLINE double pow2 (double __x);
__MATH_INLINE double
pow2 (double __x)
{
diff --git a/sysdeps/unix/sysv/linux/statbuf.h b/sysdeps/unix/sysv/linux/statbuf.h
index 3a3e9d07d5..39bbdc9ece 100644
--- a/sysdeps/unix/sysv/linux/statbuf.h
+++ b/sysdeps/unix/sysv/linux/statbuf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -32,8 +32,8 @@
struct stat
{
- short int st_dev; /* Device. */
- unsigned short __pad1;
+ unsigned short int st_dev; /* Device. */
+ unsigned short int __pad1;
unsigned long int st_ino; /* File serial number. */
unsigned short int st_mode; /* File mode. */
unsigned short int st_nlink; /* Link count. */
diff --git a/time/Makefile b/time/Makefile
index b994eee1ac..08a19a1838 100644
--- a/time/Makefile
+++ b/time/Makefile
@@ -35,11 +35,7 @@ routines := offtime asctime clock ctime ctime_r difftime \
strptime
others := ap zdump zic
-tests := test_time clocktest test-tz
-
-# Before the test-tz test can be run we need the data to be installed.
-tests: install-test-data
-
+tests := test_time clocktest
tzfiles := africa antarctica asia australasia europe northamerica \
southamerica etcetera factory systemv backward \
@@ -56,6 +52,15 @@ all: # Make this the default target; it will be defined in Rules.
include ../Makeconfig # Get objpfx defined so we can use it below.
+ifeq (no,$(cross-compiling))
+# We can run the test-tz test only if we can install the test data using
+# zic. This isn't possible when cross-compiling.
+tests += test-tz
+
+# Before the test-tz test can be run we need the data to be installed.
+tests: install-test-data
+endif
+
# z.* use this variable.
define nl
@@ -158,6 +163,7 @@ CFLAGS-zic.c = -Wno-strict-prototypes -DNOID $(tz-cflags)
CFLAGS-ialloc.c = -Wno-strict-prototypes -DNOID
CFLAGS-scheck.c = -Wno-strict-prototypes -DNOID
CFLAGS-tzfile.c = $(tz-cflags)
+CFLAGS-tzset.c = $(tz-cflags)
# We have to make sure the data for testing the tz functions is available.
.PHONY: install-test-data
diff --git a/time/tzfile.c b/time/tzfile.c
index ed7b0932f3..e063d5d04f 100644
--- a/time/tzfile.c
+++ b/time/tzfile.c
@@ -112,17 +112,19 @@ __tzfile_read (const char *file)
else if (*file == '\0')
/* User specified the empty string; use UTC explicitly. */
file = "Universal";
-
- /* We must not allow to read an arbitrary file in a setuid program.
- So we fail for any file which is not in the directory hierachy
- starting at TZDIR. */
- if (__libc_enable_secure
- && ((*file == '/'
- && memcmp (file, default_tzdir, sizeof (default_tzdir) - 1) != 0)
- || strstr (file, "../") != NULL))
- /* This test a certainly a bit too restrictive but it should catch all
- critical case. */
- return;
+ else
+ {
+ /* We must not allow to read an arbitrary file in a setuid
+ program. So we fail for any file which is not in the
+ directory hierachy starting at TZDIR. */
+ if (__libc_enable_secure
+ && ((*file == '/'
+ && memcmp (file, default_tzdir, sizeof (default_tzdir) - 1))
+ || strstr (file, "../") != NULL))
+ /* This test a certainly a bit too restrictive but it should
+ catch all critical case. */
+ return;
+ }
if (*file != '/')
{
diff --git a/time/tzset.c b/time/tzset.c
index 87dc6d6337..05760b2c62 100644
--- a/time/tzset.c
+++ b/time/tzset.c
@@ -94,6 +94,12 @@ __tzset_internal (always)
/* Examine the TZ environment variable. */
tz = getenv ("TZ");
+ if (tz == NULL)
+ /* No user specification; use the site-wide default. */
+ tz = TZDEFAULT;
+ else if (*tz == '\0')
+ /* User specified the empty string; use UTC explicitly. */
+ tz = "Universal";
/* A leading colon means "implementation defined syntax".
We ignore the colon and always use the same algorithm:
@@ -108,10 +114,10 @@ __tzset_internal (always)
/* Free old storage. */
if (tz_rules[0].name != NULL && *tz_rules[0].name != '\0')
- free((void *) tz_rules[0].name);
+ free ((void *) tz_rules[0].name);
if (tz_rules[1].name != NULL && *tz_rules[1].name != '\0' &&
tz_rules[1].name != tz_rules[0].name)
- free((void *) tz_rules[1].name);
+ free ((void *) tz_rules[1].name);
tz_rules[0].name = NULL;
tz_rules[1].name = NULL;
@@ -163,7 +169,7 @@ __tzset_internal (always)
return;
}
- if (sscanf(tz, "%[^0-9,+-]", tz_rules[0].name) != 1 ||
+ if (sscanf (tz, "%[^0-9,+-]", tz_rules[0].name) != 1 ||
(l = strlen(tz_rules[0].name)) < 3)
{
free (tz_rules[0].name);
@@ -180,7 +186,7 @@ __tzset_internal (always)
tz += l;
/* Figure out the standard offset from UTC. */
- if (*tz == '\0' || (*tz != '+' && *tz != '-' && !isdigit(*tz)))
+ if (*tz == '\0' || (*tz != '+' && *tz != '-' && !isdigit (*tz)))
return;
if (*tz == '-' || *tz == '+')