diff -durpN glibc-2.0.2/ChangeLog glibc-2.0.3/ChangeLog --- glibc-2.0.2/ChangeLog Fri Mar 21 23:10:45 1997 +++ glibc-2.0.3/ChangeLog Mon Apr 21 10:29:03 1997 @@ -1,3 +1,457 @@ +1997-04-21 16:28 Ulrich Drepper + + * Net release 2.0.3. + +1997-04-21 13:25 Ulrich Drepper + + * stdlib/seed48_r.c: Also reset `a' and `c' to default values. + * stdlib/srand48_r.c: Likewise. + +1997-04-21 13:25 Ulrich Drepper + + * manual/arith.texi: Add description for INFINITY, _Imaginary_I, + fpclassify & friends, and complex number operations. + Update various other math functions for ISO C 9X. + * manual/math.texi: Update various entries for ISO C 9X. + Add description for complex number functions. + Add description of rand48 function family. + * manual/string.h: Add description of a64l and l64a. + + * math/cmathcalls.h: Fix typo. + + * stdlib/a64l.c: Pretty printing. + + * stdlib/seed48_r.c: Also reset `a' and `c' to default values. + * stdlib/srand48_r.c: Likewise. +1997-04-20 01:28 Richard Henderson + + * rellns-sh: Handle files in the same directory correctly. + +1997-04-20 11:22 Ulrich Drepper + + * csu/initfini.c: Place ALIGN instruction at correct positions. + Patch by Richard Henderson . + +1997-04-19 17:12 Ulrich Drepper + + * Make-dist: Don't automatically ignore .c files if .S or .s files + are ignored. + + * csu/Makefile (distribute): Add defs.awk. + +1997-04-19 15:39 Ulrich Drepper + + * sysdeps/stub/shmat.c: Update to XPG4.2 interface. + * sysdeps/stub/shmdt.c: Likewise. + Reported by Thomas Bushnell, n/BSG. + +1997-04-18 15:48 Ulrich Drepper + + * sysdeps/unix/sysv/linux/Dist: Rename + sysdeps/sysv/linux/netatalk/atalk.h to .../at.h. + Remove sysdeps/sysv/linux/netinet/icmp.h. + + * login/utmp.h: Add prototype for updwtmp. + * login/logwtmp.c: Add new function updwtmp which allows to write + a complete record to the wtmp file. + Patch by Miquel van Smoorenburg . + +1997-04-18 11:21 Ulrich Drepper + + * shadow/fgetspent_r.c: Set *RESULT to NULL before returning error. + Patch by Thorsten Kukuk . + +1997-04-18 02:18 Ulrich Drepper + + * csu/initfini.c: Rewrite by Zack Weinberg + . + * csu/Makefile: Add rules for rewrite. + * csu/defs.awk: Helper script to generate derived header. + +1997-04-16 17:33 Miles Bader + + * login/utmp_file.c (proc_utmp_eq): Only use ut_id field if valid. + +1997-04-15 03:14 Ulrich Drepper + + * sysdeps/generic/Dist: Remove old math implementation files. + * sysdeps/generic/mathimpl.h: Removed. + * sysdeps/generic/trig.h: Removed. + * sysdeps/generic/sincos.c: Removed. + * sysdeps/generic/asincos.c: Removed. + * sysdeps/generic/exp__E.c: Removed. + * sysdeps/generic/log__L.c: Removed. + +1997-04-13 17:18 Wolfram Gloger + + * malloc/malloc.c (fREe): Small optimization. Before returning, + add fast check whether the heap containing top can go away. + +1997-04-11 16:46 Wolfram Gloger + + * malloc/malloc.c (mALLOc, rEALLOc, cALLOc, mEMALIGn): When + failing to allocate a new chunk, also try the main_arena. It may + be that we are only running out of mmapped regions, and other + arenas cannot be enlarged sufficiently. + (new_heap, malloc_extend_top): Handle top_pad more consistently, + i.e. only in new_heap(). + +1997-04-13 01:06 Ulrich Drepper + + * time/strftime.c (memset_space): Increment pointer. + * time/strptime.c: Interpret year number 00-59 as 2000--2059. + Patches by Karl Heuer . + +1997-04-11 11:27 Ulrich Drepper + + * rellnsh-sh: Use explicitely /bin/pwd to find the external program. + + * sysdeps/libm-ieee754/s_ceill.c: Corrected. The mantissa has only + 63 bits. + * sysdeps/libm-ieee754/s_floorl.c: Likewise. + + * po/pl.po: Updated. + + * string/swab.c: Correctly handle array of odd length. + + * manual/string.texi: Correct prototype in memmem documentation. + +1997-04-03 10:18 Andreas Schwab + + * manual/Makefile (dir-add.texi): Simplify. + +1997-04-09 01:24 Ulrich Drepper + + * rellns-sh: Rewrite to work also in presence of symlinks. + + * locale/setlocale.c (_nl_current): Add element with index LC_ALL. + Reported by Greg McGary . + + * manual/libc.texinfo: Update malloc documentation for new malloc. + * manual/memory.texi: Likewise. + Patch by Wolfram Gloger . + + * stdlib/erand48_r.c (erand48_r): Build double value using + ieee754_double union and use random bits in different order to + increase effect of seed. + Reported by David Mosberger-Tang . + +1997-04-08 07:19 H.J. Lu + + * libio/genops.c (_IO_flush_all_linebuffered): Don't flush on + a read-only stream. + +1997-04-09 01:19 Ulrich Drepper + + * malloc/malloc.c (mALLOC_STATs) [MALLOC_DEBUG>1]: Put declaration + in correct place. + Patch by Marcus G. Daniels . + +1997-04-06 11:32 H.J. Lu + + * posix/getopt.c (_getopt_initialize): Preserve optind. + (_getopt_internal): Set optind to 1 if optind == 0 before + calling _getopt_initialize (). + +1997-03-27 07:37 H.J. Lu + + * libio/fileops.c (_IO_file_overflow): Set error when try to write + on a read-only stream. + + * sysdeps/gnu/utmpbits.h (ut_xtime): New symbol. + (ut_time): Define it only if _NO_UT_TIME is not defined. + +1997-04-05 16:14 Ulrich Drepper + + * sysdeps/unix/sysv/linux/netatalk/at.h: Include to + get definition of sa_family_t for . + Reported by a sun . + + * malloc/malloc.c (cALLOc): Little optimization. + +1997-04-05 03:11 Ulrich Drepper + + * inet/arpa/inet.h: Rewrite. Don't use the ugly BSD way to write + headers but instead add comments and parameter names. + Don't use BSD specific types in prototypes. + + * manual/nss.texi: Correct a few typos and errors. + +1997-03-25 09:38 Andreas Schwab + + * sysdeps/unix/sysv/linux/termbits.h (OXTABS): Don't define. + * sysdeps/unix/sysv/linux/alpha/termbits.h (OXTABS): Likewise. + + * termios/sys/ttydefaults.h (TTYDEF_OFLAG): Use either OXTABS or + TAB3, if one of them is defined. + +1997-03-24 19:58 Richard Henderson + + * stdlib/tst-strtol.c (tests): Correct 64-bit entry. + +1997-03-25 02:15 Ulrich Drepper + + * sysdeps/generic/setenv.c [_LIBC]: Define __clearenv and make + clearenv a weak alias. + + * sysdeps/unix/sysv/linux/iovec.h: Don't use kernel header because + of type clashes. Add all definitions here. + + * sysdeps/unix/sysv/linux/shmat.c: Likewise. Correct types according + to XPG4.2. + * sysdeps/unix/sysv/linux/shmdt.c: Likewise. + * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. + + * sysvipc/sys/shm.h (shmat, shmdt): Correct types. + + * sysdeps/unix/sysv/linux/sys/kd.h: Define _LINUX_TYPES_H to avoid + use of kernel types. + +1997-03-25 00:00 Ulrich Drepper + + * sysdeps/unix/sysv/linux/netinet/ip.h (struct ip_timestamp): + Correct typos. Reported by a sun . + +1997-03-20 14:46 Andreas Schwab + + * Makeconfig (all): Make sure this is always the default goal. + +1997-03-24 23:14 Ulrich Drepper + + * sysdeps/i386/huge_val.h: Remove references to byte order macros. + Don't include . + +1997-03-19 15:18 Andreas Schwab + * sysdeps/m68k/huge_val.h: Remove references to byte order macros. + Don't include . + +1997-03-24 23:09 Ulrich Drepper + + * inet/rcmd.c (iruserok): Use access instead of euidaccess. + +1997-03-24 15:31 Ulrich Drepper + + * configure.in: Use AC_PROG_CC instead of AC_PROG_TOOL to find + compiler. + +1997-04-10 20:22 Ulrich Drepper + + * hurd/Makefile (sunrpc-headers): Add clnt.h. + Proposed by Thomas Bushnell . + +1997-03-24 02:34 Ulrich Drepper + + * sysdeps/libm-ieee754/s_finitel.c (__finitel): Shift return value + by 31 positions to get 0/1 result. + Patch by Joe Keane . + +1997-03-23 12:15 H.J. Lu + + * posix/getopt.c (__getopt_nonoption_flags): Make it extern + to prevent from ld linking in getopt.o even if there is another + incompatible one. + + * posix/getopt_init.c (__getopt_nonoption_flags): Remove extern. + +1997-03-20 20:22 H.J. Lu + + * Makerules (depfiles): Remove $(test-srcs). + +1997-03-27 07:37 H.J. Lu + + * libio/fileops.c (_IO_file_overflow): Set error when try to write + on a read-only stream. + + * sysdeps/gnu/utmpbits.h (ut_xtime): New symbol. + (ut_time): Define it only if _NO_UT_TIME is not defined. + +1997-04-03 19:24 H.J. Lu + + * sysdeps/unix/sysv/linux/sigset.h (__sigisemptyset): Fix a + typo. + +1997-04-02 16:55 Ulrich Drepper + + * Makefile: Add rule to easily generate dir-add.texi file. + * manual/Makefile: Likewise. + +1997-04-01 10:11 H.J. Lu + + * sysdeps/unix/sysv/linux/Makefile [$(subdir)=inet] + (sysdep_headers): Remove netinet/icmp.h. + +1997-04-02 16:28 Ulrich Drepper + + * grp/fgetgrent.c: Don't use fixed buffer length. Allow dynamic + adjustment if the underlying function say it is too small. + * pwd/fgetpwent.c: Likewise. + * shadow/fgetspent.c: Likewise. + * shadow/sgetspent.c: Likewise. + + * grp/fgetgrent_r.c (__fgetgrent_r): If `parse_result' returns -1 + this means there was not enough room for the gr_mem array. + + * nss/nss_files/files-XXX.c: Leave loop and return error if + `parse_result' returns -1. + + * nss/nss_files/files-parse.c (parse_line): Return -1 if parsing + of trailing list fails because of low memory. + (parse_list): Rewrite. The logic was completly incorrect since + the checks for overflowing the array were not executed when + needed. + + * shadow/sgetspent_r.c: Only a return value > 0 from parse_line + signals success. + + * nss/getXXbyYY.c: Make sure NULL is returned if we ran out of memory. + * nss/getXXent.c: Likewise. + +1997-04-02 13:56 Ulrich Drepper + + * manual/errno.texi: Add description of strerror_r. + +1997-04-01 19:07 H.J. Lu (hjl@gnu.ai.mit.edu) + + * manual/errno.texi: Add ENOMEDIUM and EMEDIUMTYPE. + +1997-04-02 13:55 Ulrich Drepper + + * sysdeps/gnu/errlist.awk: The Texinfo file is named errno.texi. + +1997-03-28 20:56 Andreas Schwab + + * stdlib/stdlib.h: Declare __clearenv. + +1997-03-28 18:03 Andreas Schwab + + * sysdeps/libm-ieee754/s_asinhl.c: Fix Ulrich Dreppers mangling of + the last change. + +1997-03-28 17:55 Andreas Schwab + + * configure.in: Call AC_CANONICAL_BUILD before referencing + $build. Fix test for BUILD_CC. + +1997-04-01 14:08 Ulrich Drepper + + * sysdeps/i386/memset.c: Fix typo. + * sysdeps/stub/fchmod.c: Fix typo. + * sysdeps/stub/fchdir.c: Fix typo. + Reported by Fila Kolodny . + + * time/time.h (strftime): Remove __restrict in declaration. + +1997-04-01 00:37 Ulrich Drepper + + * sysdeps/i386/asm-syntax.h: Define `L' macro to emit correct + syntax for local label. + * sysdeps/i386/add_n.S: Use correct local label syntax for the + binary format. + * sysdeps/i386/addmul_1.S: Likewise. + * sysdeps/i386/lshift.S: Likewise. + * sysdeps/i386/memchr.S: Likewise. + * sysdeps/i386/memcmp.S: Likewise. + * sysdeps/i386/mul_1.S: Likewise. + * sysdeps/i386/rshift.S: Likewise. + * sysdeps/i386/stpcpy.S: Likewise. + * sysdeps/i386/stpncpy.S: Likewise. + * sysdeps/i386/strchr.S: Likewise. + * sysdeps/i386/strcspn.S: Likewise. + * sysdeps/i386/strlen.S: Likewise. + * sysdeps/i386/strpbrk.S: Likewise. + * sysdeps/i386/strrchr.S: Likewise. + * sysdeps/i386/strspn.S: Likewise. + * sysdeps/i386/strtok.S: Likewise. + * sysdeps/i386/sub_n.S: Likewise. + * sysdeps/i386/submul_1.S: Likewise. + * sysdeps/i386/i486/strcat.S: Likewise. + * sysdeps/i386/i486/strlen.S: Likewise. + * sysdeps/i386/i586/add_n.S: Likewise. + * sysdeps/i386/i586/addmul_1.S: Likewise. + * sysdeps/i386/i586/lshift.S: Likewise. + * sysdeps/i386/i586/memset.S: Likewise. + * sysdeps/i386/i586/mul_1.S: Likewise. + * sysdeps/i386/i586/rshift.S: Likewise. + * sysdeps/i386/i586/strchr.S: Likewise. + * sysdeps/i386/i586/strlen.S: Likewise. + * sysdeps/i386/i586/sub_n.S: Likewise. + * sysdeps/i386/i586/submul_1.S: Likewise. + + * time/africa: Updated from ADO tzdata1997e. + * time/antarctica: Likewise. + * time/asia: Likewise. + * time/australasia: Likewise. + * time/europe: Likewise. + * time/northamerica: Likewise. + * time/southamerica: Likewise. + * time/private.h: Updated from ADO tzcode1997d. + * time/scheck.c: Likewise. + +1997-03-31 02:28 Ulrich Drepper + + * inet/inet_ntoa.c (inet_ntoa): Complete rewrite. Now uses + thread-specific memory in multi-threaded programs. + + * sysdeps/unix/sysv/linux/netatalk/atalk.h: Rename to... + * sysdeps/unix/sysv/linux/netatalk/at.h: ...this. + Suggested by a sun . + +1997-03-30 14:53 Ulrich Drepper + + * sysdeps/unix/sysv/linux/netinet/ip_icmp.h: Add former contents + of . + Patch by a sun . + +1997-03-29 17:39 Ulrich Drepper + + * stdio-common/bug5.c: Clear LD_LIBRARY_PATH environment variable + before using system. + * stdio-common/test-popen.c: Clear LD_LIBRARY_PATH environment variable + before using popen. + +1997-03-27 02:28 Ulrich Drepper + + * inet/rexec.c: Make string parameters `const'. + * resolv/netdb.h: Add prototypes for rcmd, rexec, ruserok, and + rresvport. + + * posix/glob.h: Add declaration for glob_pattern_p. + * posix/glob.c: Rename glob_pattern_p to __glob_pattern_p and + make glob_pattern_p a weak alias. This function is used in other + packages (e.g. bash). + + * signal/Makefile (routines): Add sigisempty, sigandset, and + sigorset. + * signal/signal.h: Add prototypes for sigisempty, sigandset, and + sigorset. + * signal/sigisempty.c: New file. + * signal/sigandset.c: New file. + * signal/sigorset.c: New file. + * sysdeps/generic/sigset.h: Define __sigisemptyset, __sigandset, + and __sigorset. + * sysdeps/unix/sysv/linux/sigset.h: Likewise. + + * sysdeps/unix/sysv/linux/netinet/icmp.h: Remove since we have + ip_icmp.h. Reported by HJ Lu. + +1997-03-25 03:48 Andreas Schwab + + * grp/grp.h: Include only once. + +1997-03-20 17:56 Ulrich Drepper + + * version.h (VERSION): Bump to 2.0.3. + +1997-03-25 23:09 Andreas Schwab + + * Makerules (BUILD_CFLAGS): Fix reference to config file. + +1997-03-26 04:53 Ulrich Drepper + + * posix/glob.c (next_brace_sub): Decrement depth counter when '}' + is found. + Patch by Dennis Henriksen . + 1997-03-22 04:53 Ulrich Drepper * Net release 2.0.2. diff -durpN glibc-2.0.2/Make-dist glibc-2.0.3/Make-dist --- glibc-2.0.2/Make-dist Wed Mar 19 22:28:55 1997 +++ glibc-2.0.3/Make-dist Sat Apr 19 10:53:10 1997 @@ -118,8 +118,8 @@ foo:=$(shell echo '+out=$(+out)' >&2; ec $(+sysdeps) foo:=$(shell echo 'made +tsrcs=$(+tsrcs)'>&2) foo:=$(shell echo generated='$(generated)' >&2) -generated := $(sort $(generated) $(generated:.S=.c) $(generated:.s=.c)) -foo:=$(shell echo now generated='$(generated)' >&2) +#generated := $(sort $(generated) $(generated:.S=.c) $(generated:.s=.c)) +#foo:=$(shell echo now generated='$(generated)' >&2) +tsrcs := $(sort $(filter-out $(generated),$(+tsrcs))) foo:=$(shell echo '+tsrcs=$(+tsrcs)'>&2) foo:=$(shell echo foobie, dammit! >&2) diff -durpN glibc-2.0.2/Makeconfig glibc-2.0.3/Makeconfig --- glibc-2.0.2/Makeconfig Thu Mar 20 12:07:20 1997 +++ glibc-2.0.3/Makeconfig Thu Apr 17 15:50:01 1997 @@ -23,6 +23,8 @@ ifneq (,) This makefile requires GNU Make. endif +all: # Make this the default goal + ifneq "$(origin +included-Makeconfig)" "file" +included-Makeconfig := yes diff -durpN glibc-2.0.2/Makefile glibc-2.0.3/Makefile --- glibc-2.0.2/Makefile Fri Mar 21 16:25:50 1997 +++ glibc-2.0.3/Makefile Thu Apr 17 16:41:03 1997 @@ -303,6 +303,8 @@ makeinfo --no-validate --no-warn --no-he endef INSTALL: manual/maint.texi; $(format-me) NOTES: manual/creature.texi; $(format-me) +manual/dir-add.texi: + $(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F) rpm/%: subdir_distinfo $(MAKE) $(PARALLELMFLAGS) -C $(@D) subdirs='$(subdirs)' $(@F) diff -durpN glibc-2.0.2/Makerules glibc-2.0.3/Makerules --- glibc-2.0.2/Makerules Wed Mar 19 22:31:31 1997 +++ glibc-2.0.3/Makerules Sat Apr 5 19:49:13 1997 @@ -399,7 +399,7 @@ endif +depfiles := $(strip $(sources:.c=.d) \ $(patsubst %.o,%.d,$(filter %.o,$(extra-objs:.so=.o))) \ - $(addsuffix .d,$(others) $(tests) $(test-srcs))) + $(addsuffix .d,$(others) $(tests))) +depfiles := $(addprefix $(objpfx),\ $(filter-out $(addsuffix .d,$(omit-deps)),\ $(+depfiles))) @@ -807,7 +807,7 @@ $(BUILD_CC) $(BUILD_CFLAGS) $(<:$(common endef # We always want to use configuration definitions. -BUILD_CFLAGS = -include $(common-objpfx)config.h +BUILD_CFLAGS = -include $(..)config.h # Support the GNU standard name for this target. .PHONY: check diff -durpN glibc-2.0.2/README glibc-2.0.3/README --- glibc-2.0.2/README Tue Mar 18 22:15:57 1997 +++ glibc-2.0.3/README Fri Apr 18 11:37:53 1997 @@ -1,4 +1,4 @@ -This directory contains the version 2.0.2 test release of the GNU C Library. +This directory contains the version 2.0.3 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 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.2.tar.gz'. You can just unpack the crypt +called `glibc-crypt-2.0.3.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 -durpN glibc-2.0.2/config.guess glibc-2.0.3/config.guess --- glibc-2.0.2/config.guess Tue Jan 7 14:29:28 1997 +++ glibc-2.0.3/config.guess Sat Apr 12 06:17:19 1997 @@ -68,8 +68,20 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ echo m68k-cbm-netbsd${UNAME_RELEASE} exit 0 ;; amiga:OpenBSD:*:*) - echo m68k-cbm-openbsd${UNAME_RELEASE} - exit 0 ;; + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mips64el-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + laguna:OpenBSD:*:*) + echo mips64-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mips64el-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mips64el-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; @@ -118,19 +130,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ echo m68k-atari-netbsd${UNAME_RELEASE} exit 0 ;; atari*:OpenBSD:*:*) - echo m68k-atari-openbsd${UNAME_RELEASE} + echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sun3*:NetBSD:*:*) echo m68k-sun-netbsd${UNAME_RELEASE} exit 0 ;; sun3*:OpenBSD:*:*) - echo m68k-sun-openbsd${UNAME_RELEASE} + echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mac68k:NetBSD:*:*) echo m68k-apple-netbsd${UNAME_RELEASE} exit 0 ;; mac68k:OpenBSD:*:*) - echo m68k-apple-openbsd${UNAME_RELEASE} + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} @@ -378,8 +396,8 @@ EOF hp3[0-9][05]:NetBSD:*:*) echo m68k-hp-netbsd${UNAME_RELEASE} exit 0 ;; - hp3[0-9][05]:OpenBSD:*:*) - echo m68k-hp-openbsd${UNAME_RELEASE} + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; i?86:BSD/386:*:* | *:BSD/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} diff -durpN glibc-2.0.2/configure glibc-2.0.3/configure --- glibc-2.0.2/configure Sun Jan 26 00:33:35 1997 +++ glibc-2.0.3/configure Fri Apr 4 17:34:29 1997 @@ -1110,34 +1110,39 @@ done test -n "$MSGFMT" || MSGFMT=":" -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:1115: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`$ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -if test $host != $build; then - ac_tool_prefix=${host_alias}- +# Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1117: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - ac_tool_prefix= + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 fi -# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1141: checking for $ac_word" >&5 +echo "configure:1146: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1145,15 +1150,33 @@ else ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + ac_prog_rejected=no for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" + if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" break fi done IFS="$ac_save_ifs" - test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="gcc" +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# -gt 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + set dummy "$ac_dir/$ac_word" "$@" + shift + ac_cv_prog_CC="$@" + fi +fi fi fi CC="$ac_cv_prog_CC" @@ -1163,13 +1186,125 @@ else echo "$ac_t""no" 1>&6 fi + test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } +fi + +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +echo "configure:1194: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then + ac_cv_prog_cc_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then + ac_cv_prog_cc_cross=no + else + ac_cv_prog_cc_cross=yes + fi +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_cv_prog_cc_works=no +fi +rm -fr conftest* + +echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 +if test $ac_cv_prog_cc_works = no; then + { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } +fi +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +echo "configure:1228: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 +cross_compiling=$ac_cv_prog_cc_cross + +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 +echo "configure:1233: checking whether we are using GNU C" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes +else + ac_cv_prog_gcc=no +fi +fi + +echo "$ac_t""$ac_cv_prog_gcc" 1>&6 + +if test $ac_cv_prog_gcc = yes; then + GCC=yes + ac_test_CFLAGS="${CFLAGS+set}" + ac_save_CFLAGS="$CFLAGS" + CFLAGS= + echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 +echo "configure:1257: checking whether ${CC-cc} accepts -g" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_cc_g=yes +else + ac_cv_prog_cc_g=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 + if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" + elif test $ac_cv_prog_cc_g = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-O2" + fi +else + GCC= + test "${CFLAGS+set}" = set || CFLAGS="-g" +fi + +echo $ac_n "checking build system type""... $ac_c" 1>&6 +echo "configure:1285: checking build system type" >&5 + +build_alias=$build +case "$build_alias" in +NONE) + case $nonopt in + NONE) build_alias=$host_alias ;; + *) build_alias=$nonopt ;; + esac ;; +esac +build=`$ac_config_sub $build_alias` +build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo "$ac_t""$build" 1>&6 if test $host != $build; then - # Extract the first word of "gcc cc", so it can be a program name with args. -set dummy gcc cc; ac_word=$2 + for ac_prog in gcc cc +do +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1173: checking for $ac_word" >&5 +echo "configure:1308: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1180,7 +1315,7 @@ else for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_BUILD_CC="" + ac_cv_prog_BUILD_CC="$ac_prog" break fi done @@ -1194,9 +1329,12 @@ else echo "$ac_t""no" 1>&6 fi +test -n "$BUILD_CC" && break +done + fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1200: checking how to run the C preprocessor" >&5 +echo "configure:1338: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1211,13 +1349,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1221: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1359: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1228,13 +1366,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1238: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1376: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1256,10 +1394,16 @@ else fi echo "$ac_t""$CPP" 1>&6 +if test $host != $build; then + ac_tool_prefix=${host_alias}- +else + ac_tool_prefix= +fi + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1263: checking for $ac_word" >&5 +echo "configure:1407: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1290,7 +1434,7 @@ fi # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1294: checking for $ac_word" >&5 +echo "configure:1438: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1321,7 +1465,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1325: checking for $ac_word" >&5 +echo "configure:1469: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1356,7 +1500,7 @@ fi # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1360: checking for $ac_word" >&5 +echo "configure:1504: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1397,7 +1541,7 @@ if test "$BASH" = no; then # Extract the first word of "ksh", so it can be a program name with args. set dummy ksh; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1401: checking for $ac_word" >&5 +echo "configure:1545: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1439,7 +1583,7 @@ fi echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6 -echo "configure:1443: checking for signed size_t type" >&5 +echo "configure:1587: checking for signed size_t type" >&5 if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1463,12 +1607,12 @@ EOF fi echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6 -echo "configure:1467: checking for libc-friendly stddef.h" >&5 +echo "configure:1611: checking for libc-friendly stddef.h" >&5 if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_friendly_stddef=yes else @@ -1502,7 +1646,7 @@ override stddef.h = # The installed &6 -echo "configure:1506: checking whether we need to use -P to assemble .S files" >&5 +echo "configure:1650: checking whether we need to use -P to assemble .S files" >&5 if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1525,7 +1669,7 @@ asm-CPPFLAGS = -P # The assembler can't fi echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6 -echo "configure:1529: checking for assembler global-symbol directive" >&5 +echo "configure:1673: checking for assembler global-symbol directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1555,7 +1699,7 @@ EOF fi echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6 -echo "configure:1559: checking for .set assembler directive" >&5 +echo "configure:1703: checking for .set assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1590,7 +1734,7 @@ fi if test $elf = yes; then echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6 -echo "configure:1594: checking for .previous assembler directive" >&5 +echo "configure:1738: checking for .previous assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1598,7 +1742,7 @@ else .section foo_section .previous EOF - if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1602: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1746: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_asm_previous_directive=yes else libc_cv_asm_previous_directive=no @@ -1614,7 +1758,7 @@ EOF else echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6 -echo "configure:1618: checking for .popsection assembler directive" >&5 +echo "configure:1762: checking for .popsection assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1622,7 +1766,7 @@ else .pushsection foo_section .popsection EOF - if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1626: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1770: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_asm_popsection_directive=yes else libc_cv_asm_popsection_directive=no @@ -1642,12 +1786,12 @@ fi if test $elf != yes; then echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6 -echo "configure:1646: checking for .init and .fini sections" >&5 +echo "configure:1790: checking for .init and .fini sections" >&5 if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1804: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_have_initfini=yes else @@ -1681,19 +1825,19 @@ if test $elf = yes; then libc_cv_asm_underscores=no else echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6 -echo "configure:1685: checking for _ prefix on C symbol names" >&5 +echo "configure:1829: checking for _ prefix on C symbol names" >&5 if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* libc_cv_asm_underscores=yes else @@ -1720,7 +1864,7 @@ if test $elf = yes; then libc_cv_asm_weakext_directive=no else echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6 -echo "configure:1724: checking for assembler .weak directive" >&5 +echo "configure:1868: checking for assembler .weak directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1743,7 +1887,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive if test $libc_cv_asm_weak_directive = no; then echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6 -echo "configure:1747: checking for assembler .weakext directive" >&5 +echo "configure:1891: checking for assembler .weakext directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1780,7 +1924,7 @@ EOF fi echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6 -echo "configure:1784: checking for ld --no-whole-archive" >&5 +echo "configure:1928: checking for ld --no-whole-archive" >&5 if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1791,7 +1935,7 @@ __throw () {} EOF if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles -Wl,--no-whole-archive - -o conftest conftest.c'; { (eval echo configure:1795: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c'; { (eval echo configure:1939: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_ld_no_whole_archive=yes else libc_cv_ld_no_whole_archive=no @@ -1802,7 +1946,7 @@ fi echo "$ac_t""$libc_cv_ld_no_whole_archive" 1>&6 echo $ac_n "checking for gcc -fno-exceptions""... $ac_c" 1>&6 -echo "configure:1806: checking for gcc -fno-exceptions" >&5 +echo "configure:1950: checking for gcc -fno-exceptions" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_no_exceptions'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1813,7 +1957,7 @@ __throw () {} EOF if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles -fno-exceptions - -o conftest conftest.c'; { (eval echo configure:1817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c'; { (eval echo configure:1961: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_no_exceptions=yes else libc_cv_gcc_no_exceptions=no @@ -1865,7 +2009,7 @@ if test "$uname" = generic; then fi echo $ac_n "checking OS release for uname""... $ac_c" 1>&6 -echo "configure:1869: checking OS release for uname" >&5 +echo "configure:2013: checking OS release for uname" >&5 if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1887,7 +2031,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>& uname_release="$libc_cv_uname_release" echo $ac_n "checking OS version for uname""... $ac_c" 1>&6 -echo "configure:1891: checking OS version for uname" >&5 +echo "configure:2035: checking OS version for uname" >&5 if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1909,7 +2053,7 @@ else fi echo $ac_n "checking stdio selection""... $ac_c" 1>&6 -echo "configure:1913: checking stdio selection" >&5 +echo "configure:2057: checking stdio selection" >&5 case $stdio in libio) cat >> confdefs.h <<\EOF @@ -1993,7 +2137,7 @@ EOF # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in + case `(ac_space=' '; set) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote substitution # turns \\\\ into \\, and sed turns \\ into \). @@ -2113,12 +2257,12 @@ s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g s%@INSTALL_DATA@%$INSTALL_DATA%g s%@LN_S@%$LN_S%g s%@MSGFMT@%$MSGFMT%g +s%@CC@%$CC%g s%@build@%$build%g s%@build_alias@%$build_alias%g s%@build_cpu@%$build_cpu%g s%@build_vendor@%$build_vendor%g s%@build_os@%$build_os%g -s%@CC@%$CC%g s%@BUILD_CC@%$BUILD_CC%g s%@CPP@%$CPP%g s%@AR@%$AR%g diff -durpN glibc-2.0.2/configure.in glibc-2.0.3/configure.in --- glibc-2.0.2/configure.in Sun Jan 26 00:25:03 1997 +++ glibc-2.0.3/configure.in Fri Apr 4 14:19:32 1997 @@ -356,9 +356,10 @@ fi AC_PROG_LN_S AC_CHECK_PROGS(MSGFMT, msgfmt gmsgfmt, :) -AC_CHECK_TOOL(CC, gcc) +AC_PROG_CC +AC_CANONICAL_BUILD if test $host != $build; then - AC_CHECK_PROG(BUILD_CC, gcc cc) + AC_CHECK_PROGS(BUILD_CC, gcc cc) fi AC_PROG_CPP AC_CHECK_TOOL(AR, ar) diff -durpN glibc-2.0.2/csu/Makefile glibc-2.0.3/csu/Makefile --- glibc-2.0.2/csu/Makefile Thu Dec 19 20:31:48 1996 +++ glibc-2.0.3/csu/Makefile Sat Apr 19 10:35:23 1997 @@ -1,6 +1,6 @@ # Makefile for csu code for GNU C library. -# 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. # The GNU C Library is free software; you can redistribute it and/or @@ -36,7 +36,7 @@ omit-deps = $(patsubst %.o,%,$(start-ins $(csu-dummies)) install-lib = $(start-installed-name) g$(start-installed-name) \ $(csu-dummies) -distribute = initfini.c gmon-start.c start.c +distribute = initfini.c gmon-start.c start.c defs.awk all: # Make this the default target; it will be defined in Rules. @@ -56,7 +56,7 @@ have-initfini = yes endif -ifeq (yes,$(have-initfini)) +ifeq ($(have-initfini),yes) CPPFLAGS += -DHAVE_INITFINI @@ -67,27 +67,29 @@ crtstuff = crti crtn install-lib += $(crtstuff:=.o) extra-objs += $(crtstuff:=.o) -generated += $(crtstuff:=.s) +generated += $(crtstuff:=.S) initfini.s align.h end.h omit-deps += $(crtstuff) -# Compile initfini.c to assembly code, which contains embedded shell -# commands that produce crti.s-new and crtn.s-new when run. We need to -# disable emission of .size directives and debugging information, since -# they will get confused by the splitting of the output we do. -$(objpfx)cr%i.s $(objpfx)cr%n.s: initfini.c; $(initfini) +# Special rules for the building of crti.o and crtn.o +$(objpfx)crt%.o: $(objpfx)crt%.S $(objpfx)defs.h + $(CC) -c -fPIC -g0 -I$(..) -I$(common-objpfx) -DASSEMBLER $< -o $@ -define initfini --rm -f $(objpfx)crtcommon.tmp -(echo 'cat > crtcommon.tmp <<\EOF_common'; \ - $(CC) $< $(CPPFLAGS) $(CFLAGS) \ - -fPIC -finhibit-size-directive $(no-exceptions) -g0 -S -o -; \ - echo 'EOF_common') | (cd $(@D); $(SHELL)) -cat $(objpfx)crtcommon.tmp >> $(objpfx)crti.s-new -cat $(objpfx)crtcommon.tmp >> $(objpfx)crtn.s-new -rm -f $(objpfx)crtcommon.tmp -mv -f $(objpfx)crti.s-new $(subst crtn,crti,$@) -mv -f $(objpfx)crtn.s-new $(subst crti,crtn,$@) -endef +$(objpfx)initfini.s: initfini.c + $(CC) -S -fPIC -finhibit-size-directive $(no-exceptions) $< -o $@ + +$(objpfx)crti.S: $(objpfx)initfini.s + sed -n -e '1,/@HEADER_ENDS/p' \ + -e '/@_.*_PROLOG_BEGINS/,/@_.*_PROLOG_ENDS/p' \ + -e '/@TRAILER_BEGINS/,$$p' $< > $@ + +$(objpfx)crtn.S: $(objpfx)initfini.s + sed -n -e '1,/@HEADER_ENDS/p' \ + -e '/@_.*_EPILOG_BEGINS/,/@_.*_EPILOG_ENDS/p' \ + -e '/@TRAILER_BEGINS/,$$p' $< > $@ + +$(objpfx)defs.h: $(objpfx)initfini.s + sed -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \ + awk -f defs.awk > $@ endif diff -durpN glibc-2.0.2/csu/defs.awk glibc-2.0.3/csu/defs.awk --- glibc-2.0.2/csu/defs.awk Wed Dec 31 19:00:00 1969 +++ glibc-2.0.3/csu/defs.awk Thu Apr 17 20:06:55 1997 @@ -0,0 +1,22 @@ +/.end/ { need_end = 1 } +/.align/ { if($2 > max) max = $2; } + +END { + if(need_end) + { + print "#define END_INIT .end _init"; + print "#define END_FINI .end _fini"; + } + else + { + print "#define END_INIT"; + print "#define END_FINI"; + } + if(max) + print "#define ALIGN .align", max; + else + print "#define ALIGN"; + + print "#include "; + print "weak_extern (__gmon_start__)"; +} diff -durpN glibc-2.0.2/csu/initfini.c glibc-2.0.3/csu/initfini.c --- glibc-2.0.2/csu/initfini.c Thu Dec 19 20:31:49 1996 +++ glibc-2.0.3/csu/initfini.c Sun Apr 20 05:22:20 1997 @@ -1,5 +1,5 @@ /* Special .init and .fini section support. - 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. The GNU C Library is free software; you can redistribute it @@ -26,68 +26,40 @@ write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* This file is compiled into assembly code which is then surrounded by the - lines `cat > crtcommon.tmp <<\EOF_common' and `EOF_common' and thus - becomes a shell script which creates three files of assembly code. +/* This file is compiled into assembly code which is then munged by a sed + script into two files: crti.s and crtn.s. - * The first file is crti.s-new; this puts a function prologue at the - beginning of the .init and .fini sections and defines global symbols for + * crti.s puts a function prologue at the beginning of the + .init and .fini sections and defines global symbols for those addresses, so they can be called as functions. - * The second file is crtn.s-new; this puts the corresponding function - epilogues in the .init and .fini sections. - - * The third file is crtcommon.tmp, which is whatever miscellaneous cruft - the compiler generated at the end; it should be appended to both crti.s-new - and crtn.s-new. */ + * crtn.s puts the corresponding function epilogues + in the .init and .fini sections. */ #include +/* We use embedded asm for .section unconditionally, as this makes it + easier to insert the necessary directives into crtn.S. */ +#define SECTION(x) asm (".section \"" x "\""); -#ifdef HAVE_ELF -/* These declarations make the functions go in the right sections when - we define them below. GCC syntax does not allow the attribute - specifications to be in the function definitions themselves. */ -void _init (void) __attribute__ ((section (".init"))); -void _fini (void) __attribute__ ((section (".fini"))); - -#define SECTION(x) /* Put nothing extra before the defn. */ - -#else -/* Some non-ELF systems support .init and .fini sections, - but the __attribute__ syntax only works for ELF. */ -#define SECTION(x) asm (".section " x); -#endif - -/* End the here document containing the initial common code. - Then move the output file crtcommon.tmp to crti.s-new and crtn.s-new. */ -asm ("\nEOF_common\n\ -rm -f crti.s-new crtn.s-new\n\ -mv crtcommon.tmp crti.s-new\n\ -cp crti.s-new crtn.s-new"); +/* Embed an #include to pull in the alignment and .end directives. */ +asm ("\n#include \"defs.h\""); -/* Extract a `.end' if one is produced by the compiler. */ -asm ("fgrep .end >/dev/null 2>&1 <<\\EOF.end && need_end=yes"); -void -useless_function (void) -{ - return; -} -asm ("\nEOF.end\n"); +/* The initial common code ends here. */ +asm ("\n/*@HEADER_ENDS*/"); -/* Find out how much alignment is produced by the compiler. */ -asm ("align=`awk '$1==\".align\" { if ($2>max) max=$2; } END { print max; }' \ -<<\\EOF.align"); +/* To determine whether we need .end and .align: */ +asm ("\n/*@TESTS_BEGIN*/"); void -useless_function2 (void (*foo) (void)) +dummy (void (*foo) (void)) { if (foo) (*foo) (); } -asm ("\nEOF.align\n`\n"); +asm ("\n/*@TESTS_END*/"); -/* Append the .init prologue to crti.s-new. */ -asm ("cat >> crti.s-new <<\\EOF.crti.init"); +/* The beginning of _init: */ +asm ("\n/*@_init_PROLOG_BEGINS*/"); SECTION (".init") void @@ -99,38 +71,33 @@ _init (void) gcrt1.o to reference a symbol which would be defined by some library module which has a constructor; but then user code's constructors would come first, and not be profiled. */ - extern void __gmon_start__ (void); weak_extern (__gmon_start__) + extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/ + if (__gmon_start__) __gmon_start__ (); - /* End the here document containing the .init prologue code. - Then fetch the .section directive just written and append that - to crtn.s-new, followed by the function epilogue. */ - asm ("\n\ -EOF.crti.init\n\ - test -n \"$align\" && echo .align $align >> crti.s-new\n\ - test -n \"$need_end\" && echo .end _init >> crti.s-new\n\ - fgrep .init crti.s-new >>crtn.s-new\n\ - fgrep -v .end >> crtn.s-new <<\\EOF.crtn.init"); + asm ("ALIGN"); + asm("END_INIT"); + /* Now the epilog. */ + asm ("\n/*@_init_PROLOG_ENDS*/"); + asm ("\n/*@_init_EPILOG_BEGINS*/"); + SECTION(".init"); } +asm ("END_INIT"); -/* End the here document containing the .init epilogue code. - Then append the .fini prologue to crti.s-new. */ -asm ("\nEOF.crtn.init\ -\n\ -cat >> crti.s-new <<\\EOF.crti.fini"); +/* End of the _init epilog, beginning of the _fini prolog. */ +asm ("\n/*@_init_EPILOG_ENDS*/"); +asm ("\n/*@_fini_PROLOG_BEGINS*/"); SECTION (".fini") void _fini (void) { - /* End the here document containing the .fini prologue code. - Then fetch the .section directive just written and append that - to crtn.s-new, followed by the function epilogue. */ - asm ("\nEOF.crti.fini\n\ -test -n \"$align\" && echo .align $align >> crti.s-new\n\ -test -n \"$need_end\" && echo .end _fini >> crti.s-new\n\ -cat > /dev/null <<\\EOF.fini.skip"); + + /* End of the _fini prolog. */ + asm ("ALIGN"); + asm ("END_FINI"); + asm ("\n/*@_fini_PROLOG_ENDS*/"); { /* Let GCC know that _fini is not a leaf function by having a dummy @@ -140,14 +107,15 @@ cat > /dev/null <<\\EOF.fini.skip"); i_am_not_a_leaf (); } - asm ("\nEOF.fini.skip\ -\n\ - fgrep .fini crti.s-new >>crtn.s-new\n\ - fgrep -v .end >> crtn.s-new <<\\EOF.crtn.fini"); + /* Beginning of the _fini epilog. */ + asm ("\n/*@_fini_EPILOG_BEGINS*/"); + SECTION (".fini"); } +asm ("END_FINI"); -/* End the here document containing the .fini epilogue code. - Finally, put the remainder of the generated assembly into crtcommon.tmp. */ -asm ("\nEOF.crtn.fini\ -\n\ -cat > crtcommon.tmp <<\\EOF_common"); +/* End of the _fini epilog. Any further generated assembly (e.g. .ident) + is shared between both crt files. */ +asm ("\n/*@_fini_EPILOG_ENDS*/"); +asm ("\n/*@TRAILER_BEGINS*/"); + +/* End of file. */ diff -durpN glibc-2.0.2/gmon/gmon.c glibc-2.0.3/gmon/gmon.c --- glibc-2.0.2/gmon/gmon.c Fri Mar 21 09:07:04 1997 +++ glibc-2.0.3/gmon/gmon.c Sun Mar 23 14:19:10 1997 @@ -195,16 +195,23 @@ write_call_graph (fd) int fd; { u_char tag = GMON_TAG_CG_ARC; - struct gmon_cg_arc_record raw_arc + struct gmon_cg_arc_record raw_arc[4] __attribute__ ((aligned (__alignof__ (char*)))); int from_index, to_index, from_len; u_long frompc; - struct iovec iov[2] = + struct iovec iov[8] = { { &tag, sizeof (tag) }, - { &raw_arc, sizeof (struct gmon_cg_arc_record) } + { &raw_arc[0], sizeof (struct gmon_cg_arc_record) }, + { &tag, sizeof (tag) }, + { &raw_arc[1], sizeof (struct gmon_cg_arc_record) }, + { &tag, sizeof (tag) }, + { &raw_arc[2], sizeof (struct gmon_cg_arc_record) }, + { &tag, sizeof (tag) }, + { &raw_arc[3], sizeof (struct gmon_cg_arc_record) }, }; + int nfilled = 0; from_len = _gmonparam.fromssize / sizeof (*_gmonparam.froms); for (from_index = 0; from_index < from_len; ++from_index) @@ -219,13 +226,19 @@ write_call_graph (fd) to_index != 0; to_index = _gmonparam.tos[to_index].link) { - *(char **) raw_arc.from_pc = (char *)frompc; - *(char **) raw_arc.self_pc = (char *)_gmonparam.tos[to_index].selfpc; - *(int *) raw_arc.count = _gmonparam.tos[to_index].count; - - __writev (fd, iov, 2); + if (nfilled > 3) + { + __writev (fd, iov, 2 * nfilled); + nfilled = 0; + } + *(char **) raw_arc[nfilled].from_pc = (char *)frompc; + *(char **) raw_arc[nfilled].self_pc = + (char *)_gmonparam.tos[to_index].selfpc; + *(int *) raw_arc[nfilled].count = _gmonparam.tos[to_index].count; + ++nfilled; } } + __writev (fd, iov, 2 * nfilled); } @@ -243,25 +256,36 @@ write_bb_counts (fd) { &tag, sizeof (tag) }, { &ncounts, sizeof (ncounts) } }; - struct iovec bbbody[2]; + struct iovec bbbody[8]; + int nfilled; - bbbody[0].iov_len = sizeof (grp->addresses[0]); - bbbody[1].iov_len = sizeof (grp->addresses[0]); + for (i = 0; i < (sizeof (bbbody) / sizeof (bbbody[0])); i += 2) + { + bbbody[i].iov_len = sizeof (grp->addresses[0]); + bbbody[i + 1].iov_len = sizeof (grp->counts[0]); + } /* Write each group of basic-block info (all basic-blocks in a compilation unit form a single group). */ + nfilled = 0; for (grp = __bb_head; grp; grp = grp->next) { ncounts = grp->ncounts; __writev (fd, bbhead, 2); for (i = 0; i < ncounts; ++i) { - bbbody[0].iov_base = (char *) &grp->addresses[i]; - bbbody[1].iov_base = &grp->counts[i]; - __writev (fd, bbbody, 2); + if (nfilled > (sizeof (bbbody) / sizeof (bbbody[0])) - 2) + { + __writev (fd, bbbody, nfilled); + nfilled = 0; + } + + bbbody[nfilled++].iov_base = (char *) &grp->addresses[i]; + bbbody[nfilled++].iov_base = &grp->counts[i]; } } + __writev (fd, bbbody, nfilled); } diff -durpN glibc-2.0.2/grp/fgetgrent.c glibc-2.0.3/grp/fgetgrent.c --- glibc-2.0.2/grp/fgetgrent.c Wed Oct 30 21:51:02 1996 +++ glibc-2.0.3/grp/fgetgrent.c Fri Apr 4 14:58:23 1997 @@ -1,35 +1,75 @@ -/* Copyright (C) 1991, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. +/* Copyright (C) 1991, 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 -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ +#include #include -#include +#include +#include +/* We need to protect the dynamic buffer handling. */ +__libc_lock_define_initialized (static, lock); + /* Read one entry from the given stream. */ struct group * fgetgrent (FILE *stream) { - static char buffer[BUFSIZ]; + static char *buffer; + static size_t buffer_size; static struct group resbuf; struct group *result; + int save; - if (__fgetgrent_r (stream, &resbuf, buffer, sizeof buffer, &result) != 0) - return NULL; + /* Get lock. */ + __libc_lock_lock (lock); + + /* Allocate buffer if not yet available. */ + if (buffer == NULL) + { + buffer_size = NSS_BUFLEN_GROUP; + buffer = malloc (buffer_size); + } + + while (buffer != NULL + && __fgetgrent_r (stream, &resbuf, buffer, buffer_size, &result) != 0 + && errno == ERANGE) + { + char *new_buf; + buffer_size += NSS_BUFLEN_GROUP; + new_buf = realloc (buffer, buffer_size); + if (new_buf == NULL) + { + /* We are out of memory. Free the current buffer so that the + process gets a chance for a normal termination. */ + save = errno; + free (buffer); + __set_errno (save); + } + buffer = new_buf; + } + + if (buffer == NULL) + result = NULL; + + /* Release lock. Preserve error value. */ + save = errno; + __libc_lock_unlock (lock); + __set_errno (save); return result; } diff -durpN glibc-2.0.2/grp/fgetgrent_r.c glibc-2.0.3/grp/fgetgrent_r.c --- glibc-2.0.2/grp/fgetgrent_r.c Sat Nov 9 21:20:40 1996 +++ glibc-2.0.3/grp/fgetgrent_r.c Fri Apr 4 15:01:35 1997 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1991, 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 @@ -56,6 +56,7 @@ __fgetgrent_r (FILE *stream, struct grou struct group **result) { char *p; + int parse_result; do { @@ -69,10 +70,18 @@ __fgetgrent_r (FILE *stream, struct grou /* Skip leading blanks. */ while (isspace (*p)) ++p; - } while (*p == '\0' || *p == '#' || /* Ignore empty and comment lines. */ + } while (*p == '\0' || *p == '#' /* Ignore empty and comment lines. */ /* Parse the line. If it is invalid, loop to get the next line of the file to parse. */ - ! parse_line (p, resbuf, (void *) buffer, buflen)); + || ! (parse_result = parse_line (p, resbuf, + (void *) buffer, buflen))); + + if (parse_result == -1) + { + /* The parser ran out of space. */ + *result = NULL; + return errno; + } *result = resbuf; return 0; diff -durpN glibc-2.0.2/grp/grp.h glibc-2.0.3/grp/grp.h --- glibc-2.0.2/grp/grp.h Wed Jan 29 23:08:18 1997 +++ glibc-2.0.3/grp/grp.h Fri Apr 4 10:23:01 1997 @@ -32,9 +32,6 @@ __BEGIN_DECLS #define __need_size_t #include -#define __need_size_t -#include - /* The group structure. */ struct group diff -durpN glibc-2.0.2/hurd/Makefile glibc-2.0.3/hurd/Makefile --- glibc-2.0.2/hurd/Makefile Wed Jan 22 23:22:58 1997 +++ glibc-2.0.3/hurd/Makefile Thu Apr 10 14:22:49 1997 @@ -73,7 +73,7 @@ include ../Rules # from $(subdirs), and this rule arranges for the headers in question # to get installed. sunrpc-headers = netdb.h pmap_prot.h xdr.h types.h auth.h \ - rpc_msg.h auth_unix.h + rpc_msg.h auth_unix.h clnt.h installed-sunrpc-headers = $(addprefix $(inst_includedir)/rpc/, \ $(sunrpc-headers)) install-headers-nosubdir: $(installed-sunrpc-headers) diff -durpN glibc-2.0.2/hurd/hurdauth.c glibc-2.0.3/hurd/hurdauth.c --- glibc-2.0.2/hurd/hurdauth.c Wed Jan 18 01:43:35 1995 +++ glibc-2.0.3/hurd/hurdauth.c Thu Apr 10 16:01:27 1997 @@ -1,20 +1,20 @@ -/* Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. -This file is part of the GNU C Library. +/* Copyright (C) 1991, 92, 93, 94, 95, 97 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 -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include #include @@ -40,7 +40,7 @@ _S_msg_add_auth (mach_port_t me, if (err = __USEPORT (AUTH, __auth_makeauth (port, - &addauth, 1, MACH_MSG_TYPE_MOVE_SEND, + &addauth, MACH_MSG_TYPE_MOVE_SEND, 1, NULL, 0, NULL, 0, NULL, 0, @@ -108,7 +108,7 @@ _S_msg_del_auth (mach_port_t me, err = __USEPORT (AUTH, __auth_makeauth (port, - NULL, 0, MACH_MSG_TYPE_COPY_SEND, + NULL, MACH_MSG_TYPE_COPY_SEND, 0, newu, nu, _hurd_id.aux.uids, _hurd_id.aux.nuids, newg, ng, diff -durpN glibc-2.0.2/inet/arpa/inet.h glibc-2.0.3/inet/arpa/inet.h --- glibc-2.0.2/inet/arpa/inet.h Sat Jan 18 23:52:44 1997 +++ glibc-2.0.3/inet/arpa/inet.h Thu Apr 17 16:12:26 1997 @@ -1,62 +1,95 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)inet.h 8.1 (Berkeley) 6/2/93 - */ +/* Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. -#ifndef _INET_H_ -#define _INET_H_ + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -/* External definitions for functions in inet(3) */ + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _ARPA_INET_H + +#define _ARPA_INET_H 1 +#include -#include #include #include /* To define `struct in_addr'. */ __BEGIN_DECLS -u_long inet_addr __P((const char *)); -int inet_aton __P((const char *, struct in_addr *)); -u_int32_t inet_lnaof __P((struct in_addr)); -struct in_addr inet_makeaddr __P((u_int32_t , u_int32_t)); -char * inet_neta __P((u_long, char *, size_t)); -u_int32_t inet_netof __P((struct in_addr)); -u_int32_t inet_network __P((const char *)); -char *inet_net_ntop __P((int, const void *, int, char *, size_t)); -int inet_net_pton __P((int, const char *, void *, size_t)); -char *inet_ntoa __P((struct in_addr)); -int inet_pton __P((int, const char *, void *)); -const char *inet_ntop __P((int, const void *, char *, size_t)); -u_int inet_nsap_addr __P((const char *, u_char *, int)); -char *inet_nsap_ntoa __P((int, const u_char *, char *)); + +/* Convert Internet host address from numbers-and-dots notation in CP + into binary data in network byte order. */ +extern unsigned long int inet_addr __P ((__const char *__cp)); + +/* Convert Internet host address from numbers-and-dots notation in CP + into binary data and store the result in the structure INP. */ +extern int inet_aton __P ((__const char *__cp, struct in_addr *__inp)); + +/* Return the local host address part of the Internet address in IN. */ +extern u_int32_t inet_lnaof __P ((struct in_addr __in)); + +/* Make Internet host address in network byte order by combining the + network number NET with the local address HOST. */ +extern struct in_addr inet_makeaddr __P ((u_int32_t __net, u_int32_t __host)); + +/* Format a network number NET into presentation format and place result + in buffer starting at BUF with length of LEN bytes. */ +extern char *inet_neta __P ((u_long __net, char *__buf, size_t __len)); + +/* Return network number part of the Internet address IN. */ +extern u_int32_t inet_netof __P ((struct in_addr __in)); + +/* Extract the network number in network byte order from the address + in numbers-and-dots natation starting at CP. */ +extern u_int32_t inet_network __P ((__const char *__cp)); + +/* Convert network number for interface type AF in buffer starting at + CP to presentation format. The result will specifiy BITS bits of + the number. */ +extern char *inet_net_ntop __P((int __af, __const void *__cp, int __bits, + char *__buf, size_t __len)); + +/* Convert network number for interface type AF from presentation in + buffer starting at CP to network format and store result int + buffer starting at BUF of size LEN. */ +extern int inet_net_pton __P ((int __af, __const char *__cp, + void *__buf, size_t __len)); + +/* Convert Internet number in IN to ASCII representation. The return value + is a pointer to an internal array containing the string. */ +extern char *inet_ntoa __P ((struct in_addr __in)); + +/* Convert from presentation format of an Internet number in buffer + starting at CP to the binary network format and store result for + interface type AF in buffer starting at BUF. */ +extern int inet_pton __P ((int __af, __const char *__cp, void *__buf)); + +/* Convert a Internet address in binary network format for interface + type AF in buffer starting at CP to presentation form and place + result in buffer of length LEN astarting at BUF. */ +extern __const char *inet_ntop __P ((int __af, __const void *__cp, + char *__buf, size_t __len)); + +/* Convert ASCII representation in hexadecimal form of the Internet + address to binary form and place result in buffer of length LEN + starting at BUF. */ +extern unsigned int inet_nsap_addr __P ((__const char *__cp, + unsigned char *__buf, int __len)); + +/* Convert internet address in binary form in LEN bytes starting at CP + a presentation form and place result in BUF. */ +extern char *inet_nsap_ntoa __P ((int __len, __const unsigned char *__cp, + char *__buf)); + __END_DECLS -#endif /* !_INET_H_ */ +#endif /* arpa/inet.h */ diff -durpN glibc-2.0.2/inet/rcmd.c glibc-2.0.3/inet/rcmd.c --- glibc-2.0.2/inet/rcmd.c Sun Mar 16 19:24:28 1997 +++ glibc-2.0.3/inet/rcmd.c Thu Apr 17 15:44:57 1997 @@ -338,7 +338,7 @@ again: * reading an NFS mounted file system, can't read files that * are protected read/write owner only. */ - if (__euidaccess (pbuf, R_OK) != 0) + if (__access (pbuf, R_OK) != 0) hostf = NULL; else { diff -durpN glibc-2.0.2/inet/rexec.c glibc-2.0.3/inet/rexec.c --- glibc-2.0.2/inet/rexec.c Sun Dec 29 20:46:05 1996 +++ glibc-2.0.3/inet/rexec.c Fri Apr 4 10:39:02 1997 @@ -53,7 +53,7 @@ int rexec(ahost, rport, name, pass, cmd, fd2p) char **ahost; int rport; - char *name, *pass, *cmd; + const char *name, *pass, *cmd; int *fd2p; { struct sockaddr_in sin, sin2, from; diff -durpN glibc-2.0.2/libio/fileops.c glibc-2.0.3/libio/fileops.c --- glibc-2.0.2/libio/fileops.c Wed Mar 5 16:16:09 1997 +++ glibc-2.0.3/libio/fileops.c Sat Apr 5 19:43:44 1997 @@ -317,6 +317,7 @@ DEFUN(_IO_file_overflow, (f, ch), { if (f->_flags & _IO_NO_WRITES) /* SET ERROR */ { + f->_flags |= _IO_ERR_SEEN; __set_errno (EBADF); return EOF; } diff -durpN glibc-2.0.2/libio/genops.c glibc-2.0.3/libio/genops.c --- glibc-2.0.2/libio/genops.c Wed Mar 5 16:13:42 1997 +++ glibc-2.0.3/libio/genops.c Thu Apr 17 16:16:13 1997 @@ -615,7 +615,7 @@ DEFUN_VOID(_IO_flush_all_linebuffered) { _IO_FILE *fp; for (fp = _IO_list_all; fp != NULL; fp = fp->_chain) - if (fp->_flags & _IO_LINE_BUF) + if ((fp->_flags & _IO_NO_WRITES) == 0 && fp->_flags & _IO_LINE_BUF) _IO_OVERFLOW (fp, EOF); } diff -durpN glibc-2.0.2/locale/setlocale.c glibc-2.0.3/locale/setlocale.c --- glibc-2.0.2/locale/setlocale.c Sun Dec 1 22:59:16 1996 +++ glibc-2.0.3/locale/setlocale.c Thu Apr 17 16:26:32 1997 @@ -1,20 +1,20 @@ -/* Copyright (C) 1991, 1992, 1995, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. +/* Copyright (C) 1991, 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 -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include #include @@ -49,6 +49,9 @@ static const struct locale_data * *const [category] = &_nl_current_##category, #include "categories.def" #undef DEFINE_CATEGORY + /* We need this additional element to simplify the code. It must + simply be != NULL. */ + [LC_ALL] = (const struct locale_data **) ~0ul }; /* Array indexed by category of pointers to _nl_C_CATEGORY slots. diff -durpN glibc-2.0.2/login/logwtmp.c glibc-2.0.3/login/logwtmp.c --- glibc-2.0.2/login/logwtmp.c Thu Dec 19 20:32:32 1996 +++ glibc-2.0.3/login/logwtmp.c Fri Apr 18 10:10:00 1997 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -25,38 +25,17 @@ #include void -logwtmp (const char *line, const char *name, const char *host) +updwtmp (const char *wtmp_file, const struct utmp *ut) { - struct utmp ut; struct stat st; size_t written; int fd; /* Open WTMP file. */ - fd = __open (_PATH_WTMP, O_WRONLY | O_APPEND); + fd = __open (wtmp_file, O_WRONLY | O_APPEND); if (fd < 0) return; - /* Set information in new entry. */ - memset (&ut, 0, sizeof (ut)); -#if _HAVE_UT_PID - 0 - ut.ut_pid = getpid (); -#endif -#if _HAVE_UT_TYPE - 0 - ut.ut_type = name[0] ? USER_PROCESS : DEAD_PROCESS; -#endif - strncpy (ut.ut_line, line, sizeof ut.ut_line); - strncpy (ut.ut_name, name, sizeof ut.ut_name); -#if _HAVE_UT_HOST - 0 - strncpy (ut.ut_host, host, sizeof ut.ut_host); -#endif - -#if _HAVE_UT_TV - 0 - __gettimeofday (&ut.ut_tv, NULL); -#else - time (&ut.ut_time); -#endif - /* Try to lock the file. */ if (__flock (fd, LOCK_EX | LOCK_NB) < 0 && errno != ENOSYS) { @@ -74,8 +53,8 @@ logwtmp (const char *line, const char *n /* Write the entry. If we can't write all the bytes, reset the file size back to the original size. That way, no partial entries will remain. */ - written = __write (fd, &ut, sizeof (ut)); - if (written > 0 && written != sizeof (ut)) + written = __write (fd, ut, sizeof (struct utmp)); + if (written > 0 && written != sizeof (struct utmp)) ftruncate (fd, st.st_size); done: @@ -84,4 +63,32 @@ done: /* Close WTMP file. */ __close (fd); +} + +void +logwtmp (const char *line, const char *name, const char *host) +{ + struct utmp ut; + + /* Set information in new entry. */ + memset (&ut, 0, sizeof (ut)); +#if _HAVE_UT_PID - 0 + ut.ut_pid = getpid (); +#endif +#if _HAVE_UT_TYPE - 0 + ut.ut_type = name[0] ? USER_PROCESS : DEAD_PROCESS; +#endif + strncpy (ut.ut_line, line, sizeof ut.ut_line); + strncpy (ut.ut_name, name, sizeof ut.ut_name); +#if _HAVE_UT_HOST - 0 + strncpy (ut.ut_host, host, sizeof ut.ut_host); +#endif + +#if _HAVE_UT_TV - 0 + __gettimeofday (&ut.ut_tv, NULL); +#else + time (&ut.ut_time); +#endif + + updwtmp(_PATH_WTMP, &ut); } diff -durpN glibc-2.0.2/login/utmp.h glibc-2.0.3/login/utmp.h --- glibc-2.0.2/login/utmp.h Mon Feb 17 23:07:38 1997 +++ glibc-2.0.3/login/utmp.h Fri Apr 18 09:51:55 1997 @@ -48,6 +48,10 @@ extern void login __P ((__const struct u /* Write the utmp entry to say the user on UT_LINE has logged out. */ extern int logout __P ((__const char *__ut_line)); +/* Append the given entry to a wtmp file. */ +extern void updwtmp __P ((__const char *__wtmp_file, + __const struct utmp *__entry)); + /* Append to wtmp an entry for the current time and the given info. */ extern void logwtmp __P ((__const char *__ut_line, __const char *__ut_name, __const char *__ut_host)); diff -durpN glibc-2.0.2/login/utmp_file.c glibc-2.0.3/login/utmp_file.c --- glibc-2.0.2/login/utmp_file.c Sun Dec 15 20:40:01 1996 +++ glibc-2.0.3/login/utmp_file.c Thu Apr 17 15:37:30 1997 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper and Paul Janzen , 1996. @@ -87,8 +87,10 @@ setutent_file (int reset) } file_offset = 0; +#if _HAVE_UT_TYPE - 0 /* Make sure the entry won't match. */ last_entry.ut_type = -1; +#endif } else if (reset) { @@ -97,8 +99,10 @@ setutent_file (int reset) /* Remember we are at beginning of file. */ file_offset = 0; +#if _HAVE_UT_TYPE - 0 /* Make sure the entry won't match. */ last_entry.ut_type = -1; +#endif } return 1; @@ -210,8 +214,36 @@ getutline_r_file (const struct utmp *lin static int -internal_getutid_r (const struct utmp *id, struct utmp *buffer) +proc_utmp_eq (const struct utmp *entry, const struct utmp *match) +{ + return + ( +#if _HAVE_UT_TYPE - 0 + (entry->ut_type == INIT_PROCESS + || entry->ut_type == LOGIN_PROCESS + || entry->ut_type == USER_PROCESS + || entry->ut_type == DEAD_PROCESS) + && + (match->ut_type == INIT_PROCESS + || match->ut_type == LOGIN_PROCESS + || match->ut_type == USER_PROCESS + || match->ut_type == DEAD_PROCESS) + && +#endif +#if _HAVE_UT_ID - 0 + (entry->ut_id[0] && match->ut_id[0] + ? strncmp (entry->ut_id, match->ut_id, sizeof match->ut_id) == 0 + : strncmp (entry->ut_line, match->ut_line, sizeof match->ut_line) == 0) +#else + strncmp (entry->ut_line, match->ut_line, sizeof match->ut_line) == 0 +#endif + ); +} + +static int +internal_getut_r (const struct utmp *id, struct utmp *buffer) { +#if _HAVE_UT_TYPE - 0 if (id->ut_type == RUN_LVL || id->ut_type == BOOT_TIME || id->ut_type == OLD_TIME || id->ut_type == NEW_TIME) { @@ -235,6 +267,7 @@ internal_getutid_r (const struct utmp *i } } else +#endif /* _HAVE_UT_TYPE */ { /* Search for the next entry with the specified ID and with type INIT_PROCESS, LOGIN_PROCESS, USER_PROCESS, or DEAD_PROCESS. */ @@ -251,11 +284,7 @@ internal_getutid_r (const struct utmp *i } file_offset += sizeof (struct utmp); - if (( buffer->ut_type == INIT_PROCESS - || buffer->ut_type == LOGIN_PROCESS - || buffer->ut_type == USER_PROCESS - || buffer->ut_type == DEAD_PROCESS) - && strncmp (buffer->ut_id, id->ut_id, sizeof id->ut_id) == 0) + if (proc_utmp_eq (buffer, id)) break; } } @@ -276,7 +305,7 @@ getutid_r_file (const struct utmp *id, s return -1; } - if (internal_getutid_r (id, &last_entry) < 0) + if (internal_getut_r (id, &last_entry) < 0) { *result = NULL; return -1; @@ -306,21 +335,20 @@ pututline_file (const struct utmp *data) setutent_file (0); /* Find the correct place to insert the data. */ - if (file_offset > 0) - found = 0; + if (file_offset > 0 + && ( +#if _HAVE_UT_TYPE - 0 + (last_entry.ut_type == data->ut_type + && (last_entry.ut_type == RUN_LVL + || last_entry.ut_type == BOOT_TIME + || last_entry.ut_type == OLD_TIME + || last_entry.ut_type == NEW_TIME)) + || +#endif + proc_utmp_eq (&last_entry, data))) + found = 1; else - if ( last_entry.ut_type == RUN_LVL - || last_entry.ut_type == BOOT_TIME - || last_entry.ut_type == OLD_TIME - || last_entry.ut_type == NEW_TIME - || (( last_entry.ut_type == INIT_PROCESS - || last_entry.ut_type == LOGIN_PROCESS - || last_entry.ut_type == USER_PROCESS - || last_entry.ut_type == DEAD_PROCESS) - && !strncmp (last_entry.ut_id, data->ut_id, sizeof data->ut_id))) - found = 1; - else - found = internal_getutid_r (data, &buffer); + found = internal_getut_r (data, &buffer); /* Try to lock the file. */ memset (&fl, '\0', sizeof (struct flock)); diff -durpN glibc-2.0.2/malloc/malloc.c glibc-2.0.3/malloc/malloc.c --- glibc-2.0.2/malloc/malloc.c Sun Mar 16 18:31:16 1997 +++ glibc-2.0.3/malloc/malloc.c Mon Apr 14 10:31:49 1997 @@ -1801,11 +1801,16 @@ new_heap(size) size_t size; unsigned long ul; heap_info *h; - if(size < HEAP_MIN_SIZE) + if(size+top_pad < HEAP_MIN_SIZE) size = HEAP_MIN_SIZE; - size = (size + page_mask) & ~page_mask; - if(size > HEAP_MAX_SIZE) + else if(size+top_pad <= HEAP_MAX_SIZE) + size += top_pad; + else if(size > HEAP_MAX_SIZE) return 0; + else + size = HEAP_MAX_SIZE; + size = (size + page_mask) & ~page_mask; + p1 = (char *)MMAP(HEAP_MAX_SIZE<<1, PROT_NONE); if(p1 == (char *)-1) return 0; @@ -2228,9 +2233,11 @@ static void malloc_extend_top(ar_ptr, nb (brk < old_end && old_top != initial_top(&main_arena))) return; +#if defined(_LIBC) || defined(MALLOC_HOOKS) /* Call the `morecore' hook if necessary. */ if (__after_morecore_hook) (*__after_morecore_hook) (); +#endif sbrked_mem += sbrk_size; @@ -2260,9 +2267,11 @@ static void malloc_extend_top(ar_ptr, nb new_brk = (char*)(MORECORE (correction)); if (new_brk == (char*)(MORECORE_FAILURE)) return; +#if defined(_LIBC) || defined(MALLOC_HOOKS) /* Call the `morecore' hook if necessary. */ if (__after_morecore_hook) - (*__after_morecore_hook) (); + (*__after_morecore_hook) (); +#endif sbrked_mem += correction; @@ -2303,7 +2312,7 @@ static void malloc_extend_top(ar_ptr, nb } /* A new heap must be created. */ - heap = new_heap(nb + top_pad + (MINSIZE + sizeof(*heap))); + heap = new_heap(nb + (MINSIZE + sizeof(*heap))); if(!heap) return; heap->ar_ptr = ar_ptr; @@ -2425,12 +2434,21 @@ Void_t* mALLOc(bytes) size_t bytes; #endif nb = request2size(bytes); - arena_get(ar_ptr, nb + top_pad); + arena_get(ar_ptr, nb); if(!ar_ptr) return 0; victim = chunk_alloc(ar_ptr, nb); (void)mutex_unlock(&ar_ptr->mutex); - return victim ? chunk2mem(victim) : 0; + if(!victim) { + /* Maybe the failure is due to running out of mmapped areas. */ + if(ar_ptr != &main_arena) { + (void)mutex_lock(&main_arena.mutex); + victim = chunk_alloc(&main_arena, nb); + (void)mutex_unlock(&main_arena.mutex); + } + if(!victim) return 0; + } + return chunk2mem(victim); } static mchunkptr @@ -2792,8 +2810,6 @@ chunk_free(ar_ptr, p) arena *ar_ptr; mch return; } - set_head(next, nextsz); /* clear inuse bit */ - islr = 0; if (!(hd & PREV_INUSE)) /* consolidate backward */ @@ -2820,12 +2836,29 @@ chunk_free(ar_ptr, p) arena *ar_ptr; mch } else unlink(next, bck, fwd); + + next = chunk_at_offset(p, sz); } + else + set_head(next, nextsz); /* clear inuse bit */ set_head(p, sz | PREV_INUSE); - set_foot(p, sz); + next->prev_size = sz; if (!islr) frontlink(ar_ptr, p, sz, idx, bck, fwd); + +#ifndef NO_THREADS + /* Check whether the heap containing top can go away now. */ + if(next->size < MINSIZE && + (unsigned long)sz > trim_threshold && + ar_ptr != &main_arena) { /* fencepost */ + heap_info* heap = heap_for_ptr(top(ar_ptr)); + + if(top(ar_ptr) == chunk_at_offset(heap, sizeof(*heap)) && + heap->prev == heap_for_ptr(p)) + heap_trim(heap, top_pad); + } +#endif } @@ -3063,8 +3096,16 @@ arena* ar_ptr; mchunkptr oldp; INTERNAL_ newp = chunk_alloc (ar_ptr, nb); - if (newp == 0) /* propagate failure */ - return 0; + if (newp == 0) { + /* Maybe the failure is due to running out of mmapped areas. */ + if (ar_ptr != &main_arena) { + (void)mutex_lock(&main_arena.mutex); + newp = chunk_alloc(&main_arena, nb); + (void)mutex_unlock(&main_arena.mutex); + } + if (newp == 0) /* propagate failure */ + return 0; + } /* Avoid copy if newp is next chunk after oldp. */ /* (This can only happen when new chunk is sbrk'ed.) */ @@ -3159,7 +3200,16 @@ Void_t* mEMALIGn(alignment, bytes) size_ return 0; p = chunk_align(ar_ptr, nb, alignment); (void)mutex_unlock(&ar_ptr->mutex); - return p ? chunk2mem(p) : NULL; + if(!p) { + /* Maybe the failure is due to running out of mmapped areas. */ + if(ar_ptr != &main_arena) { + (void)mutex_lock(&main_arena.mutex); + p = chunk_align(&main_arena, nb, alignment); + (void)mutex_unlock(&main_arena.mutex); + } + if(!p) return 0; + } + return chunk2mem(p); } static mchunkptr @@ -3329,31 +3379,34 @@ Void_t* cALLOc(n, elem_size) size_t n; s /* Only clearing follows, so we can unlock early. */ (void)mutex_unlock(&ar_ptr->mutex); - if (p == 0) - return 0; - else - { - mem = chunk2mem(p); + if (p == 0) { + /* Maybe the failure is due to running out of mmapped areas. */ + if(ar_ptr != &main_arena) { + (void)mutex_lock(&main_arena.mutex); + p = chunk_alloc(&main_arena, sz); + (void)mutex_unlock(&main_arena.mutex); + } + if (p == 0) return 0; + } + mem = chunk2mem(p); - /* Two optional cases in which clearing not necessary */ + /* Two optional cases in which clearing not necessary */ #if HAVE_MMAP - if (chunk_is_mmapped(p)) return mem; + if (chunk_is_mmapped(p)) return mem; #endif - csz = chunksize(p); + csz = chunksize(p); #if MORECORE_CLEARS - if (p == oldtop && csz > oldtopsize) - { - /* clear only the bytes from non-freshly-sbrked memory */ - csz = oldtopsize; - } + if (p == oldtop && csz > oldtopsize) { + /* clear only the bytes from non-freshly-sbrked memory */ + csz = oldtopsize; + } #endif - MALLOC_ZERO(mem, csz - SIZE_SZ); - return mem; - } + MALLOC_ZERO(mem, csz - SIZE_SZ); + return mem; } /* @@ -3444,9 +3497,11 @@ main_trim(pad) size_t pad; new_brk = (char*)(MORECORE (-extra)); +#if defined(_LIBC) || defined(MALLOC_HOOKS) /* Call the `morecore' hook if necessary. */ if (__after_morecore_hook) (*__after_morecore_hook) (); +#endif if (new_brk == (char*)(MORECORE_FAILURE)) { /* sbrk failed? */ /* Try to figure out what we have */ @@ -3692,8 +3747,9 @@ void mALLOC_STATs() #endif #if !defined(NO_THREADS) && MALLOC_DEBUG > 1 if(ar_ptr != &main_arena) { + heap_info* heap; (void)mutex_lock(&ar_ptr->mutex); - heap_info *heap = heap_for_ptr(top(ar_ptr)); + heap = heap_for_ptr(top(ar_ptr)); while(heap) { dump_heap(heap); heap = heap->prev; } (void)mutex_unlock(&ar_ptr->mutex); } @@ -3709,6 +3765,7 @@ void mALLOC_STATs() #endif #if HAVE_MMAP fprintf(stderr, "max mmap regions = %10u\n", (unsigned int)max_n_mmaps); + fprintf(stderr, "max mmap bytes = %10lu\n", max_mmapped_mem); #endif #if THREAD_STATS fprintf(stderr, "heaps created = %10d\n", stat_n_heaps); diff -durpN glibc-2.0.2/manual/Makefile glibc-2.0.3/manual/Makefile --- glibc-2.0.2/manual/Makefile Wed Mar 5 15:59:00 1997 +++ glibc-2.0.3/manual/Makefile Thu Apr 17 16:28:55 1997 @@ -66,13 +66,9 @@ stamp-summary: summary.awk $(chapters) $ # Generate a file which can be added to the `dir' content to provide direct # access to the documentation of the function, variables, and other # definitions. -dir-add.texi: manual/xtract-typefun.awk $(chapters-incl) - if test -n "$(chapters-incl)"; then \ - (for i in $(chapters-incl); do \ - $(GAWK) -f $< < $i; \ - done) | sort > $@.new; \ - ./move-if-change $@.new $@; \ - fi +dir-add.texi: xtract-typefun.awk $(chapters) + $(GAWK) -f $^ | sort > $@.new; + mv -f $@.new $@ # Generate Texinfo files from the C source for the example programs. %.c.texi: examples/%.c diff -durpN glibc-2.0.2/manual/errno.texi glibc-2.0.3/manual/errno.texi --- glibc-2.0.2/manual/errno.texi Thu Dec 19 20:32:42 1996 +++ glibc-2.0.3/manual/errno.texi Fri Apr 4 14:24:16 1997 @@ -1186,6 +1186,18 @@ They are not yet documented.} @comment errno ???/121 @end deftypevr +@comment errno.h +@comment Linux???: No medium found +@deftypevr Macro int ENOMEDIUM +@comment errno ???/??? +@end deftypevr + +@comment errno.h +@comment Linux???: Wrong medium type +@deftypevr Macro int EMEDIUMTYPE +@comment errno ???/??? +@end deftypevr + @node Error Messages, , Error Codes, Error Reporting @section Error Messages @@ -1212,6 +1224,25 @@ overwritten. (But it's guaranteed that @code{strerror} behind your back.) The function @code{strerror} is declared in @file{string.h}. +@end deftypefun + +@comment string.h +@comment GNU +@deftypefun {char *} strerror_r (int @var{errnum}, char *@var{buf}, size_t @var{n}) +The @code{strerror_r} function works like @code{strerror} but instead of +returning the error message in a statically allocated buffer shared by +all threads in the process, it writes the message string in the user +supplied buffer starting at @var{buf} with the length of @var{n} bytes. + +At most @var{n} characters are written (including the NUL byte) so it is +up to the user to select the buffer large enough. + +This function should always be used in multi-threaded programs since +there is no way to guarantee the string returned by @code{strerror} +really belongs to the last call of the current thread. + +This function @code{strerror_r} is a GNU extension and it is declared in +@file{string.h}. @end deftypefun @comment stdio.h diff -durpN glibc-2.0.2/manual/libc.cp glibc-2.0.3/manual/libc.cp --- glibc-2.0.2/manual/libc.cp Tue Mar 18 22:31:15 1997 +++ glibc-2.0.3/manual/libc.cp Sun Apr 20 18:26:20 1997 @@ -42,789 +42,787 @@ \entry{freeing memory allocated with malloc}{34}{freeing memory allocated with \code {malloc}} \entry{heap, freeing memory from}{34}{heap, freeing memory from} \entry{changing the size of a block (malloc)}{35}{changing the size of a block (\code {malloc})} -\entry{efficiency and malloc}{36}{efficiency and \code {malloc}} +\entry{efficiency and malloc}{37}{efficiency and \code {malloc}} \entry{page boundary}{37}{page boundary} \entry{alignment (with malloc)}{37}{alignment (with \code {malloc})} \entry{heap consistency checking}{38}{heap consistency checking} \entry{consistency checking, of heap}{38}{consistency checking, of heap} -\entry{allocation hooks, for malloc}{39}{allocation hooks, for \code {malloc}} -\entry{allocation statistics}{40}{allocation statistics} -\entry{obstacks}{42}{obstacks} -\entry{allocation (obstacks)}{44}{allocation (obstacks)} -\entry{freeing (obstacks)}{45}{freeing (obstacks)} -\entry{macros}{46}{macros} -\entry{growing objects (in obstacks)}{46}{growing objects (in obstacks)} -\entry{changing the size of a block (obstacks)}{46}{changing the size of a block (obstacks)} -\entry{shrinking objects}{48}{shrinking objects} -\entry{efficiency and obstacks}{48}{efficiency and obstacks} -\entry{obstack status}{50}{obstack status} -\entry{status of obstack}{50}{status of obstack} -\entry{alignment (in obstacks)}{51}{alignment (in obstacks)} -\entry{efficiency of chunks}{51}{efficiency of chunks} -\entry{chunks}{51}{chunks} -\entry{automatic freeing}{54}{automatic freeing} -\entry{alloca function}{54}{\code {alloca} function} -\entry{automatic storage with variable size}{54}{automatic storage with variable size} -\entry{longjmp}{55}{longjmp} -\entry{alloca disadvantages}{56}{\code {alloca} disadvantages} -\entry{disadvantages of alloca}{56}{disadvantages of \code {alloca}} -\entry{variable-sized arrays}{56}{variable-sized arrays} -\entry{relocating memory allocator}{57}{relocating memory allocator} -\entry{handle}{57}{handle} -\entry{memory usage warnings}{58}{memory usage warnings} -\entry{warnings of memory almost full}{58}{warnings of memory almost full} -\entry{character testing}{59}{character testing} -\entry{classification of characters}{59}{classification of characters} -\entry{predicates on characters}{59}{predicates on characters} -\entry{character predicates}{59}{character predicates} -\entry{lower-case character}{59}{lower-case character} -\entry{upper-case character}{59}{upper-case character} -\entry{alphabetic character}{59}{alphabetic character} -\entry{digit character}{59}{digit character} -\entry{decimal digit character}{59}{decimal digit character} -\entry{alphanumeric character}{60}{alphanumeric character} -\entry{hexadecimal digit character}{60}{hexadecimal digit character} -\entry{punctuation character}{60}{punctuation character} -\entry{whitespace character}{60}{whitespace character} -\entry{blank character}{60}{blank character} -\entry{graphic character}{60}{graphic character} -\entry{printing character}{60}{printing character} -\entry{control character}{60}{control character} -\entry{ASCII character}{61}{ASCII character} -\entry{character case conversion}{61}{character case conversion} -\entry{case conversion of characters}{61}{case conversion of characters} -\entry{converting case of characters}{61}{converting case of characters} -\entry{string, representation of}{63}{string, representation of} -\entry{string}{63}{string} -\entry{null character}{63}{null character} -\entry{string literal}{63}{string literal} -\entry{length of string}{64}{length of string} -\entry{allocation size of string}{64}{allocation size of string} -\entry{size of string}{64}{size of string} -\entry{string length}{64}{string length} -\entry{string allocation}{64}{string allocation} -\entry{copying strings and arrays}{65}{copying strings and arrays} -\entry{string copy functions}{65}{string copy functions} -\entry{array copy functions}{65}{array copy functions} -\entry{concatenating strings}{65}{concatenating strings} -\entry{string concatenation functions}{65}{string concatenation functions} -\entry{comparing strings and arrays}{70}{comparing strings and arrays} -\entry{string comparison functions}{70}{string comparison functions} -\entry{array comparison functions}{70}{array comparison functions} -\entry{predicates on strings}{70}{predicates on strings} -\entry{predicates on arrays}{70}{predicates on arrays} -\entry{collating strings}{73}{collating strings} -\entry{string collation functions}{73}{string collation functions} -\entry{converting string to collation order}{74}{converting string to collation order} -\entry{search functions (for strings)}{76}{search functions (for strings)} -\entry{string search functions}{76}{string search functions} -\entry{tokenizing strings}{78}{tokenizing strings} -\entry{breaking a string into tokens}{78}{breaking a string into tokens} -\entry{parsing tokens from a string}{78}{parsing tokens from a string} -\entry{opening a file}{83}{opening a file} -\entry{file position}{85}{file position} -\entry{sequential-access files}{85}{sequential-access files} -\entry{random-access files}{85}{random-access files} -\entry{append-access files}{85}{append-access files} -\entry{file name}{85}{file name} -\entry{directory}{86}{directory} -\entry{link}{86}{link} -\entry{directory entry}{86}{directory entry} -\entry{file name component}{86}{file name component} -\entry{file name resolution}{86}{file name resolution} -\entry{root directory}{86}{root directory} -\entry{absolute file name}{86}{absolute file name} -\entry{relative file name}{86}{relative file name} -\entry{parent directory}{87}{parent directory} -\entry{file name errors}{87}{file name errors} -\entry{usual file name errors}{87}{usual file name errors} -\entry{file pointer}{91}{file pointer} -\entry{standard streams}{91}{standard streams} -\entry{streams, standard}{91}{streams, standard} -\entry{standard input stream}{91}{standard input stream} -\entry{standard output stream}{91}{standard output stream} -\entry{standard error stream}{92}{standard error stream} -\entry{opening a stream}{92}{opening a stream} -\entry{closing a stream}{94}{closing a stream} -\entry{writing to a stream, by characters}{95}{writing to a stream, by characters} -\entry{reading from a stream, by characters}{96}{reading from a stream, by characters} -\entry{peeking at input}{100}{peeking at input} -\entry{unreading characters}{100}{unreading characters} -\entry{pushing input back}{100}{pushing input back} -\entry{binary I/O to a stream}{102}{binary I/O to a stream} -\entry{block I/O to a stream}{102}{block I/O to a stream} -\entry{reading from a stream, by blocks}{102}{reading from a stream, by blocks} -\entry{writing to a stream, by blocks}{102}{writing to a stream, by blocks} -\entry{format string, for printf}{102}{format string, for \code {printf}} -\entry{template, for printf}{102}{template, for \code {printf}} -\entry{formatted output to a stream}{102}{formatted output to a stream} -\entry{writing to a stream, formatted}{102}{writing to a stream, formatted} -\entry{conversion specifications (printf)}{103}{conversion specifications (\code {printf})} -\entry{flag character (printf)}{104}{flag character (\code {printf})} -\entry{minimum field width (printf)}{104}{minimum field width (\code {printf})} -\entry{precision (printf)}{104}{precision (\code {printf})} -\entry{type modifier character (printf)}{105}{type modifier character (\code {printf})} -\entry{output conversions, for printf}{105}{output conversions, for \code {printf}} -\entry{parsing a template string}{116}{parsing a template string} -\entry{customizing printf}{119}{customizing \code {printf}} -\entry{defining new printf conversions}{119}{defining new \code {printf} conversions} -\entry{extending printf}{119}{extending \code {printf}} -\entry{formatted input from a stream}{124}{formatted input from a stream} -\entry{reading from a stream, formatted}{124}{reading from a stream, formatted} -\entry{format string, for scanf}{124}{format string, for \code {scanf}} -\entry{template, for scanf}{124}{template, for \code {scanf}} -\entry{conversion specifications (scanf)}{125}{conversion specifications (\code {scanf})} -\entry{matching failure, in scanf}{125}{matching failure, in \code {scanf}} -\entry{flag character (scanf)}{126}{flag character (\code {scanf})} -\entry{maximum field width (scanf)}{126}{maximum field width (\code {scanf})} -\entry{type modifier character (scanf)}{126}{type modifier character (\code {scanf})} -\entry{input conversions, for scanf}{127}{input conversions, for \code {scanf}} -\entry{end of file, on a stream}{133}{end of file, on a stream} -\entry{text stream}{134}{text stream} -\entry{binary stream}{134}{binary stream} -\entry{lines (in a text file)}{134}{lines (in a text file)} -\entry{file positioning on a stream}{135}{file positioning on a stream} -\entry{positioning a stream}{135}{positioning a stream} -\entry{seeking on a stream}{135}{seeking on a stream} -\entry{buffering of streams}{138}{buffering of streams} -\entry{unbuffered stream}{138}{unbuffered stream} -\entry{line buffered stream}{138}{line buffered stream} -\entry{fully buffered stream}{138}{fully buffered stream} -\entry{flushing a stream}{139}{flushing a stream} -\entry{buffering, controlling}{139}{buffering, controlling} -\entry{stream, for I/O to a string}{142}{stream, for I/O to a string} -\entry{string stream}{142}{string stream} -\entry{custom streams}{145}{custom streams} -\entry{programming your own streams}{145}{programming your own streams} -\entry{cookie, for custom stream}{145}{cookie, for custom stream} -\entry{hook functions (of custom streams)}{146}{hook functions (of custom streams)} -\entry{opening a file descriptor}{149}{opening a file descriptor} -\entry{closing a file descriptor}{149}{closing a file descriptor} -\entry{reading from a file descriptor}{151}{reading from a file descriptor} -\entry{end-of-file, on a file descriptor}{151}{end-of-file, on a file descriptor} -\entry{writing to a file descriptor}{153}{writing to a file descriptor} -\entry{file positioning on a file descriptor}{154}{file positioning on a file descriptor} -\entry{positioning a file descriptor}{154}{positioning a file descriptor} -\entry{seeking on a file descriptor}{154}{seeking on a file descriptor} -\entry{sparse files}{155}{sparse files} -\entry{holes in files}{155}{holes in files} -\entry{streams, and file descriptors}{157}{streams, and file descriptors} -\entry{converting file descriptor to stream}{157}{converting file descriptor to stream} -\entry{extracting file descriptor from stream}{157}{extracting file descriptor from stream} -\entry{standard file descriptors}{157}{standard file descriptors} -\entry{file descriptors, standard}{157}{file descriptors, standard} -\entry{standard input file descriptor}{157}{standard input file descriptor} -\entry{standard output file descriptor}{158}{standard output file descriptor} -\entry{standard error file descriptor}{158}{standard error file descriptor} -\entry{channels}{158}{channels} -\entry{streams and descriptors}{158}{streams and descriptors} -\entry{descriptors and streams}{158}{descriptors and streams} -\entry{mixing descriptors and streams}{158}{mixing descriptors and streams} -\entry{linked channels}{158}{linked channels} -\entry{cleaning up a stream}{158}{cleaning up a stream} -\entry{independent channels}{158}{independent channels} -\entry{waiting for input or output}{160}{waiting for input or output} -\entry{multiplexing input}{160}{multiplexing input} -\entry{input from multiple files}{160}{input from multiple files} -\entry{file descriptor sets, for select}{160}{file descriptor sets, for \code {select}} -\entry{control operations on files}{163}{control operations on files} -\entry{fcntl function}{163}{\code {fcntl} function} -\entry{duplicating file descriptors}{164}{duplicating file descriptors} -\entry{redirecting input and output}{164}{redirecting input and output} -\entry{file descriptor flags}{166}{file descriptor flags} -\entry{close-on-exec (file descriptor flag)}{167}{close-on-exec (file descriptor flag)} -\entry{file status flags}{168}{file status flags} -\entry{file name translation flags}{169}{file name translation flags} -\entry{flags, file name translation}{169}{flags, file name translation} -\entry{open-time action flags}{169}{open-time action flags} -\entry{flags, open-time action}{169}{flags, open-time action} -\entry{create on open (file status flag)}{169}{create on open (file status flag)} -\entry{non-blocking open}{169}{non-blocking open} -\entry{controlling terminal, setting}{170}{controlling terminal, setting} -\entry{symbolic link, opening}{170}{symbolic link, opening} -\entry{file locks}{173}{file locks} -\entry{record locking}{173}{record locking} -\entry{exclusive lock}{173}{exclusive lock} -\entry{write lock}{173}{write lock} -\entry{shared lock}{174}{shared lock} -\entry{read lock}{174}{read lock} -\entry{interrupt-driven input}{177}{interrupt-driven input} -\entry{current working directory}{179}{current working directory} -\entry{working directory}{179}{working directory} -\entry{change working directory}{179}{change working directory} -\entry{accessing directories}{181}{accessing directories} -\entry{reading from a directory}{181}{reading from a directory} -\entry{directories, accessing}{181}{directories, accessing} -\entry{directory stream}{181}{directory stream} -\entry{hard link}{187}{hard link} -\entry{link, hard}{187}{link, hard} -\entry{multiple names for one file}{187}{multiple names for one file} -\entry{file names, multiple}{187}{file names, multiple} -\entry{soft link}{188}{soft link} -\entry{link, soft}{188}{link, soft} -\entry{symbolic link}{188}{symbolic link} -\entry{link, symbolic}{188}{link, symbolic} -\entry{deleting a file}{190}{deleting a file} -\entry{removing a file}{190}{removing a file} -\entry{unlinking a file}{190}{unlinking a file} -\entry{directories, deleting}{191}{directories, deleting} -\entry{deleting a directory}{191}{deleting a directory} -\entry{renaming a file}{191}{renaming a file} -\entry{creating a directory}{192}{creating a directory} -\entry{directories, creating}{192}{directories, creating} -\entry{status of a file}{193}{status of a file} -\entry{attributes of a file}{193}{attributes of a file} -\entry{file attributes}{193}{file attributes} -\entry{inode number}{196}{inode number} -\entry{file owner}{198}{file owner} -\entry{owner of a file}{198}{owner of a file} -\entry{group owner of a file}{198}{group owner of a file} -\entry{file permission bits}{200}{file permission bits} -\entry{sticky bit}{201}{sticky bit} -\entry{permission to access a file}{202}{permission to access a file} -\entry{access permission for a file}{202}{access permission for a file} -\entry{file access permission}{202}{file access permission} -\entry{file creation mask}{202}{file creation mask} -\entry{umask}{202}{umask} -\entry{testing access permission}{204}{testing access permission} -\entry{access, testing for}{204}{access, testing for} -\entry{setuid programs and file access}{204}{setuid programs and file access} -\entry{file access time}{206}{file access time} -\entry{file modification time}{206}{file modification time} -\entry{file attribute modification time}{206}{file attribute modification time} -\entry{creating special files}{208}{creating special files} -\entry{special files}{208}{special files} -\entry{TMPDIR environment variable}{210}{TMPDIR environment variable} -\entry{pipe}{213}{pipe} -\entry{FIFO special file}{213}{FIFO special file} -\entry{creating a pipe}{213}{creating a pipe} -\entry{opening a pipe}{213}{opening a pipe} -\entry{interprocess communication, with pipes}{213}{interprocess communication, with pipes} -\entry{creating a pipe to a subprocess}{215}{creating a pipe to a subprocess} -\entry{pipe to a subprocess}{215}{pipe to a subprocess} -\entry{filtering i/o through subprocess}{215}{filtering i/o through subprocess} -\entry{creating a FIFO special file}{217}{creating a FIFO special file} -\entry{interprocess communication, with FIFO}{217}{interprocess communication, with FIFO} -\entry{socket}{219}{socket} -\entry{interprocess communication, with sockets}{219}{interprocess communication, with sockets} -\entry{communication style (of a socket)}{219}{communication style (of a socket)} -\entry{style of communication (of a socket)}{219}{style of communication (of a socket)} -\entry{packet}{219}{packet} -\entry{byte stream}{219}{byte stream} -\entry{stream (sockets)}{219}{stream (sockets)} -\entry{loss of data on sockets}{219}{loss of data on sockets} -\entry{data loss on sockets}{219}{data loss on sockets} -\entry{namespace (of socket)}{219}{namespace (of socket)} -\entry{domain (of socket)}{219}{domain (of socket)} -\entry{socket namespace}{219}{socket namespace} -\entry{socket domain}{219}{socket domain} -\entry{network protocol}{220}{network protocol} -\entry{protocol (of socket)}{220}{protocol (of socket)} -\entry{socket protocol}{220}{socket protocol} -\entry{protocol family}{220}{protocol family} -\entry{address of socket}{221}{address of socket} -\entry{name of socket}{221}{name of socket} -\entry{binding a socket address}{221}{binding a socket address} -\entry{socket address (name) binding}{221}{socket address (name) binding} -\entry{file namespace, for sockets}{224}{file namespace, for sockets} -\entry{Internet namespace, for sockets}{227}{Internet namespace, for sockets} -\entry{host address, Internet}{228}{host address, Internet} -\entry{Internet host address}{228}{Internet host address} -\entry{network number}{228}{network number} -\entry{local network address number}{228}{local network address number} -\entry{standard dot notation, for Internet addresses}{229}{standard dot notation, for Internet addresses} -\entry{dot notation, for Internet addresses}{229}{dot notation, for Internet addresses} -\entry{hosts database}{231}{hosts database} -\entry{converting host name to address}{231}{converting host name to address} -\entry{converting host address to name}{231}{converting host address to name} -\entry{port number}{233}{port number} -\entry{services database}{234}{services database} -\entry{converting service name to port number}{234}{converting service name to port number} -\entry{converting port number to service name}{234}{converting port number to service name} -\entry{byte order conversion, for socket}{235}{byte order conversion, for socket} -\entry{converting byte order}{235}{converting byte order} -\entry{big-endian}{235}{big-endian} -\entry{little-endian}{235}{little-endian} -\entry{network byte order}{236}{network byte order} -\entry{protocols database}{236}{protocols database} -\entry{TCP (Internet protocol)}{236}{TCP (Internet protocol)} -\entry{creating a socket}{240}{creating a socket} -\entry{socket, creating}{240}{socket, creating} -\entry{opening a socket}{240}{opening a socket} -\entry{socket, closing}{241}{socket, closing} -\entry{closing a socket}{241}{closing a socket} -\entry{shutting down a socket}{241}{shutting down a socket} -\entry{socket shutdown}{241}{socket shutdown} -\entry{creating a socket pair}{241}{creating a socket pair} -\entry{socket pair}{241}{socket pair} -\entry{opening a socket pair}{241}{opening a socket pair} -\entry{connection}{242}{connection} -\entry{client}{242}{client} -\entry{server}{242}{server} -\entry{connecting a socket}{242}{connecting a socket} -\entry{socket, connecting}{242}{socket, connecting} -\entry{socket, initiating a connection}{242}{socket, initiating a connection} -\entry{socket, client actions}{242}{socket, client actions} -\entry{listening (sockets)}{244}{listening (sockets)} -\entry{sockets, server actions}{244}{sockets, server actions} -\entry{sockets, listening}{244}{sockets, listening} -\entry{sockets, accepting connections}{245}{sockets, accepting connections} -\entry{accepting connections}{245}{accepting connections} -\entry{reading from a socket}{246}{reading from a socket} -\entry{writing to a socket}{246}{writing to a socket} -\entry{out-of-band data}{253}{out-of-band data} -\entry{high-priority data}{253}{high-priority data} -\entry{urgent socket condition}{253}{urgent socket condition} -\entry{datagram socket}{256}{datagram socket} -\entry{sending a datagram}{256}{sending a datagram} -\entry{transmitting datagrams}{256}{transmitting datagrams} -\entry{datagrams, transmitting}{256}{datagrams, transmitting} -\entry{receiving datagrams}{257}{receiving datagrams} -\entry{socket options}{262}{socket options} -\entry{level, for socket options}{262}{level, for socket options} -\entry{socket option level}{262}{socket option level} -\entry{networks database}{265}{networks database} -\entry{converting network number to network name}{265}{converting network number to network name} -\entry{converting network name to network number}{265}{converting network name to network number} -\entry{terminal identification}{267}{terminal identification} -\entry{identifying terminals}{267}{identifying terminals} -\entry{terminal input queue}{267}{terminal input queue} -\entry{typeahead buffer}{267}{typeahead buffer} -\entry{terminal output queue}{268}{terminal output queue} -\entry{canonical input processing}{268}{canonical input processing} -\entry{noncanonical input processing}{268}{noncanonical input processing} -\entry{terminal mode data types}{269}{terminal mode data types} -\entry{terminal mode functions}{270}{terminal mode functions} -\entry{parity checking}{273}{parity checking} -\entry{break condition, detecting}{274}{break condition, detecting} -\entry{modem status lines}{276}{modem status lines} -\entry{carrier detect}{276}{carrier detect} -\entry{modem disconnect}{276}{modem disconnect} -\entry{echo of terminal input}{278}{echo of terminal input} -\entry{interactive signals, from terminal}{279}{interactive signals, from terminal} -\entry{line speed}{280}{line speed} -\entry{baud rate}{280}{baud rate} -\entry{terminal line speed}{280}{terminal line speed} -\entry{terminal line speed}{280}{terminal line speed} -\entry{EOF character}{283}{EOF character} -\entry{EOL character}{283}{EOL character} -\entry{EOL2 character}{283}{EOL2 character} -\entry{ERASE character}{283}{ERASE character} -\entry{WERASE character}{284}{WERASE character} -\entry{KILL character}{284}{KILL character} -\entry{REPRINT character}{284}{REPRINT character} -\entry{INTR character}{284}{INTR character} -\entry{interrupt character}{284}{interrupt character} -\entry{QUIT character}{285}{QUIT character} -\entry{SUSP character}{285}{SUSP character} -\entry{suspend character}{285}{suspend character} -\entry{DSUSP character}{285}{DSUSP character} -\entry{delayed suspend character}{285}{delayed suspend character} -\entry{START character}{286}{START character} -\entry{STOP character}{286}{STOP character} -\entry{LNEXT character}{286}{LNEXT character} -\entry{DISCARD character}{287}{DISCARD character} -\entry{STATUS character}{287}{STATUS character} -\entry{MIN termios slot}{287}{MIN termios slot} -\entry{TIME termios slot}{287}{TIME termios slot} -\entry{terminal line control functions}{289}{terminal line control functions} -\entry{break condition, generating}{289}{break condition, generating} -\entry{flushing terminal output queue}{289}{flushing terminal output queue} -\entry{terminal output queue, flushing}{289}{terminal output queue, flushing} -\entry{clearing terminal input queue}{290}{clearing terminal input queue} -\entry{terminal input queue, clearing}{290}{terminal input queue, clearing} -\entry{flow control, terminal}{290}{flow control, terminal} -\entry{terminal flow control}{290}{terminal flow control} -\entry{domain error}{293}{domain error} -\entry{range error}{293}{range error} -\entry{trigonometric functions}{294}{trigonometric functions} -\entry{pi (trigonometric constant)}{294}{pi (trigonometric constant)} -\entry{inverse trigonometric functions}{295}{inverse trigonometric functions} -\entry{exponentiation functions}{296}{exponentiation functions} -\entry{power functions}{296}{power functions} -\entry{logarithm functions}{296}{logarithm functions} -\entry{square root function}{296}{square root function} -\entry{cube root function}{296}{cube root function} -\entry{hyperbolic functions}{297}{hyperbolic functions} -\entry{inverse hyperbolic functions}{297}{inverse hyperbolic functions} -\entry{random numbers}{298}{random numbers} -\entry{pseudo-random numbers}{298}{pseudo-random numbers} -\entry{seed (for random numbers)}{298}{seed (for random numbers)} -\entry{NaN}{301}{NaN} -\entry{not a number}{301}{not a number} -\entry{IEEE floating point}{301}{IEEE floating point} -\entry{absolute value functions}{302}{absolute value functions} -\entry{normalization functions (floating-point)}{303}{normalization functions (floating-point)} -\entry{rounding functions}{304}{rounding functions} -\entry{remainder functions}{304}{remainder functions} -\entry{converting floats to integers}{304}{converting floats to integers} -\entry{integer division functions}{305}{integer division functions} -\entry{parsing numbers (in formatted input)}{306}{parsing numbers (in formatted input)} -\entry{converting strings to numbers}{306}{converting strings to numbers} -\entry{number syntax, parsing}{306}{number syntax, parsing} -\entry{syntax, for reading numbers}{306}{syntax, for reading numbers} -\entry{Comparison Function}{313}{Comparison Function} -\entry{search function (for arrays)}{313}{search function (for arrays)} -\entry{binary search function (for arrays)}{313}{binary search function (for arrays)} -\entry{array search function}{313}{array search function} -\entry{sort function (for arrays)}{314}{sort function (for arrays)} -\entry{quick sort function (for arrays)}{314}{quick sort function (for arrays)} -\entry{array sort function}{314}{array sort function} -\entry{stable sorting}{314}{stable sorting} -\entry{Kermit the frog}{317}{Kermit the frog} -\entry{globbing}{320}{globbing} -\entry{word expansion}{329}{word expansion} -\entry{expansion of shell words}{329}{expansion of shell words} -\entry{tilde expansion}{330}{tilde expansion} -\entry{variable substitution}{330}{variable substitution} -\entry{substitution of variables and commands}{330}{substitution of variables and commands} -\entry{command substitution}{330}{command substitution} -\entry{arithmetic expansion}{330}{arithmetic expansion} -\entry{field splitting}{330}{field splitting} -\entry{wildcard expansion}{330}{wildcard expansion} -\entry{quote removal}{330}{quote removal} -\entry{removal of quotes}{330}{removal of quotes} -\entry{CPU time}{335}{CPU time} -\entry{processor time}{335}{processor time} -\entry{clock ticks}{335}{clock ticks} -\entry{ticks, clock}{335}{ticks, clock} -\entry{time, elapsed CPU}{335}{time, elapsed CPU} -\entry{Gregorian calendar}{337}{Gregorian calendar} -\entry{time, calendar}{337}{time, calendar} -\entry{date and time}{337}{date and time} -\entry{calendar time}{337}{calendar time} -\entry{high-resolution time}{337}{high-resolution time} -\entry{local time}{337}{local time} -\entry{broken-down time}{337}{broken-down time} -\entry{epoch}{338}{epoch} -\entry{broken-down time}{341}{broken-down time} -\entry{calendar time and broken-down time}{341}{calendar time and broken-down time} -\entry{leap second}{341}{leap second} -\entry{Daylight Saving Time}{342}{Daylight Saving Time} -\entry{summer time}{342}{summer time} -\entry{time zone}{348}{time zone} -\entry{time zone database}{350}{time zone database} -\entry{setting an alarm}{352}{setting an alarm} -\entry{interval timer, setting}{352}{interval timer, setting} -\entry{alarms, setting}{352}{alarms, setting} -\entry{timers, setting}{352}{timers, setting} -\entry{real-time timer}{352}{real-time timer} -\entry{timer, real-time}{352}{timer, real-time} -\entry{virtual timer}{352}{virtual timer} -\entry{timer, virtual}{352}{timer, virtual} -\entry{profiling timer}{352}{profiling timer} -\entry{timer, profiling}{352}{timer, profiling} -\entry{resource limits}{358}{resource limits} -\entry{limits on resource usage}{358}{limits on resource usage} -\entry{usage limits}{358}{usage limits} -\entry{soft limit}{358}{soft limit} -\entry{hard limit}{358}{hard limit} -\entry{process priority}{360}{process priority} -\entry{priority of a process}{360}{priority of a process} -\entry{extended character sets}{363}{extended character sets} -\entry{wide characters}{363}{wide characters} -\entry{multibyte characters}{364}{multibyte characters} -\entry{basic byte sequence}{364}{basic byte sequence} -\entry{code, character}{367}{code, character} -\entry{character code}{367}{character code} -\entry{extended strings, converting representations}{368}{extended strings, converting representations} -\entry{converting extended strings}{368}{converting extended strings} -\entry{multibyte character, length of}{369}{multibyte character, length of} -\entry{length of multibyte character}{369}{length of multibyte character} -\entry{extended characters, converting}{370}{extended characters, converting} -\entry{converting extended characters}{370}{converting extended characters} -\entry{internationalization}{375}{internationalization} -\entry{locales}{375}{locales} -\entry{combining locales}{376}{combining locales} -\entry{categories for locales}{376}{categories for locales} -\entry{locale categories}{376}{locale categories} -\entry{changing the locale}{377}{changing the locale} -\entry{locale, changing}{377}{locale, changing} -\entry{monetary value formatting}{379}{monetary value formatting} -\entry{numeric value formatting}{379}{numeric value formatting} -\entry{decimal-point separator}{380}{decimal-point separator} -\entry{grouping of digits}{380}{grouping of digits} -\entry{currency symbols}{381}{currency symbols} -\entry{non-local exits}{385}{non-local exits} -\entry{long jumps}{385}{long jumps} -\entry{signal}{389}{signal} -\entry{generation of signals}{390}{generation of signals} -\entry{delivery of signals}{390}{delivery of signals} -\entry{pending signals}{390}{pending signals} -\entry{blocked signals}{390}{blocked signals} -\entry{specified action (for a signal)}{391}{specified action (for a signal)} -\entry{default action (for a signal)}{391}{default action (for a signal)} -\entry{signal action}{391}{signal action} -\entry{catching signals}{391}{catching signals} -\entry{signal names}{391}{signal names} -\entry{names of signals}{391}{names of signals} -\entry{signal number}{391}{signal number} -\entry{program error signals}{392}{program error signals} -\entry{exception}{393}{exception} -\entry{floating-point exception}{393}{floating-point exception} -\entry{illegal instruction}{394}{illegal instruction} -\entry{segmentation violation}{394}{segmentation violation} -\entry{bus error}{394}{bus error} -\entry{abort signal}{394}{abort signal} -\entry{program termination signals}{395}{program termination signals} -\entry{termination signal}{395}{termination signal} -\entry{interrupt signal}{395}{interrupt signal} -\entry{quit signal}{396}{quit signal} -\entry{quit signal}{396}{quit signal} -\entry{kill signal}{396}{kill signal} -\entry{hangup signal}{396}{hangup signal} -\entry{alarm signal}{397}{alarm signal} -\entry{virtual time alarm signal}{397}{virtual time alarm signal} -\entry{profiling alarm signal}{397}{profiling alarm signal} -\entry{input available signal}{397}{input available signal} -\entry{output possible signal}{397}{output possible signal} -\entry{urgent data signal}{397}{urgent data signal} -\entry{job control signals}{398}{job control signals} -\entry{child process signal}{398}{child process signal} -\entry{continue signal}{398}{continue signal} -\entry{stop signal}{398}{stop signal} -\entry{interactive stop signal}{399}{interactive stop signal} -\entry{terminal input signal}{399}{terminal input signal} -\entry{terminal output signal}{399}{terminal output signal} -\entry{pipe signal}{400}{pipe signal} -\entry{broken pipe signal}{400}{broken pipe signal} -\entry{lost resource signal}{400}{lost resource signal} -\entry{user signals}{400}{user signals} -\entry{signal messages}{401}{signal messages} -\entry{signal actions}{402}{signal actions} -\entry{establishing a handler}{402}{establishing a handler} -\entry{signal function}{402}{\code {signal} function} -\entry{default action for a signal}{403}{default action for a signal} -\entry{ignore action for a signal}{403}{ignore action for a signal} -\entry{sigaction function}{404}{\code {sigaction} function} -\entry{signal flags}{408}{signal flags} -\entry{flags for sigaction}{408}{flags for \code {sigaction}} -\entry{sigaction flags}{408}{\code {sigaction} flags} -\entry{initial signal actions}{409}{initial signal actions} -\entry{signal handler function}{409}{signal handler function} -\entry{non-local exit, from signal handler}{412}{non-local exit, from signal handler} -\entry{race conditions, relating to signals}{413}{race conditions, relating to signals} -\entry{handling multiple signals}{414}{handling multiple signals} -\entry{successive signals}{414}{successive signals} -\entry{merging of signals}{414}{merging of signals} -\entry{restrictions on signal handler functions}{417}{restrictions on signal handler functions} -\entry{volatile declarations}{417}{\code {volatile} declarations} -\entry{reentrant functions}{417}{reentrant functions} -\entry{EINTR, and restarting interrupted primitives}{422}{EINTR, and restarting interrupted primitives} -\entry{restarting interrupted primitives}{422}{restarting interrupted primitives} -\entry{interrupting primitives}{422}{interrupting primitives} -\entry{primitives, interrupting}{422}{primitives, interrupting} -\entry{sending signals}{422}{sending signals} -\entry{raising signals}{422}{raising signals} -\entry{signals, generating}{422}{signals, generating} -\entry{killing a process}{424}{killing a process} -\entry{interprocess communication, with signals}{426}{interprocess communication, with signals} -\entry{blocking signals}{427}{blocking signals} -\entry{signal set}{428}{signal set} -\entry{signal mask}{429}{signal mask} -\entry{process signal mask}{429}{process signal mask} -\entry{blocking signals, in a handler}{432}{blocking signals, in a handler} -\entry{pending signals, checking for}{433}{pending signals, checking for} -\entry{blocked signals, checking for}{433}{blocked signals, checking for} -\entry{checking for pending signals}{433}{checking for pending signals} -\entry{timing error in signal handling}{435}{timing error in signal handling} -\entry{waiting for a signal}{435}{waiting for a signal} -\entry{pause function}{435}{\code {pause} function} -\entry{process}{443}{process} -\entry{program arguments}{443}{program arguments} -\entry{command line arguments}{443}{command line arguments} -\entry{arguments, to program}{443}{arguments, to program} -\entry{program startup}{443}{program startup} -\entry{startup of program}{443}{startup of program} -\entry{invocation of program}{443}{invocation of program} -\entry{main function}{443}{\code {main} function} -\entry{argc (program argument count)}{443}{argc (program argument count)} -\entry{argv (program argument vector)}{443}{argv (program argument vector)} -\entry{program argument syntax}{444}{program argument syntax} -\entry{syntax, for program arguments}{444}{syntax, for program arguments} -\entry{command argument syntax}{444}{command argument syntax} -\entry{long-named options}{444}{long-named options} -\entry{program arguments, parsing}{445}{program arguments, parsing} -\entry{command arguments, parsing}{445}{command arguments, parsing} -\entry{parsing program arguments}{445}{parsing program arguments} -\entry{environment variable}{454}{environment variable} -\entry{environment}{455}{environment} -\entry{environment access}{455}{environment access} -\entry{environment representation}{455}{environment representation} -\entry{standard environment variables}{456}{standard environment variables} -\entry{HOME environment variable}{456}{HOME environment variable} -\entry{home directory}{456}{home directory} -\entry{LOGNAME environment variable}{456}{LOGNAME environment variable} -\entry{PATH environment variable}{456}{PATH environment variable} -\entry{TERM environment variable}{457}{TERM environment variable} -\entry{TZ environment variable}{457}{TZ environment variable} -\entry{LANG environment variable}{457}{LANG environment variable} -\entry{LC{\_}COLLATE environment variable}{457}{LC_COLLATE environment variable} -\entry{LC{\_}CTYPE environment variable}{457}{LC_CTYPE environment variable} -\entry{LC{\_}MONETARY environment variable}{457}{LC_MONETARY environment variable} -\entry{LC{\_}NUMERIC environment variable}{457}{LC_NUMERIC environment variable} -\entry{LC{\_}TIME environment variable}{458}{LC_TIME environment variable} -\entry{{\_}POSIX{\_}OPTION{\_}ORDER environment variable.}{458}{_POSIX_OPTION_ORDER environment variable.} -\entry{program termination}{458}{program termination} -\entry{process termination}{458}{process termination} -\entry{exit status value}{458}{exit status value} -\entry{exit status}{459}{exit status} -\entry{aborting a program}{461}{aborting a program} -\entry{process}{463}{process} -\entry{child process}{463}{child process} -\entry{parent process}{463}{parent process} -\entry{running a command}{463}{running a command} -\entry{process ID}{464}{process ID} -\entry{process lifetime}{464}{process lifetime} -\entry{creating a process}{464}{creating a process} -\entry{forking a process}{464}{forking a process} -\entry{child process}{464}{child process} -\entry{parent process}{464}{parent process} -\entry{process image}{464}{process image} -\entry{executing a file}{466}{executing a file} -\entry{exec functions}{466}{\code {exec} functions} -\entry{process completion}{469}{process completion} -\entry{waiting for completion of child process}{469}{waiting for completion of child process} -\entry{testing exit status of child process}{469}{testing exit status of child process} -\entry{process groups}{475}{process groups} -\entry{job control}{475}{job control} -\entry{job}{475}{job} -\entry{session}{475}{session} -\entry{shell}{475}{shell} -\entry{session}{475}{session} -\entry{session leader}{475}{session leader} -\entry{controlling terminal}{475}{controlling terminal} -\entry{foreground job}{476}{foreground job} -\entry{background job}{476}{background job} -\entry{stopped job}{476}{stopped job} -\entry{job control is optional}{476}{job control is optional} -\entry{controlling process}{477}{controlling process} -\entry{controlling terminal, access to}{477}{controlling terminal, access to} -\entry{SIGTTIN, from background job}{477}{\code {SIGTTIN}, from background job} -\entry{SIGTTOU, from background job}{477}{\code {SIGTTOU}, from background job} -\entry{orphaned process group}{477}{orphaned process group} -\entry{job control, enabling}{480}{job control, enabling} -\entry{subshell}{480}{subshell} -\entry{job control, enabling}{480}{job control, enabling} -\entry{launching jobs}{482}{launching jobs} -\entry{process group leader}{482}{process group leader} -\entry{process group ID}{482}{process group ID} -\entry{race conditions, relating to job control}{482}{race conditions, relating to job control} -\entry{foreground job, launching}{486}{foreground job, launching} -\entry{background job, launching}{487}{background job, launching} -\entry{stopped jobs, detecting}{488}{stopped jobs, detecting} -\entry{terminated jobs, detecting}{488}{terminated jobs, detecting} -\entry{SIGCHLD, handling of}{488}{\code {SIGCHLD}, handling of} -\entry{stopped jobs, continuing}{492}{stopped jobs, continuing} -\entry{process group functions}{493}{process group functions} -\entry{job control functions}{493}{job control functions} -\entry{controlling terminal, determining}{493}{controlling terminal, determining} -\entry{BSD compatibility library}{494}{BSD compatibility library} -\entry{Name Service Switch}{497}{Name Service Switch} -\entry{NSS}{497}{NSS} -\entry{databases}{497}{databases} -\entry{ethers}{497}{ethers} -\entry{group}{497}{group} -\entry{hosts}{497}{hosts} -\entry{netgroup}{497}{netgroup} -\entry{network}{497}{network} -\entry{protocols}{497}{protocols} -\entry{passwd}{497}{passwd} -\entry{rpc}{497}{rpc} -\entry{services}{497}{services} -\entry{shadow}{497}{shadow} -\entry{/etc/nsswitch.conf}{498}{\file {/etc/nsswitch.conf}} -\entry{nsswitch.conf}{498}{\file {nsswitch.conf}} -\entry{DNS server unavailable}{499}{DNS server unavailable} -\entry{nisplus, and completeness}{500}{nisplus, and completeness} -\entry{nisplus, and booting}{500}{nisplus, and booting} -\entry{bootstrapping, and services}{500}{bootstrapping, and services} -\entry{default value, and NSS}{500}{default value, and NSS} -\entry{optimizing NSS}{501}{optimizing NSS} -\entry{reentrant NSS functions}{501}{reentrant NSS functions} -\entry{login name}{507}{login name} -\entry{user name}{507}{user name} -\entry{user ID}{507}{user ID} -\entry{group name}{507}{group name} -\entry{group ID}{507}{group ID} -\entry{persona}{507}{persona} -\entry{effective user ID}{507}{effective user ID} -\entry{effective group ID}{507}{effective group ID} -\entry{real user ID}{507}{real user ID} -\entry{real group ID}{507}{real group ID} -\entry{supplementary group IDs}{508}{supplementary group IDs} -\entry{setuid programs}{509}{\code {setuid} programs} -\entry{login name, determining}{516}{login name, determining} -\entry{user ID, determining}{516}{user ID, determining} -\entry{user database}{517}{user database} -\entry{password database}{517}{password database} -\entry{converting user ID to user name}{518}{converting user ID to user name} -\entry{converting user name to user ID}{518}{converting user name to user ID} -\entry{scanning the user list}{519}{scanning the user list} -\entry{group database}{521}{group database} -\entry{converting group name to group ID}{521}{converting group name to group ID} -\entry{converting group ID to group name}{521}{converting group ID to group name} -\entry{scanning the group list}{523}{scanning the group list} -\entry{Netgroup}{524}{Netgroup} -\entry{POSIX capacity limits}{533}{POSIX capacity limits} -\entry{limits, POSIX}{533}{limits, POSIX} -\entry{capacity limits, POSIX}{533}{capacity limits, POSIX} -\entry{limits, program argument size}{533}{limits, program argument size} -\entry{limits, number of processes}{533}{limits, number of processes} -\entry{limits, number of open files}{533}{limits, number of open files} -\entry{limits, time zone name length}{534}{limits, time zone name length} -\entry{limits, number of supplementary group IDs}{534}{limits, number of supplementary group IDs} -\entry{POSIX optional features}{534}{POSIX optional features} -\entry{optional POSIX features}{534}{optional POSIX features} -\entry{limits, link count of files}{541}{limits, link count of files} -\entry{limits, terminal input queue}{541}{limits, terminal input queue} -\entry{limits, file name length}{541}{limits, file name length} -\entry{limits, pipe buffer size}{542}{limits, pipe buffer size} -\entry{consistency checking}{549}{consistency checking} -\entry{impossible events}{549}{impossible events} -\entry{assertions}{549}{assertions} -\entry{variable number of arguments}{551}{variable number of arguments} -\entry{variadic functions}{551}{variadic functions} -\entry{optional arguments}{551}{optional arguments} -\entry{function prototypes (variadic)}{552}{function prototypes (variadic)} -\entry{prototypes for variadic functions}{552}{prototypes for variadic functions} -\entry{variadic function prototypes}{552}{variadic function prototypes} -\entry{variadic function argument access}{552}{variadic function argument access} -\entry{arguments (variadic functions)}{552}{arguments (variadic functions)} -\entry{number of arguments passed}{553}{number of arguments passed} -\entry{how many arguments}{553}{how many arguments} -\entry{arguments, how many}{553}{arguments, how many} -\entry{variadic functions, calling}{554}{variadic functions, calling} -\entry{calling variadic functions}{554}{calling variadic functions} -\entry{declaring variadic functions}{554}{declaring variadic functions} -\entry{default argument promotions}{554}{default argument promotions} -\entry{argument promotion}{554}{argument promotion} -\entry{null pointer constant}{557}{null pointer constant} -\entry{integer type width}{559}{integer type width} -\entry{width of integer type}{559}{width of integer type} -\entry{type measurements, integer}{559}{type measurements, integer} -\entry{integer type range}{559}{integer type range} -\entry{range of integer type}{559}{range of integer type} -\entry{limits, integer types}{559}{limits, integer types} -\entry{floating type measurements}{561}{floating type measurements} -\entry{measurements of floating types}{561}{measurements of floating types} -\entry{type measurements, floating}{561}{type measurements, floating} -\entry{limits, floating types}{561}{limits, floating types} -\entry{sign (of floating point number)}{561}{sign (of floating point number)} -\entry{base (of floating point number)}{561}{base (of floating point number)} -\entry{radix (of floating point number)}{561}{radix (of floating point number)} -\entry{exponent (of floating point number)}{561}{exponent (of floating point number)} -\entry{bias (of floating point number exponent)}{561}{bias (of floating point number exponent)} -\entry{mantissa (of floating point number)}{562}{mantissa (of floating point number)} -\entry{significand (of floating point number)}{562}{significand (of floating point number)} -\entry{precision (of floating point number)}{562}{precision (of floating point number)} -\entry{hidden bit (of floating point number mantissa)}{562}{hidden bit (of floating point number mantissa)} -\entry{normalized floating point number}{562}{normalized floating point number} -\entry{IEEE floating point representation}{566}{IEEE floating point representation} -\entry{floating point, IEEE}{566}{floating point, IEEE} -\entry{installing the library}{663}{installing the library} -\entry{installation tools}{665}{installation tools} -\entry{tools, for installing library}{665}{tools, for installing library} -\entry{configurations, all supported}{666}{configurations, all supported} -\entry{reporting bugs}{667}{reporting bugs} -\entry{bugs, reporting}{667}{bugs, reporting} +\entry{allocation hooks, for malloc}{40}{allocation hooks, for \code {malloc}} +\entry{allocation statistics}{41}{allocation statistics} +\entry{obstacks}{43}{obstacks} +\entry{allocation (obstacks)}{45}{allocation (obstacks)} +\entry{freeing (obstacks)}{46}{freeing (obstacks)} +\entry{macros}{47}{macros} +\entry{growing objects (in obstacks)}{47}{growing objects (in obstacks)} +\entry{changing the size of a block (obstacks)}{47}{changing the size of a block (obstacks)} +\entry{shrinking objects}{49}{shrinking objects} +\entry{efficiency and obstacks}{49}{efficiency and obstacks} +\entry{obstack status}{51}{obstack status} +\entry{status of obstack}{51}{status of obstack} +\entry{alignment (in obstacks)}{52}{alignment (in obstacks)} +\entry{efficiency of chunks}{52}{efficiency of chunks} +\entry{chunks}{52}{chunks} +\entry{automatic freeing}{55}{automatic freeing} +\entry{alloca function}{55}{\code {alloca} function} +\entry{automatic storage with variable size}{55}{automatic storage with variable size} +\entry{longjmp}{56}{longjmp} +\entry{alloca disadvantages}{57}{\code {alloca} disadvantages} +\entry{disadvantages of alloca}{57}{disadvantages of \code {alloca}} +\entry{variable-sized arrays}{57}{variable-sized arrays} +\entry{relocating memory allocator}{58}{relocating memory allocator} +\entry{handle}{58}{handle} +\entry{character testing}{61}{character testing} +\entry{classification of characters}{61}{classification of characters} +\entry{predicates on characters}{61}{predicates on characters} +\entry{character predicates}{61}{character predicates} +\entry{lower-case character}{61}{lower-case character} +\entry{upper-case character}{61}{upper-case character} +\entry{alphabetic character}{61}{alphabetic character} +\entry{digit character}{61}{digit character} +\entry{decimal digit character}{61}{decimal digit character} +\entry{alphanumeric character}{62}{alphanumeric character} +\entry{hexadecimal digit character}{62}{hexadecimal digit character} +\entry{punctuation character}{62}{punctuation character} +\entry{whitespace character}{62}{whitespace character} +\entry{blank character}{62}{blank character} +\entry{graphic character}{62}{graphic character} +\entry{printing character}{62}{printing character} +\entry{control character}{62}{control character} +\entry{ASCII character}{63}{ASCII character} +\entry{character case conversion}{63}{character case conversion} +\entry{case conversion of characters}{63}{case conversion of characters} +\entry{converting case of characters}{63}{converting case of characters} +\entry{string, representation of}{65}{string, representation of} +\entry{string}{65}{string} +\entry{null character}{65}{null character} +\entry{string literal}{65}{string literal} +\entry{length of string}{66}{length of string} +\entry{allocation size of string}{66}{allocation size of string} +\entry{size of string}{66}{size of string} +\entry{string length}{66}{string length} +\entry{string allocation}{66}{string allocation} +\entry{copying strings and arrays}{67}{copying strings and arrays} +\entry{string copy functions}{67}{string copy functions} +\entry{array copy functions}{67}{array copy functions} +\entry{concatenating strings}{67}{concatenating strings} +\entry{string concatenation functions}{67}{string concatenation functions} +\entry{comparing strings and arrays}{72}{comparing strings and arrays} +\entry{string comparison functions}{72}{string comparison functions} +\entry{array comparison functions}{72}{array comparison functions} +\entry{predicates on strings}{72}{predicates on strings} +\entry{predicates on arrays}{72}{predicates on arrays} +\entry{collating strings}{75}{collating strings} +\entry{string collation functions}{75}{string collation functions} +\entry{converting string to collation order}{76}{converting string to collation order} +\entry{search functions (for strings)}{78}{search functions (for strings)} +\entry{string search functions}{78}{string search functions} +\entry{tokenizing strings}{80}{tokenizing strings} +\entry{breaking a string into tokens}{80}{breaking a string into tokens} +\entry{parsing tokens from a string}{80}{parsing tokens from a string} +\entry{opening a file}{85}{opening a file} +\entry{file position}{87}{file position} +\entry{sequential-access files}{87}{sequential-access files} +\entry{random-access files}{87}{random-access files} +\entry{append-access files}{87}{append-access files} +\entry{file name}{87}{file name} +\entry{directory}{88}{directory} +\entry{link}{88}{link} +\entry{directory entry}{88}{directory entry} +\entry{file name component}{88}{file name component} +\entry{file name resolution}{88}{file name resolution} +\entry{root directory}{88}{root directory} +\entry{absolute file name}{88}{absolute file name} +\entry{relative file name}{88}{relative file name} +\entry{parent directory}{89}{parent directory} +\entry{file name errors}{89}{file name errors} +\entry{usual file name errors}{89}{usual file name errors} +\entry{file pointer}{93}{file pointer} +\entry{standard streams}{93}{standard streams} +\entry{streams, standard}{93}{streams, standard} +\entry{standard input stream}{93}{standard input stream} +\entry{standard output stream}{93}{standard output stream} +\entry{standard error stream}{94}{standard error stream} +\entry{opening a stream}{94}{opening a stream} +\entry{closing a stream}{96}{closing a stream} +\entry{writing to a stream, by characters}{97}{writing to a stream, by characters} +\entry{reading from a stream, by characters}{98}{reading from a stream, by characters} +\entry{peeking at input}{102}{peeking at input} +\entry{unreading characters}{102}{unreading characters} +\entry{pushing input back}{102}{pushing input back} +\entry{binary I/O to a stream}{104}{binary I/O to a stream} +\entry{block I/O to a stream}{104}{block I/O to a stream} +\entry{reading from a stream, by blocks}{104}{reading from a stream, by blocks} +\entry{writing to a stream, by blocks}{104}{writing to a stream, by blocks} +\entry{format string, for printf}{104}{format string, for \code {printf}} +\entry{template, for printf}{104}{template, for \code {printf}} +\entry{formatted output to a stream}{104}{formatted output to a stream} +\entry{writing to a stream, formatted}{104}{writing to a stream, formatted} +\entry{conversion specifications (printf)}{105}{conversion specifications (\code {printf})} +\entry{flag character (printf)}{106}{flag character (\code {printf})} +\entry{minimum field width (printf)}{106}{minimum field width (\code {printf})} +\entry{precision (printf)}{106}{precision (\code {printf})} +\entry{type modifier character (printf)}{107}{type modifier character (\code {printf})} +\entry{output conversions, for printf}{107}{output conversions, for \code {printf}} +\entry{parsing a template string}{118}{parsing a template string} +\entry{customizing printf}{121}{customizing \code {printf}} +\entry{defining new printf conversions}{121}{defining new \code {printf} conversions} +\entry{extending printf}{121}{extending \code {printf}} +\entry{formatted input from a stream}{126}{formatted input from a stream} +\entry{reading from a stream, formatted}{126}{reading from a stream, formatted} +\entry{format string, for scanf}{126}{format string, for \code {scanf}} +\entry{template, for scanf}{126}{template, for \code {scanf}} +\entry{conversion specifications (scanf)}{127}{conversion specifications (\code {scanf})} +\entry{matching failure, in scanf}{127}{matching failure, in \code {scanf}} +\entry{flag character (scanf)}{128}{flag character (\code {scanf})} +\entry{maximum field width (scanf)}{128}{maximum field width (\code {scanf})} +\entry{type modifier character (scanf)}{128}{type modifier character (\code {scanf})} +\entry{input conversions, for scanf}{129}{input conversions, for \code {scanf}} +\entry{end of file, on a stream}{135}{end of file, on a stream} +\entry{text stream}{136}{text stream} +\entry{binary stream}{136}{binary stream} +\entry{lines (in a text file)}{136}{lines (in a text file)} +\entry{file positioning on a stream}{137}{file positioning on a stream} +\entry{positioning a stream}{137}{positioning a stream} +\entry{seeking on a stream}{137}{seeking on a stream} +\entry{buffering of streams}{140}{buffering of streams} +\entry{unbuffered stream}{140}{unbuffered stream} +\entry{line buffered stream}{140}{line buffered stream} +\entry{fully buffered stream}{140}{fully buffered stream} +\entry{flushing a stream}{141}{flushing a stream} +\entry{buffering, controlling}{141}{buffering, controlling} +\entry{stream, for I/O to a string}{144}{stream, for I/O to a string} +\entry{string stream}{144}{string stream} +\entry{custom streams}{147}{custom streams} +\entry{programming your own streams}{147}{programming your own streams} +\entry{cookie, for custom stream}{147}{cookie, for custom stream} +\entry{hook functions (of custom streams)}{148}{hook functions (of custom streams)} +\entry{opening a file descriptor}{151}{opening a file descriptor} +\entry{closing a file descriptor}{151}{closing a file descriptor} +\entry{reading from a file descriptor}{153}{reading from a file descriptor} +\entry{end-of-file, on a file descriptor}{153}{end-of-file, on a file descriptor} +\entry{writing to a file descriptor}{155}{writing to a file descriptor} +\entry{file positioning on a file descriptor}{156}{file positioning on a file descriptor} +\entry{positioning a file descriptor}{156}{positioning a file descriptor} +\entry{seeking on a file descriptor}{156}{seeking on a file descriptor} +\entry{sparse files}{157}{sparse files} +\entry{holes in files}{157}{holes in files} +\entry{streams, and file descriptors}{159}{streams, and file descriptors} +\entry{converting file descriptor to stream}{159}{converting file descriptor to stream} +\entry{extracting file descriptor from stream}{159}{extracting file descriptor from stream} +\entry{standard file descriptors}{159}{standard file descriptors} +\entry{file descriptors, standard}{159}{file descriptors, standard} +\entry{standard input file descriptor}{159}{standard input file descriptor} +\entry{standard output file descriptor}{160}{standard output file descriptor} +\entry{standard error file descriptor}{160}{standard error file descriptor} +\entry{channels}{160}{channels} +\entry{streams and descriptors}{160}{streams and descriptors} +\entry{descriptors and streams}{160}{descriptors and streams} +\entry{mixing descriptors and streams}{160}{mixing descriptors and streams} +\entry{linked channels}{160}{linked channels} +\entry{cleaning up a stream}{160}{cleaning up a stream} +\entry{independent channels}{160}{independent channels} +\entry{waiting for input or output}{162}{waiting for input or output} +\entry{multiplexing input}{162}{multiplexing input} +\entry{input from multiple files}{162}{input from multiple files} +\entry{file descriptor sets, for select}{162}{file descriptor sets, for \code {select}} +\entry{control operations on files}{165}{control operations on files} +\entry{fcntl function}{165}{\code {fcntl} function} +\entry{duplicating file descriptors}{166}{duplicating file descriptors} +\entry{redirecting input and output}{166}{redirecting input and output} +\entry{file descriptor flags}{168}{file descriptor flags} +\entry{close-on-exec (file descriptor flag)}{169}{close-on-exec (file descriptor flag)} +\entry{file status flags}{170}{file status flags} +\entry{file name translation flags}{171}{file name translation flags} +\entry{flags, file name translation}{171}{flags, file name translation} +\entry{open-time action flags}{171}{open-time action flags} +\entry{flags, open-time action}{171}{flags, open-time action} +\entry{create on open (file status flag)}{171}{create on open (file status flag)} +\entry{non-blocking open}{171}{non-blocking open} +\entry{controlling terminal, setting}{172}{controlling terminal, setting} +\entry{symbolic link, opening}{172}{symbolic link, opening} +\entry{file locks}{175}{file locks} +\entry{record locking}{175}{record locking} +\entry{exclusive lock}{175}{exclusive lock} +\entry{write lock}{175}{write lock} +\entry{shared lock}{176}{shared lock} +\entry{read lock}{176}{read lock} +\entry{interrupt-driven input}{179}{interrupt-driven input} +\entry{current working directory}{181}{current working directory} +\entry{working directory}{181}{working directory} +\entry{change working directory}{181}{change working directory} +\entry{accessing directories}{183}{accessing directories} +\entry{reading from a directory}{183}{reading from a directory} +\entry{directories, accessing}{183}{directories, accessing} +\entry{directory stream}{183}{directory stream} +\entry{hard link}{189}{hard link} +\entry{link, hard}{189}{link, hard} +\entry{multiple names for one file}{189}{multiple names for one file} +\entry{file names, multiple}{189}{file names, multiple} +\entry{soft link}{190}{soft link} +\entry{link, soft}{190}{link, soft} +\entry{symbolic link}{190}{symbolic link} +\entry{link, symbolic}{190}{link, symbolic} +\entry{deleting a file}{192}{deleting a file} +\entry{removing a file}{192}{removing a file} +\entry{unlinking a file}{192}{unlinking a file} +\entry{directories, deleting}{193}{directories, deleting} +\entry{deleting a directory}{193}{deleting a directory} +\entry{renaming a file}{193}{renaming a file} +\entry{creating a directory}{194}{creating a directory} +\entry{directories, creating}{194}{directories, creating} +\entry{status of a file}{195}{status of a file} +\entry{attributes of a file}{195}{attributes of a file} +\entry{file attributes}{195}{file attributes} +\entry{inode number}{198}{inode number} +\entry{file owner}{200}{file owner} +\entry{owner of a file}{200}{owner of a file} +\entry{group owner of a file}{200}{group owner of a file} +\entry{file permission bits}{202}{file permission bits} +\entry{sticky bit}{203}{sticky bit} +\entry{permission to access a file}{204}{permission to access a file} +\entry{access permission for a file}{204}{access permission for a file} +\entry{file access permission}{204}{file access permission} +\entry{file creation mask}{204}{file creation mask} +\entry{umask}{204}{umask} +\entry{testing access permission}{206}{testing access permission} +\entry{access, testing for}{206}{access, testing for} +\entry{setuid programs and file access}{206}{setuid programs and file access} +\entry{file access time}{208}{file access time} +\entry{file modification time}{208}{file modification time} +\entry{file attribute modification time}{208}{file attribute modification time} +\entry{creating special files}{210}{creating special files} +\entry{special files}{210}{special files} +\entry{TMPDIR environment variable}{212}{TMPDIR environment variable} +\entry{pipe}{215}{pipe} +\entry{FIFO special file}{215}{FIFO special file} +\entry{creating a pipe}{215}{creating a pipe} +\entry{opening a pipe}{215}{opening a pipe} +\entry{interprocess communication, with pipes}{215}{interprocess communication, with pipes} +\entry{creating a pipe to a subprocess}{217}{creating a pipe to a subprocess} +\entry{pipe to a subprocess}{217}{pipe to a subprocess} +\entry{filtering i/o through subprocess}{217}{filtering i/o through subprocess} +\entry{creating a FIFO special file}{219}{creating a FIFO special file} +\entry{interprocess communication, with FIFO}{219}{interprocess communication, with FIFO} +\entry{socket}{221}{socket} +\entry{interprocess communication, with sockets}{221}{interprocess communication, with sockets} +\entry{communication style (of a socket)}{221}{communication style (of a socket)} +\entry{style of communication (of a socket)}{221}{style of communication (of a socket)} +\entry{packet}{221}{packet} +\entry{byte stream}{221}{byte stream} +\entry{stream (sockets)}{221}{stream (sockets)} +\entry{loss of data on sockets}{221}{loss of data on sockets} +\entry{data loss on sockets}{221}{data loss on sockets} +\entry{namespace (of socket)}{221}{namespace (of socket)} +\entry{domain (of socket)}{221}{domain (of socket)} +\entry{socket namespace}{221}{socket namespace} +\entry{socket domain}{221}{socket domain} +\entry{network protocol}{222}{network protocol} +\entry{protocol (of socket)}{222}{protocol (of socket)} +\entry{socket protocol}{222}{socket protocol} +\entry{protocol family}{222}{protocol family} +\entry{address of socket}{223}{address of socket} +\entry{name of socket}{223}{name of socket} +\entry{binding a socket address}{223}{binding a socket address} +\entry{socket address (name) binding}{223}{socket address (name) binding} +\entry{file namespace, for sockets}{226}{file namespace, for sockets} +\entry{Internet namespace, for sockets}{229}{Internet namespace, for sockets} +\entry{host address, Internet}{230}{host address, Internet} +\entry{Internet host address}{230}{Internet host address} +\entry{network number}{230}{network number} +\entry{local network address number}{230}{local network address number} +\entry{standard dot notation, for Internet addresses}{231}{standard dot notation, for Internet addresses} +\entry{dot notation, for Internet addresses}{231}{dot notation, for Internet addresses} +\entry{hosts database}{233}{hosts database} +\entry{converting host name to address}{233}{converting host name to address} +\entry{converting host address to name}{233}{converting host address to name} +\entry{port number}{235}{port number} +\entry{services database}{236}{services database} +\entry{converting service name to port number}{236}{converting service name to port number} +\entry{converting port number to service name}{236}{converting port number to service name} +\entry{byte order conversion, for socket}{237}{byte order conversion, for socket} +\entry{converting byte order}{237}{converting byte order} +\entry{big-endian}{237}{big-endian} +\entry{little-endian}{237}{little-endian} +\entry{network byte order}{238}{network byte order} +\entry{protocols database}{238}{protocols database} +\entry{TCP (Internet protocol)}{238}{TCP (Internet protocol)} +\entry{creating a socket}{242}{creating a socket} +\entry{socket, creating}{242}{socket, creating} +\entry{opening a socket}{242}{opening a socket} +\entry{socket, closing}{243}{socket, closing} +\entry{closing a socket}{243}{closing a socket} +\entry{shutting down a socket}{243}{shutting down a socket} +\entry{socket shutdown}{243}{socket shutdown} +\entry{creating a socket pair}{243}{creating a socket pair} +\entry{socket pair}{243}{socket pair} +\entry{opening a socket pair}{243}{opening a socket pair} +\entry{connection}{244}{connection} +\entry{client}{244}{client} +\entry{server}{244}{server} +\entry{connecting a socket}{244}{connecting a socket} +\entry{socket, connecting}{244}{socket, connecting} +\entry{socket, initiating a connection}{244}{socket, initiating a connection} +\entry{socket, client actions}{244}{socket, client actions} +\entry{listening (sockets)}{246}{listening (sockets)} +\entry{sockets, server actions}{246}{sockets, server actions} +\entry{sockets, listening}{246}{sockets, listening} +\entry{sockets, accepting connections}{247}{sockets, accepting connections} +\entry{accepting connections}{247}{accepting connections} +\entry{reading from a socket}{248}{reading from a socket} +\entry{writing to a socket}{248}{writing to a socket} +\entry{out-of-band data}{255}{out-of-band data} +\entry{high-priority data}{255}{high-priority data} +\entry{urgent socket condition}{255}{urgent socket condition} +\entry{datagram socket}{258}{datagram socket} +\entry{sending a datagram}{258}{sending a datagram} +\entry{transmitting datagrams}{258}{transmitting datagrams} +\entry{datagrams, transmitting}{258}{datagrams, transmitting} +\entry{receiving datagrams}{259}{receiving datagrams} +\entry{socket options}{264}{socket options} +\entry{level, for socket options}{264}{level, for socket options} +\entry{socket option level}{264}{socket option level} +\entry{networks database}{267}{networks database} +\entry{converting network number to network name}{267}{converting network number to network name} +\entry{converting network name to network number}{267}{converting network name to network number} +\entry{terminal identification}{269}{terminal identification} +\entry{identifying terminals}{269}{identifying terminals} +\entry{terminal input queue}{269}{terminal input queue} +\entry{typeahead buffer}{269}{typeahead buffer} +\entry{terminal output queue}{270}{terminal output queue} +\entry{canonical input processing}{270}{canonical input processing} +\entry{noncanonical input processing}{270}{noncanonical input processing} +\entry{terminal mode data types}{271}{terminal mode data types} +\entry{terminal mode functions}{272}{terminal mode functions} +\entry{parity checking}{275}{parity checking} +\entry{break condition, detecting}{276}{break condition, detecting} +\entry{modem status lines}{278}{modem status lines} +\entry{carrier detect}{278}{carrier detect} +\entry{modem disconnect}{278}{modem disconnect} +\entry{echo of terminal input}{280}{echo of terminal input} +\entry{interactive signals, from terminal}{281}{interactive signals, from terminal} +\entry{line speed}{282}{line speed} +\entry{baud rate}{282}{baud rate} +\entry{terminal line speed}{282}{terminal line speed} +\entry{terminal line speed}{282}{terminal line speed} +\entry{EOF character}{285}{EOF character} +\entry{EOL character}{285}{EOL character} +\entry{EOL2 character}{285}{EOL2 character} +\entry{ERASE character}{285}{ERASE character} +\entry{WERASE character}{286}{WERASE character} +\entry{KILL character}{286}{KILL character} +\entry{REPRINT character}{286}{REPRINT character} +\entry{INTR character}{286}{INTR character} +\entry{interrupt character}{286}{interrupt character} +\entry{QUIT character}{287}{QUIT character} +\entry{SUSP character}{287}{SUSP character} +\entry{suspend character}{287}{suspend character} +\entry{DSUSP character}{287}{DSUSP character} +\entry{delayed suspend character}{287}{delayed suspend character} +\entry{START character}{288}{START character} +\entry{STOP character}{288}{STOP character} +\entry{LNEXT character}{288}{LNEXT character} +\entry{DISCARD character}{289}{DISCARD character} +\entry{STATUS character}{289}{STATUS character} +\entry{MIN termios slot}{289}{MIN termios slot} +\entry{TIME termios slot}{289}{TIME termios slot} +\entry{terminal line control functions}{291}{terminal line control functions} +\entry{break condition, generating}{291}{break condition, generating} +\entry{flushing terminal output queue}{291}{flushing terminal output queue} +\entry{terminal output queue, flushing}{291}{terminal output queue, flushing} +\entry{clearing terminal input queue}{292}{clearing terminal input queue} +\entry{terminal input queue, clearing}{292}{terminal input queue, clearing} +\entry{flow control, terminal}{292}{flow control, terminal} +\entry{terminal flow control}{292}{terminal flow control} +\entry{domain error}{295}{domain error} +\entry{range error}{295}{range error} +\entry{trigonometric functions}{296}{trigonometric functions} +\entry{pi (trigonometric constant)}{296}{pi (trigonometric constant)} +\entry{inverse trigonometric functions}{297}{inverse trigonometric functions} +\entry{exponentiation functions}{298}{exponentiation functions} +\entry{power functions}{298}{power functions} +\entry{logarithm functions}{298}{logarithm functions} +\entry{square root function}{298}{square root function} +\entry{cube root function}{298}{cube root function} +\entry{hyperbolic functions}{299}{hyperbolic functions} +\entry{inverse hyperbolic functions}{299}{inverse hyperbolic functions} +\entry{random numbers}{300}{random numbers} +\entry{pseudo-random numbers}{300}{pseudo-random numbers} +\entry{seed (for random numbers)}{300}{seed (for random numbers)} +\entry{NaN}{303}{NaN} +\entry{not a number}{303}{not a number} +\entry{IEEE floating point}{303}{IEEE floating point} +\entry{absolute value functions}{304}{absolute value functions} +\entry{normalization functions (floating-point)}{305}{normalization functions (floating-point)} +\entry{rounding functions}{306}{rounding functions} +\entry{remainder functions}{306}{remainder functions} +\entry{converting floats to integers}{306}{converting floats to integers} +\entry{integer division functions}{307}{integer division functions} +\entry{parsing numbers (in formatted input)}{308}{parsing numbers (in formatted input)} +\entry{converting strings to numbers}{308}{converting strings to numbers} +\entry{number syntax, parsing}{308}{number syntax, parsing} +\entry{syntax, for reading numbers}{308}{syntax, for reading numbers} +\entry{Comparison Function}{315}{Comparison Function} +\entry{search function (for arrays)}{315}{search function (for arrays)} +\entry{binary search function (for arrays)}{315}{binary search function (for arrays)} +\entry{array search function}{315}{array search function} +\entry{sort function (for arrays)}{316}{sort function (for arrays)} +\entry{quick sort function (for arrays)}{316}{quick sort function (for arrays)} +\entry{array sort function}{316}{array sort function} +\entry{stable sorting}{316}{stable sorting} +\entry{Kermit the frog}{319}{Kermit the frog} +\entry{globbing}{322}{globbing} +\entry{word expansion}{331}{word expansion} +\entry{expansion of shell words}{331}{expansion of shell words} +\entry{tilde expansion}{332}{tilde expansion} +\entry{variable substitution}{332}{variable substitution} +\entry{substitution of variables and commands}{332}{substitution of variables and commands} +\entry{command substitution}{332}{command substitution} +\entry{arithmetic expansion}{332}{arithmetic expansion} +\entry{field splitting}{332}{field splitting} +\entry{wildcard expansion}{332}{wildcard expansion} +\entry{quote removal}{332}{quote removal} +\entry{removal of quotes}{332}{removal of quotes} +\entry{CPU time}{337}{CPU time} +\entry{processor time}{337}{processor time} +\entry{clock ticks}{337}{clock ticks} +\entry{ticks, clock}{337}{ticks, clock} +\entry{time, elapsed CPU}{337}{time, elapsed CPU} +\entry{Gregorian calendar}{339}{Gregorian calendar} +\entry{time, calendar}{339}{time, calendar} +\entry{date and time}{339}{date and time} +\entry{calendar time}{339}{calendar time} +\entry{high-resolution time}{339}{high-resolution time} +\entry{local time}{339}{local time} +\entry{broken-down time}{339}{broken-down time} +\entry{epoch}{340}{epoch} +\entry{broken-down time}{343}{broken-down time} +\entry{calendar time and broken-down time}{343}{calendar time and broken-down time} +\entry{leap second}{343}{leap second} +\entry{Daylight Saving Time}{344}{Daylight Saving Time} +\entry{summer time}{344}{summer time} +\entry{time zone}{350}{time zone} +\entry{time zone database}{352}{time zone database} +\entry{setting an alarm}{354}{setting an alarm} +\entry{interval timer, setting}{354}{interval timer, setting} +\entry{alarms, setting}{354}{alarms, setting} +\entry{timers, setting}{354}{timers, setting} +\entry{real-time timer}{354}{real-time timer} +\entry{timer, real-time}{354}{timer, real-time} +\entry{virtual timer}{354}{virtual timer} +\entry{timer, virtual}{354}{timer, virtual} +\entry{profiling timer}{354}{profiling timer} +\entry{timer, profiling}{354}{timer, profiling} +\entry{resource limits}{360}{resource limits} +\entry{limits on resource usage}{360}{limits on resource usage} +\entry{usage limits}{360}{usage limits} +\entry{soft limit}{360}{soft limit} +\entry{hard limit}{360}{hard limit} +\entry{process priority}{362}{process priority} +\entry{priority of a process}{362}{priority of a process} +\entry{extended character sets}{365}{extended character sets} +\entry{wide characters}{365}{wide characters} +\entry{multibyte characters}{366}{multibyte characters} +\entry{basic byte sequence}{366}{basic byte sequence} +\entry{code, character}{369}{code, character} +\entry{character code}{369}{character code} +\entry{extended strings, converting representations}{370}{extended strings, converting representations} +\entry{converting extended strings}{370}{converting extended strings} +\entry{multibyte character, length of}{371}{multibyte character, length of} +\entry{length of multibyte character}{371}{length of multibyte character} +\entry{extended characters, converting}{372}{extended characters, converting} +\entry{converting extended characters}{372}{converting extended characters} +\entry{internationalization}{377}{internationalization} +\entry{locales}{377}{locales} +\entry{combining locales}{378}{combining locales} +\entry{categories for locales}{378}{categories for locales} +\entry{locale categories}{378}{locale categories} +\entry{changing the locale}{379}{changing the locale} +\entry{locale, changing}{379}{locale, changing} +\entry{monetary value formatting}{381}{monetary value formatting} +\entry{numeric value formatting}{381}{numeric value formatting} +\entry{decimal-point separator}{382}{decimal-point separator} +\entry{grouping of digits}{382}{grouping of digits} +\entry{currency symbols}{383}{currency symbols} +\entry{non-local exits}{387}{non-local exits} +\entry{long jumps}{387}{long jumps} +\entry{signal}{391}{signal} +\entry{generation of signals}{392}{generation of signals} +\entry{delivery of signals}{392}{delivery of signals} +\entry{pending signals}{392}{pending signals} +\entry{blocked signals}{392}{blocked signals} +\entry{specified action (for a signal)}{393}{specified action (for a signal)} +\entry{default action (for a signal)}{393}{default action (for a signal)} +\entry{signal action}{393}{signal action} +\entry{catching signals}{393}{catching signals} +\entry{signal names}{393}{signal names} +\entry{names of signals}{393}{names of signals} +\entry{signal number}{393}{signal number} +\entry{program error signals}{394}{program error signals} +\entry{exception}{395}{exception} +\entry{floating-point exception}{395}{floating-point exception} +\entry{illegal instruction}{396}{illegal instruction} +\entry{segmentation violation}{396}{segmentation violation} +\entry{bus error}{396}{bus error} +\entry{abort signal}{396}{abort signal} +\entry{program termination signals}{397}{program termination signals} +\entry{termination signal}{397}{termination signal} +\entry{interrupt signal}{397}{interrupt signal} +\entry{quit signal}{398}{quit signal} +\entry{quit signal}{398}{quit signal} +\entry{kill signal}{398}{kill signal} +\entry{hangup signal}{398}{hangup signal} +\entry{alarm signal}{399}{alarm signal} +\entry{virtual time alarm signal}{399}{virtual time alarm signal} +\entry{profiling alarm signal}{399}{profiling alarm signal} +\entry{input available signal}{399}{input available signal} +\entry{output possible signal}{399}{output possible signal} +\entry{urgent data signal}{399}{urgent data signal} +\entry{job control signals}{400}{job control signals} +\entry{child process signal}{400}{child process signal} +\entry{continue signal}{400}{continue signal} +\entry{stop signal}{400}{stop signal} +\entry{interactive stop signal}{401}{interactive stop signal} +\entry{terminal input signal}{401}{terminal input signal} +\entry{terminal output signal}{401}{terminal output signal} +\entry{pipe signal}{402}{pipe signal} +\entry{broken pipe signal}{402}{broken pipe signal} +\entry{lost resource signal}{402}{lost resource signal} +\entry{user signals}{402}{user signals} +\entry{signal messages}{403}{signal messages} +\entry{signal actions}{404}{signal actions} +\entry{establishing a handler}{404}{establishing a handler} +\entry{signal function}{404}{\code {signal} function} +\entry{default action for a signal}{405}{default action for a signal} +\entry{ignore action for a signal}{405}{ignore action for a signal} +\entry{sigaction function}{406}{\code {sigaction} function} +\entry{signal flags}{410}{signal flags} +\entry{flags for sigaction}{410}{flags for \code {sigaction}} +\entry{sigaction flags}{410}{\code {sigaction} flags} +\entry{initial signal actions}{411}{initial signal actions} +\entry{signal handler function}{411}{signal handler function} +\entry{non-local exit, from signal handler}{414}{non-local exit, from signal handler} +\entry{race conditions, relating to signals}{415}{race conditions, relating to signals} +\entry{handling multiple signals}{416}{handling multiple signals} +\entry{successive signals}{416}{successive signals} +\entry{merging of signals}{416}{merging of signals} +\entry{restrictions on signal handler functions}{419}{restrictions on signal handler functions} +\entry{volatile declarations}{419}{\code {volatile} declarations} +\entry{reentrant functions}{419}{reentrant functions} +\entry{EINTR, and restarting interrupted primitives}{424}{EINTR, and restarting interrupted primitives} +\entry{restarting interrupted primitives}{424}{restarting interrupted primitives} +\entry{interrupting primitives}{424}{interrupting primitives} +\entry{primitives, interrupting}{424}{primitives, interrupting} +\entry{sending signals}{424}{sending signals} +\entry{raising signals}{424}{raising signals} +\entry{signals, generating}{424}{signals, generating} +\entry{killing a process}{426}{killing a process} +\entry{interprocess communication, with signals}{428}{interprocess communication, with signals} +\entry{blocking signals}{429}{blocking signals} +\entry{signal set}{430}{signal set} +\entry{signal mask}{431}{signal mask} +\entry{process signal mask}{431}{process signal mask} +\entry{blocking signals, in a handler}{434}{blocking signals, in a handler} +\entry{pending signals, checking for}{435}{pending signals, checking for} +\entry{blocked signals, checking for}{435}{blocked signals, checking for} +\entry{checking for pending signals}{435}{checking for pending signals} +\entry{timing error in signal handling}{437}{timing error in signal handling} +\entry{waiting for a signal}{437}{waiting for a signal} +\entry{pause function}{437}{\code {pause} function} +\entry{process}{445}{process} +\entry{program arguments}{445}{program arguments} +\entry{command line arguments}{445}{command line arguments} +\entry{arguments, to program}{445}{arguments, to program} +\entry{program startup}{445}{program startup} +\entry{startup of program}{445}{startup of program} +\entry{invocation of program}{445}{invocation of program} +\entry{main function}{445}{\code {main} function} +\entry{argc (program argument count)}{445}{argc (program argument count)} +\entry{argv (program argument vector)}{445}{argv (program argument vector)} +\entry{program argument syntax}{446}{program argument syntax} +\entry{syntax, for program arguments}{446}{syntax, for program arguments} +\entry{command argument syntax}{446}{command argument syntax} +\entry{long-named options}{446}{long-named options} +\entry{program arguments, parsing}{447}{program arguments, parsing} +\entry{command arguments, parsing}{447}{command arguments, parsing} +\entry{parsing program arguments}{447}{parsing program arguments} +\entry{environment variable}{456}{environment variable} +\entry{environment}{457}{environment} +\entry{environment access}{457}{environment access} +\entry{environment representation}{457}{environment representation} +\entry{standard environment variables}{458}{standard environment variables} +\entry{HOME environment variable}{458}{HOME environment variable} +\entry{home directory}{458}{home directory} +\entry{LOGNAME environment variable}{458}{LOGNAME environment variable} +\entry{PATH environment variable}{458}{PATH environment variable} +\entry{TERM environment variable}{459}{TERM environment variable} +\entry{TZ environment variable}{459}{TZ environment variable} +\entry{LANG environment variable}{459}{LANG environment variable} +\entry{LC{\_}COLLATE environment variable}{459}{LC_COLLATE environment variable} +\entry{LC{\_}CTYPE environment variable}{459}{LC_CTYPE environment variable} +\entry{LC{\_}MONETARY environment variable}{459}{LC_MONETARY environment variable} +\entry{LC{\_}NUMERIC environment variable}{459}{LC_NUMERIC environment variable} +\entry{LC{\_}TIME environment variable}{460}{LC_TIME environment variable} +\entry{{\_}POSIX{\_}OPTION{\_}ORDER environment variable.}{460}{_POSIX_OPTION_ORDER environment variable.} +\entry{program termination}{460}{program termination} +\entry{process termination}{460}{process termination} +\entry{exit status value}{460}{exit status value} +\entry{exit status}{461}{exit status} +\entry{aborting a program}{463}{aborting a program} +\entry{process}{465}{process} +\entry{child process}{465}{child process} +\entry{parent process}{465}{parent process} +\entry{running a command}{465}{running a command} +\entry{process ID}{466}{process ID} +\entry{process lifetime}{466}{process lifetime} +\entry{creating a process}{466}{creating a process} +\entry{forking a process}{466}{forking a process} +\entry{child process}{466}{child process} +\entry{parent process}{466}{parent process} +\entry{process image}{466}{process image} +\entry{executing a file}{468}{executing a file} +\entry{exec functions}{468}{\code {exec} functions} +\entry{process completion}{471}{process completion} +\entry{waiting for completion of child process}{471}{waiting for completion of child process} +\entry{testing exit status of child process}{471}{testing exit status of child process} +\entry{process groups}{477}{process groups} +\entry{job control}{477}{job control} +\entry{job}{477}{job} +\entry{session}{477}{session} +\entry{shell}{477}{shell} +\entry{session}{477}{session} +\entry{session leader}{477}{session leader} +\entry{controlling terminal}{477}{controlling terminal} +\entry{foreground job}{478}{foreground job} +\entry{background job}{478}{background job} +\entry{stopped job}{478}{stopped job} +\entry{job control is optional}{478}{job control is optional} +\entry{controlling process}{479}{controlling process} +\entry{controlling terminal, access to}{479}{controlling terminal, access to} +\entry{SIGTTIN, from background job}{479}{\code {SIGTTIN}, from background job} +\entry{SIGTTOU, from background job}{479}{\code {SIGTTOU}, from background job} +\entry{orphaned process group}{479}{orphaned process group} +\entry{job control, enabling}{482}{job control, enabling} +\entry{subshell}{482}{subshell} +\entry{job control, enabling}{482}{job control, enabling} +\entry{launching jobs}{484}{launching jobs} +\entry{process group leader}{484}{process group leader} +\entry{process group ID}{484}{process group ID} +\entry{race conditions, relating to job control}{484}{race conditions, relating to job control} +\entry{foreground job, launching}{488}{foreground job, launching} +\entry{background job, launching}{489}{background job, launching} +\entry{stopped jobs, detecting}{490}{stopped jobs, detecting} +\entry{terminated jobs, detecting}{490}{terminated jobs, detecting} +\entry{SIGCHLD, handling of}{490}{\code {SIGCHLD}, handling of} +\entry{stopped jobs, continuing}{494}{stopped jobs, continuing} +\entry{process group functions}{495}{process group functions} +\entry{job control functions}{495}{job control functions} +\entry{controlling terminal, determining}{495}{controlling terminal, determining} +\entry{BSD compatibility library}{496}{BSD compatibility library} +\entry{Name Service Switch}{499}{Name Service Switch} +\entry{NSS}{499}{NSS} +\entry{databases}{499}{databases} +\entry{ethers}{499}{ethers} +\entry{group}{499}{group} +\entry{hosts}{499}{hosts} +\entry{netgroup}{499}{netgroup} +\entry{network}{499}{network} +\entry{protocols}{499}{protocols} +\entry{passwd}{499}{passwd} +\entry{rpc}{499}{rpc} +\entry{services}{499}{services} +\entry{shadow}{499}{shadow} +\entry{/etc/nsswitch.conf}{500}{\file {/etc/nsswitch.conf}} +\entry{nsswitch.conf}{500}{\file {nsswitch.conf}} +\entry{DNS server unavailable}{501}{DNS server unavailable} +\entry{nisplus, and completeness}{502}{nisplus, and completeness} +\entry{nisplus, and booting}{502}{nisplus, and booting} +\entry{bootstrapping, and services}{502}{bootstrapping, and services} +\entry{default value, and NSS}{502}{default value, and NSS} +\entry{optimizing NSS}{503}{optimizing NSS} +\entry{reentrant NSS functions}{504}{reentrant NSS functions} +\entry{login name}{509}{login name} +\entry{user name}{509}{user name} +\entry{user ID}{509}{user ID} +\entry{group name}{509}{group name} +\entry{group ID}{509}{group ID} +\entry{persona}{509}{persona} +\entry{effective user ID}{509}{effective user ID} +\entry{effective group ID}{509}{effective group ID} +\entry{real user ID}{509}{real user ID} +\entry{real group ID}{509}{real group ID} +\entry{supplementary group IDs}{510}{supplementary group IDs} +\entry{setuid programs}{511}{\code {setuid} programs} +\entry{login name, determining}{518}{login name, determining} +\entry{user ID, determining}{518}{user ID, determining} +\entry{user database}{519}{user database} +\entry{password database}{519}{password database} +\entry{converting user ID to user name}{520}{converting user ID to user name} +\entry{converting user name to user ID}{520}{converting user name to user ID} +\entry{scanning the user list}{521}{scanning the user list} +\entry{group database}{523}{group database} +\entry{converting group name to group ID}{523}{converting group name to group ID} +\entry{converting group ID to group name}{523}{converting group ID to group name} +\entry{scanning the group list}{525}{scanning the group list} +\entry{Netgroup}{526}{Netgroup} +\entry{POSIX capacity limits}{535}{POSIX capacity limits} +\entry{limits, POSIX}{535}{limits, POSIX} +\entry{capacity limits, POSIX}{535}{capacity limits, POSIX} +\entry{limits, program argument size}{535}{limits, program argument size} +\entry{limits, number of processes}{535}{limits, number of processes} +\entry{limits, number of open files}{535}{limits, number of open files} +\entry{limits, time zone name length}{536}{limits, time zone name length} +\entry{limits, number of supplementary group IDs}{536}{limits, number of supplementary group IDs} +\entry{POSIX optional features}{536}{POSIX optional features} +\entry{optional POSIX features}{536}{optional POSIX features} +\entry{limits, link count of files}{543}{limits, link count of files} +\entry{limits, terminal input queue}{543}{limits, terminal input queue} +\entry{limits, file name length}{543}{limits, file name length} +\entry{limits, pipe buffer size}{544}{limits, pipe buffer size} +\entry{consistency checking}{551}{consistency checking} +\entry{impossible events}{551}{impossible events} +\entry{assertions}{551}{assertions} +\entry{variable number of arguments}{553}{variable number of arguments} +\entry{variadic functions}{553}{variadic functions} +\entry{optional arguments}{553}{optional arguments} +\entry{function prototypes (variadic)}{554}{function prototypes (variadic)} +\entry{prototypes for variadic functions}{554}{prototypes for variadic functions} +\entry{variadic function prototypes}{554}{variadic function prototypes} +\entry{variadic function argument access}{554}{variadic function argument access} +\entry{arguments (variadic functions)}{554}{arguments (variadic functions)} +\entry{number of arguments passed}{555}{number of arguments passed} +\entry{how many arguments}{555}{how many arguments} +\entry{arguments, how many}{555}{arguments, how many} +\entry{variadic functions, calling}{556}{variadic functions, calling} +\entry{calling variadic functions}{556}{calling variadic functions} +\entry{declaring variadic functions}{556}{declaring variadic functions} +\entry{default argument promotions}{556}{default argument promotions} +\entry{argument promotion}{556}{argument promotion} +\entry{null pointer constant}{559}{null pointer constant} +\entry{integer type width}{561}{integer type width} +\entry{width of integer type}{561}{width of integer type} +\entry{type measurements, integer}{561}{type measurements, integer} +\entry{integer type range}{561}{integer type range} +\entry{range of integer type}{561}{range of integer type} +\entry{limits, integer types}{561}{limits, integer types} +\entry{floating type measurements}{563}{floating type measurements} +\entry{measurements of floating types}{563}{measurements of floating types} +\entry{type measurements, floating}{563}{type measurements, floating} +\entry{limits, floating types}{563}{limits, floating types} +\entry{sign (of floating point number)}{563}{sign (of floating point number)} +\entry{base (of floating point number)}{563}{base (of floating point number)} +\entry{radix (of floating point number)}{563}{radix (of floating point number)} +\entry{exponent (of floating point number)}{563}{exponent (of floating point number)} +\entry{bias (of floating point number exponent)}{563}{bias (of floating point number exponent)} +\entry{mantissa (of floating point number)}{564}{mantissa (of floating point number)} +\entry{significand (of floating point number)}{564}{significand (of floating point number)} +\entry{precision (of floating point number)}{564}{precision (of floating point number)} +\entry{hidden bit (of floating point number mantissa)}{564}{hidden bit (of floating point number mantissa)} +\entry{normalized floating point number}{564}{normalized floating point number} +\entry{IEEE floating point representation}{568}{IEEE floating point representation} +\entry{floating point, IEEE}{568}{floating point, IEEE} +\entry{installing the library}{665}{installing the library} +\entry{installation tools}{667}{installation tools} +\entry{tools, for installing library}{667}{tools, for installing library} +\entry{configurations, all supported}{668}{configurations, all supported} +\entry{reporting bugs}{669}{reporting bugs} +\entry{bugs, reporting}{669}{bugs, reporting} diff -durpN glibc-2.0.2/manual/libc.cps glibc-2.0.3/manual/libc.cps --- glibc-2.0.2/manual/libc.cps Tue Mar 18 22:30:15 1997 +++ glibc-2.0.3/manual/libc.cps Sun Apr 20 18:25:21 1997 @@ -1,848 +1,846 @@ \initial {/} -\entry {\file {/etc/nsswitch.conf}}{498} +\entry {\file {/etc/nsswitch.conf}}{500} \initial {{\_}} -\entry {_POSIX_OPTION_ORDER environment variable.}{458} +\entry {_POSIX_OPTION_ORDER environment variable.}{460} \initial {4} \entry {4.\var {n} BSD Unix}{3} \initial {A} -\entry {abort signal}{394} -\entry {aborting a program}{461} -\entry {absolute file name}{86} -\entry {absolute value functions}{302} -\entry {accepting connections}{245} -\entry {access permission for a file}{202} -\entry {access, testing for}{204} -\entry {accessing directories}{181} -\entry {address of socket}{221} -\entry {alarm signal}{397} -\entry {alarms, setting}{352} -\entry {alignment (in obstacks)}{51} +\entry {abort signal}{396} +\entry {aborting a program}{463} +\entry {absolute file name}{88} +\entry {absolute value functions}{304} +\entry {accepting connections}{247} +\entry {access permission for a file}{204} +\entry {access, testing for}{206} +\entry {accessing directories}{183} +\entry {address of socket}{223} +\entry {alarm signal}{399} +\entry {alarms, setting}{354} +\entry {alignment (in obstacks)}{52} \entry {alignment (with \code {malloc})}{37} -\entry {\code {alloca} disadvantages}{56} -\entry {\code {alloca} function}{54} -\entry {allocation (obstacks)}{44} -\entry {allocation hooks, for \code {malloc}}{39} +\entry {\code {alloca} disadvantages}{57} +\entry {\code {alloca} function}{55} +\entry {allocation (obstacks)}{45} +\entry {allocation hooks, for \code {malloc}}{40} \entry {allocation of memory with \code {malloc}}{32} -\entry {allocation size of string}{64} -\entry {allocation statistics}{40} -\entry {alphabetic character}{59} -\entry {alphanumeric character}{60} -\entry {append-access files}{85} -\entry {argc (program argument count)}{443} -\entry {argument promotion}{554} -\entry {arguments (variadic functions)}{552} -\entry {arguments, how many}{553} -\entry {arguments, to program}{443} -\entry {argv (program argument vector)}{443} -\entry {arithmetic expansion}{330} -\entry {array comparison functions}{70} -\entry {array copy functions}{65} -\entry {array search function}{313} -\entry {array sort function}{314} -\entry {ASCII character}{61} -\entry {assertions}{549} -\entry {attributes of a file}{193} +\entry {allocation size of string}{66} +\entry {allocation statistics}{41} +\entry {alphabetic character}{61} +\entry {alphanumeric character}{62} +\entry {append-access files}{87} +\entry {argc (program argument count)}{445} +\entry {argument promotion}{556} +\entry {arguments (variadic functions)}{554} +\entry {arguments, how many}{555} +\entry {arguments, to program}{445} +\entry {argv (program argument vector)}{445} +\entry {arithmetic expansion}{332} +\entry {array comparison functions}{72} +\entry {array copy functions}{67} +\entry {array search function}{315} +\entry {array sort function}{316} +\entry {ASCII character}{63} +\entry {assertions}{551} +\entry {attributes of a file}{195} \entry {automatic allocation}{31} -\entry {automatic freeing}{54} -\entry {automatic storage with variable size}{54} +\entry {automatic freeing}{55} +\entry {automatic storage with variable size}{55} \initial {B} -\entry {background job}{476} -\entry {background job, launching}{487} -\entry {base (of floating point number)}{561} -\entry {basic byte sequence}{364} -\entry {baud rate}{280} +\entry {background job}{478} +\entry {background job, launching}{489} +\entry {base (of floating point number)}{563} +\entry {basic byte sequence}{366} +\entry {baud rate}{282} \entry {Berkeley Unix}{3} -\entry {bias (of floating point number exponent)}{561} -\entry {big-endian}{235} -\entry {binary I/O to a stream}{102} -\entry {binary search function (for arrays)}{313} -\entry {binary stream}{134} -\entry {binding a socket address}{221} -\entry {blank character}{60} -\entry {block I/O to a stream}{102} -\entry {blocked signals}{390} -\entry {blocked signals, checking for}{433} -\entry {blocking signals}{427} -\entry {blocking signals, in a handler}{432} -\entry {bootstrapping, and services}{500} -\entry {break condition, detecting}{274} -\entry {break condition, generating}{289} -\entry {breaking a string into tokens}{78} -\entry {broken pipe signal}{400} -\entry {broken-down time}{337, 341} -\entry {BSD compatibility library}{494} +\entry {bias (of floating point number exponent)}{563} +\entry {big-endian}{237} +\entry {binary I/O to a stream}{104} +\entry {binary search function (for arrays)}{315} +\entry {binary stream}{136} +\entry {binding a socket address}{223} +\entry {blank character}{62} +\entry {block I/O to a stream}{104} +\entry {blocked signals}{392} +\entry {blocked signals, checking for}{435} +\entry {blocking signals}{429} +\entry {blocking signals, in a handler}{434} +\entry {bootstrapping, and services}{502} +\entry {break condition, detecting}{276} +\entry {break condition, generating}{291} +\entry {breaking a string into tokens}{80} +\entry {broken pipe signal}{402} +\entry {broken-down time}{339, 343} +\entry {BSD compatibility library}{496} \entry {BSD compatibility library.}{9} \entry {BSD Unix}{3} -\entry {buffering of streams}{138} -\entry {buffering, controlling}{139} -\entry {bugs, reporting}{667} -\entry {bus error}{394} -\entry {byte order conversion, for socket}{235} -\entry {byte stream}{219} +\entry {buffering of streams}{140} +\entry {buffering, controlling}{141} +\entry {bugs, reporting}{669} +\entry {bus error}{396} +\entry {byte order conversion, for socket}{237} +\entry {byte stream}{221} \initial {C} -\entry {calendar time}{337} -\entry {calendar time and broken-down time}{341} -\entry {calling variadic functions}{554} -\entry {canonical input processing}{268} -\entry {capacity limits, POSIX}{533} -\entry {carrier detect}{276} -\entry {case conversion of characters}{61} -\entry {catching signals}{391} -\entry {categories for locales}{376} -\entry {change working directory}{179} -\entry {changing the locale}{377} +\entry {calendar time}{339} +\entry {calendar time and broken-down time}{343} +\entry {calling variadic functions}{556} +\entry {canonical input processing}{270} +\entry {capacity limits, POSIX}{535} +\entry {carrier detect}{278} +\entry {case conversion of characters}{63} +\entry {catching signals}{393} +\entry {categories for locales}{378} +\entry {change working directory}{181} +\entry {changing the locale}{379} \entry {changing the size of a block (\code {malloc})}{35} -\entry {changing the size of a block (obstacks)}{46} -\entry {channels}{158} -\entry {character case conversion}{61} -\entry {character code}{367} -\entry {character predicates}{59} -\entry {character testing}{59} -\entry {checking for pending signals}{433} -\entry {child process}{463, 464} -\entry {child process signal}{398} -\entry {chunks}{51} -\entry {classification of characters}{59} -\entry {cleaning up a stream}{158} -\entry {clearing terminal input queue}{290} -\entry {client}{242} -\entry {clock ticks}{335} -\entry {close-on-exec (file descriptor flag)}{167} -\entry {closing a file descriptor}{149} -\entry {closing a socket}{241} -\entry {closing a stream}{94} -\entry {code, character}{367} -\entry {collating strings}{73} -\entry {combining locales}{376} -\entry {command argument syntax}{444} -\entry {command arguments, parsing}{445} -\entry {command line arguments}{443} -\entry {command substitution}{330} -\entry {communication style (of a socket)}{219} -\entry {comparing strings and arrays}{70} -\entry {Comparison Function}{313} -\entry {concatenating strings}{65} -\entry {configurations, all supported}{666} -\entry {connecting a socket}{242} -\entry {connection}{242} -\entry {consistency checking}{549} +\entry {changing the size of a block (obstacks)}{47} +\entry {channels}{160} +\entry {character case conversion}{63} +\entry {character code}{369} +\entry {character predicates}{61} +\entry {character testing}{61} +\entry {checking for pending signals}{435} +\entry {child process}{465, 466} +\entry {child process signal}{400} +\entry {chunks}{52} +\entry {classification of characters}{61} +\entry {cleaning up a stream}{160} +\entry {clearing terminal input queue}{292} +\entry {client}{244} +\entry {clock ticks}{337} +\entry {close-on-exec (file descriptor flag)}{169} +\entry {closing a file descriptor}{151} +\entry {closing a socket}{243} +\entry {closing a stream}{96} +\entry {code, character}{369} +\entry {collating strings}{75} +\entry {combining locales}{378} +\entry {command argument syntax}{446} +\entry {command arguments, parsing}{447} +\entry {command line arguments}{445} +\entry {command substitution}{332} +\entry {communication style (of a socket)}{221} +\entry {comparing strings and arrays}{72} +\entry {Comparison Function}{315} +\entry {concatenating strings}{67} +\entry {configurations, all supported}{668} +\entry {connecting a socket}{244} +\entry {connection}{244} +\entry {consistency checking}{551} \entry {consistency checking, of heap}{38} -\entry {continue signal}{398} -\entry {control character}{60} -\entry {control operations on files}{163} -\entry {controlling process}{477} -\entry {controlling terminal}{475} -\entry {controlling terminal, access to}{477} -\entry {controlling terminal, determining}{493} -\entry {controlling terminal, setting}{170} -\entry {conversion specifications (\code {printf})}{103} -\entry {conversion specifications (\code {scanf})}{125} -\entry {converting byte order}{235} -\entry {converting case of characters}{61} -\entry {converting extended characters}{370} -\entry {converting extended strings}{368} -\entry {converting file descriptor to stream}{157} -\entry {converting floats to integers}{304} -\entry {converting group ID to group name}{521} -\entry {converting group name to group ID}{521} -\entry {converting host address to name}{231} -\entry {converting host name to address}{231} -\entry {converting network name to network number}{265} -\entry {converting network number to network name}{265} -\entry {converting port number to service name}{234} -\entry {converting service name to port number}{234} -\entry {converting string to collation order}{74} -\entry {converting strings to numbers}{306} -\entry {converting user ID to user name}{518} -\entry {converting user name to user ID}{518} -\entry {cookie, for custom stream}{145} -\entry {copying strings and arrays}{65} -\entry {CPU time}{335} -\entry {create on open (file status flag)}{169} -\entry {creating a directory}{192} -\entry {creating a FIFO special file}{217} -\entry {creating a pipe}{213} -\entry {creating a pipe to a subprocess}{215} -\entry {creating a process}{464} -\entry {creating a socket}{240} -\entry {creating a socket pair}{241} -\entry {creating special files}{208} -\entry {cube root function}{296} -\entry {currency symbols}{381} -\entry {current working directory}{179} -\entry {custom streams}{145} -\entry {customizing \code {printf}}{119} +\entry {continue signal}{400} +\entry {control character}{62} +\entry {control operations on files}{165} +\entry {controlling process}{479} +\entry {controlling terminal}{477} +\entry {controlling terminal, access to}{479} +\entry {controlling terminal, determining}{495} +\entry {controlling terminal, setting}{172} +\entry {conversion specifications (\code {printf})}{105} +\entry {conversion specifications (\code {scanf})}{127} +\entry {converting byte order}{237} +\entry {converting case of characters}{63} +\entry {converting extended characters}{372} +\entry {converting extended strings}{370} +\entry {converting file descriptor to stream}{159} +\entry {converting floats to integers}{306} +\entry {converting group ID to group name}{523} +\entry {converting group name to group ID}{523} +\entry {converting host address to name}{233} +\entry {converting host name to address}{233} +\entry {converting network name to network number}{267} +\entry {converting network number to network name}{267} +\entry {converting port number to service name}{236} +\entry {converting service name to port number}{236} +\entry {converting string to collation order}{76} +\entry {converting strings to numbers}{308} +\entry {converting user ID to user name}{520} +\entry {converting user name to user ID}{520} +\entry {cookie, for custom stream}{147} +\entry {copying strings and arrays}{67} +\entry {CPU time}{337} +\entry {create on open (file status flag)}{171} +\entry {creating a directory}{194} +\entry {creating a FIFO special file}{219} +\entry {creating a pipe}{215} +\entry {creating a pipe to a subprocess}{217} +\entry {creating a process}{466} +\entry {creating a socket}{242} +\entry {creating a socket pair}{243} +\entry {creating special files}{210} +\entry {cube root function}{298} +\entry {currency symbols}{383} +\entry {current working directory}{181} +\entry {custom streams}{147} +\entry {customizing \code {printf}}{121} \initial {D} -\entry {data loss on sockets}{219} -\entry {databases}{497} -\entry {datagram socket}{256} -\entry {datagrams, transmitting}{256} -\entry {date and time}{337} -\entry {Daylight Saving Time}{342} -\entry {decimal digit character}{59} -\entry {decimal-point separator}{380} +\entry {data loss on sockets}{221} +\entry {databases}{499} +\entry {datagram socket}{258} +\entry {datagrams, transmitting}{258} +\entry {date and time}{339} +\entry {Daylight Saving Time}{344} +\entry {decimal digit character}{61} +\entry {decimal-point separator}{382} \entry {declaration (compared to definition)}{4} -\entry {declaring variadic functions}{554} -\entry {default action (for a signal)}{391} -\entry {default action for a signal}{403} -\entry {default argument promotions}{554} -\entry {default value, and NSS}{500} -\entry {defining new \code {printf} conversions}{119} +\entry {declaring variadic functions}{556} +\entry {default action (for a signal)}{393} +\entry {default action for a signal}{405} +\entry {default argument promotions}{556} +\entry {default value, and NSS}{502} +\entry {defining new \code {printf} conversions}{121} \entry {definition (compared to declaration)}{4} -\entry {delayed suspend character}{285} -\entry {deleting a directory}{191} -\entry {deleting a file}{190} -\entry {delivery of signals}{390} -\entry {descriptors and streams}{158} -\entry {digit character}{59} -\entry {directories, accessing}{181} -\entry {directories, creating}{192} -\entry {directories, deleting}{191} -\entry {directory}{86} -\entry {directory entry}{86} -\entry {directory stream}{181} -\entry {disadvantages of \code {alloca}}{56} -\entry {DISCARD character}{287} -\entry {DNS server unavailable}{499} -\entry {domain (of socket)}{219} -\entry {domain error}{293} -\entry {dot notation, for Internet addresses}{229} -\entry {DSUSP character}{285} -\entry {duplicating file descriptors}{164} +\entry {delayed suspend character}{287} +\entry {deleting a directory}{193} +\entry {deleting a file}{192} +\entry {delivery of signals}{392} +\entry {descriptors and streams}{160} +\entry {digit character}{61} +\entry {directories, accessing}{183} +\entry {directories, creating}{194} +\entry {directories, deleting}{193} +\entry {directory}{88} +\entry {directory entry}{88} +\entry {directory stream}{183} +\entry {disadvantages of \code {alloca}}{57} +\entry {DISCARD character}{289} +\entry {DNS server unavailable}{501} +\entry {domain (of socket)}{221} +\entry {domain error}{295} +\entry {dot notation, for Internet addresses}{231} +\entry {DSUSP character}{287} +\entry {duplicating file descriptors}{166} \entry {dynamic allocation}{31} \initial {E} -\entry {echo of terminal input}{278} -\entry {effective group ID}{507} -\entry {effective user ID}{507} -\entry {efficiency and \code {malloc}}{36} -\entry {efficiency and obstacks}{48} -\entry {efficiency of chunks}{51} -\entry {EINTR, and restarting interrupted primitives}{422} -\entry {end of file, on a stream}{133} -\entry {end-of-file, on a file descriptor}{151} -\entry {environment}{455} -\entry {environment access}{455} -\entry {environment representation}{455} -\entry {environment variable}{454} -\entry {EOF character}{283} -\entry {EOL character}{283} -\entry {EOL2 character}{283} -\entry {epoch}{338} -\entry {ERASE character}{283} +\entry {echo of terminal input}{280} +\entry {effective group ID}{509} +\entry {effective user ID}{509} +\entry {efficiency and \code {malloc}}{37} +\entry {efficiency and obstacks}{49} +\entry {efficiency of chunks}{52} +\entry {EINTR, and restarting interrupted primitives}{424} +\entry {end of file, on a stream}{135} +\entry {end-of-file, on a file descriptor}{153} +\entry {environment}{457} +\entry {environment access}{457} +\entry {environment representation}{457} +\entry {environment variable}{456} +\entry {EOF character}{285} +\entry {EOL character}{285} +\entry {EOL2 character}{285} +\entry {epoch}{340} +\entry {ERASE character}{285} \entry {error codes}{15} \entry {error reporting}{15} -\entry {establishing a handler}{402} -\entry {ethers}{497} -\entry {exception}{393} -\entry {exclusive lock}{173} -\entry {\code {exec} functions}{466} -\entry {executing a file}{466} -\entry {exit status}{459} -\entry {exit status value}{458} -\entry {expansion of shell words}{329} -\entry {exponent (of floating point number)}{561} -\entry {exponentiation functions}{296} -\entry {extended character sets}{363} -\entry {extended characters, converting}{370} -\entry {extended strings, converting representations}{368} -\entry {extending \code {printf}}{119} -\entry {extracting file descriptor from stream}{157} +\entry {establishing a handler}{404} +\entry {ethers}{499} +\entry {exception}{395} +\entry {exclusive lock}{175} +\entry {\code {exec} functions}{468} +\entry {executing a file}{468} +\entry {exit status}{461} +\entry {exit status value}{460} +\entry {expansion of shell words}{331} +\entry {exponent (of floating point number)}{563} +\entry {exponentiation functions}{298} +\entry {extended character sets}{365} +\entry {extended characters, converting}{372} +\entry {extended strings, converting representations}{370} +\entry {extending \code {printf}}{121} +\entry {extracting file descriptor from stream}{159} \initial {F} -\entry {\code {fcntl} function}{163} +\entry {\code {fcntl} function}{165} \entry {feature test macros}{8} -\entry {field splitting}{330} -\entry {FIFO special file}{213} -\entry {file access permission}{202} -\entry {file access time}{206} -\entry {file attribute modification time}{206} -\entry {file attributes}{193} -\entry {file creation mask}{202} -\entry {file descriptor flags}{166} -\entry {file descriptor sets, for \code {select}}{160} -\entry {file descriptors, standard}{157} -\entry {file locks}{173} -\entry {file modification time}{206} -\entry {file name}{85} -\entry {file name component}{86} -\entry {file name errors}{87} -\entry {file name resolution}{86} -\entry {file name translation flags}{169} -\entry {file names, multiple}{187} -\entry {file namespace, for sockets}{224} -\entry {file owner}{198} -\entry {file permission bits}{200} -\entry {file pointer}{91} -\entry {file position}{85} -\entry {file positioning on a file descriptor}{154} -\entry {file positioning on a stream}{135} -\entry {file status flags}{168} -\entry {filtering i/o through subprocess}{215} -\entry {flag character (\code {printf})}{104} -\entry {flag character (\code {scanf})}{126} -\entry {flags for \code {sigaction}}{408} -\entry {flags, file name translation}{169} -\entry {flags, open-time action}{169} -\entry {floating point, IEEE}{566} -\entry {floating type measurements}{561} -\entry {floating-point exception}{393} -\entry {flow control, terminal}{290} -\entry {flushing a stream}{139} -\entry {flushing terminal output queue}{289} -\entry {foreground job}{476} -\entry {foreground job, launching}{486} -\entry {forking a process}{464} -\entry {format string, for \code {printf}}{102} -\entry {format string, for \code {scanf}}{124} -\entry {formatted input from a stream}{124} -\entry {formatted output to a stream}{102} -\entry {freeing (obstacks)}{45} +\entry {field splitting}{332} +\entry {FIFO special file}{215} +\entry {file access permission}{204} +\entry {file access time}{208} +\entry {file attribute modification time}{208} +\entry {file attributes}{195} +\entry {file creation mask}{204} +\entry {file descriptor flags}{168} +\entry {file descriptor sets, for \code {select}}{162} +\entry {file descriptors, standard}{159} +\entry {file locks}{175} +\entry {file modification time}{208} +\entry {file name}{87} +\entry {file name component}{88} +\entry {file name errors}{89} +\entry {file name resolution}{88} +\entry {file name translation flags}{171} +\entry {file names, multiple}{189} +\entry {file namespace, for sockets}{226} +\entry {file owner}{200} +\entry {file permission bits}{202} +\entry {file pointer}{93} +\entry {file position}{87} +\entry {file positioning on a file descriptor}{156} +\entry {file positioning on a stream}{137} +\entry {file status flags}{170} +\entry {filtering i/o through subprocess}{217} +\entry {flag character (\code {printf})}{106} +\entry {flag character (\code {scanf})}{128} +\entry {flags for \code {sigaction}}{410} +\entry {flags, file name translation}{171} +\entry {flags, open-time action}{171} +\entry {floating point, IEEE}{568} +\entry {floating type measurements}{563} +\entry {floating-point exception}{395} +\entry {flow control, terminal}{292} +\entry {flushing a stream}{141} +\entry {flushing terminal output queue}{291} +\entry {foreground job}{478} +\entry {foreground job, launching}{488} +\entry {forking a process}{466} +\entry {format string, for \code {printf}}{104} +\entry {format string, for \code {scanf}}{126} +\entry {formatted input from a stream}{126} +\entry {formatted output to a stream}{104} +\entry {freeing (obstacks)}{46} \entry {freeing memory allocated with \code {malloc}}{34} -\entry {fully buffered stream}{138} -\entry {function prototypes (variadic)}{552} +\entry {fully buffered stream}{140} +\entry {function prototypes (variadic)}{554} \initial {G} -\entry {generation of signals}{390} -\entry {globbing}{320} -\entry {graphic character}{60} -\entry {Gregorian calendar}{337} -\entry {group}{497} -\entry {group database}{521} -\entry {group ID}{507} -\entry {group name}{507} -\entry {group owner of a file}{198} -\entry {grouping of digits}{380} -\entry {growing objects (in obstacks)}{46} +\entry {generation of signals}{392} +\entry {globbing}{322} +\entry {graphic character}{62} +\entry {Gregorian calendar}{339} +\entry {group}{499} +\entry {group database}{523} +\entry {group ID}{509} +\entry {group name}{509} +\entry {group owner of a file}{200} +\entry {grouping of digits}{382} +\entry {growing objects (in obstacks)}{47} \initial {H} -\entry {handle}{57} -\entry {handling multiple signals}{414} -\entry {hangup signal}{396} -\entry {hard limit}{358} -\entry {hard link}{187} +\entry {handle}{58} +\entry {handling multiple signals}{416} +\entry {hangup signal}{398} +\entry {hard limit}{360} +\entry {hard link}{189} \entry {header files}{4} \entry {heap consistency checking}{38} \entry {heap, dynamic allocation from}{32} \entry {heap, freeing memory from}{34} -\entry {hexadecimal digit character}{60} -\entry {hidden bit (of floating point number mantissa)}{562} -\entry {high-priority data}{253} -\entry {high-resolution time}{337} -\entry {holes in files}{155} -\entry {home directory}{456} -\entry {HOME environment variable}{456} -\entry {hook functions (of custom streams)}{146} -\entry {host address, Internet}{228} -\entry {hosts}{497} -\entry {hosts database}{231} -\entry {how many arguments}{553} -\entry {hyperbolic functions}{297} +\entry {hexadecimal digit character}{62} +\entry {hidden bit (of floating point number mantissa)}{564} +\entry {high-priority data}{255} +\entry {high-resolution time}{339} +\entry {holes in files}{157} +\entry {home directory}{458} +\entry {HOME environment variable}{458} +\entry {hook functions (of custom streams)}{148} +\entry {host address, Internet}{230} +\entry {hosts}{499} +\entry {hosts database}{233} +\entry {how many arguments}{555} +\entry {hyperbolic functions}{299} \initial {I} -\entry {identifying terminals}{267} -\entry {IEEE floating point}{301} -\entry {IEEE floating point representation}{566} +\entry {identifying terminals}{269} +\entry {IEEE floating point}{303} +\entry {IEEE floating point representation}{568} \entry {IEEE Std 1003.1}{2} \entry {IEEE Std 1003.2}{2} -\entry {ignore action for a signal}{403} -\entry {illegal instruction}{394} -\entry {impossible events}{549} -\entry {independent channels}{158} -\entry {initial signal actions}{409} -\entry {inode number}{196} -\entry {input available signal}{397} -\entry {input conversions, for \code {scanf}}{127} -\entry {input from multiple files}{160} -\entry {installation tools}{665} -\entry {installing the library}{663} -\entry {integer division functions}{305} -\entry {integer type range}{559} -\entry {integer type width}{559} -\entry {interactive signals, from terminal}{279} -\entry {interactive stop signal}{399} -\entry {internationalization}{375} -\entry {Internet host address}{228} -\entry {Internet namespace, for sockets}{227} -\entry {interprocess communication, with FIFO}{217} -\entry {interprocess communication, with pipes}{213} -\entry {interprocess communication, with signals}{426} -\entry {interprocess communication, with sockets}{219} -\entry {interrupt character}{284} -\entry {interrupt signal}{395} -\entry {interrupt-driven input}{177} -\entry {interrupting primitives}{422} -\entry {interval timer, setting}{352} -\entry {INTR character}{284} -\entry {inverse hyperbolic functions}{297} -\entry {inverse trigonometric functions}{295} -\entry {invocation of program}{443} +\entry {ignore action for a signal}{405} +\entry {illegal instruction}{396} +\entry {impossible events}{551} +\entry {independent channels}{160} +\entry {initial signal actions}{411} +\entry {inode number}{198} +\entry {input available signal}{399} +\entry {input conversions, for \code {scanf}}{129} +\entry {input from multiple files}{162} +\entry {installation tools}{667} +\entry {installing the library}{665} +\entry {integer division functions}{307} +\entry {integer type range}{561} +\entry {integer type width}{561} +\entry {interactive signals, from terminal}{281} +\entry {interactive stop signal}{401} +\entry {internationalization}{377} +\entry {Internet host address}{230} +\entry {Internet namespace, for sockets}{229} +\entry {interprocess communication, with FIFO}{219} +\entry {interprocess communication, with pipes}{215} +\entry {interprocess communication, with signals}{428} +\entry {interprocess communication, with sockets}{221} +\entry {interrupt character}{286} +\entry {interrupt signal}{397} +\entry {interrupt-driven input}{179} +\entry {interrupting primitives}{424} +\entry {interval timer, setting}{354} +\entry {INTR character}{286} +\entry {inverse hyperbolic functions}{299} +\entry {inverse trigonometric functions}{297} +\entry {invocation of program}{445} \entry {ISO C}{2} \initial {J} -\entry {job}{475} -\entry {job control}{475} -\entry {job control functions}{493} -\entry {job control is optional}{476} -\entry {job control signals}{398} -\entry {job control, enabling}{480} +\entry {job}{477} +\entry {job control}{477} +\entry {job control functions}{495} +\entry {job control is optional}{478} +\entry {job control signals}{400} +\entry {job control, enabling}{482} \initial {K} -\entry {Kermit the frog}{317} -\entry {KILL character}{284} -\entry {kill signal}{396} -\entry {killing a process}{424} +\entry {Kermit the frog}{319} +\entry {KILL character}{286} +\entry {kill signal}{398} +\entry {killing a process}{426} \initial {L} -\entry {LANG environment variable}{457} -\entry {launching jobs}{482} -\entry {LC_COLLATE environment variable}{457} -\entry {LC_CTYPE environment variable}{457} -\entry {LC_MONETARY environment variable}{457} -\entry {LC_NUMERIC environment variable}{457} -\entry {LC_TIME environment variable}{458} -\entry {leap second}{341} -\entry {length of multibyte character}{369} -\entry {length of string}{64} -\entry {level, for socket options}{262} +\entry {LANG environment variable}{459} +\entry {launching jobs}{484} +\entry {LC_COLLATE environment variable}{459} +\entry {LC_CTYPE environment variable}{459} +\entry {LC_MONETARY environment variable}{459} +\entry {LC_NUMERIC environment variable}{459} +\entry {LC_TIME environment variable}{460} +\entry {leap second}{343} +\entry {length of multibyte character}{371} +\entry {length of string}{66} +\entry {level, for socket options}{264} \entry {library}{1} -\entry {limits on resource usage}{358} -\entry {limits, file name length}{541} -\entry {limits, floating types}{561} -\entry {limits, integer types}{559} -\entry {limits, link count of files}{541} -\entry {limits, number of open files}{533} -\entry {limits, number of processes}{533} -\entry {limits, number of supplementary group IDs}{534} -\entry {limits, pipe buffer size}{542} -\entry {limits, POSIX}{533} -\entry {limits, program argument size}{533} -\entry {limits, terminal input queue}{541} -\entry {limits, time zone name length}{534} -\entry {line buffered stream}{138} -\entry {line speed}{280} -\entry {lines (in a text file)}{134} -\entry {link}{86} -\entry {link, hard}{187} -\entry {link, soft}{188} -\entry {link, symbolic}{188} -\entry {linked channels}{158} -\entry {listening (sockets)}{244} -\entry {little-endian}{235} -\entry {LNEXT character}{286} -\entry {local network address number}{228} -\entry {local time}{337} -\entry {locale categories}{376} -\entry {locale, changing}{377} -\entry {locales}{375} -\entry {logarithm functions}{296} -\entry {login name}{507} -\entry {login name, determining}{516} -\entry {LOGNAME environment variable}{456} -\entry {long jumps}{385} -\entry {long-named options}{444} -\entry {longjmp}{55} -\entry {loss of data on sockets}{219} -\entry {lost resource signal}{400} -\entry {lower-case character}{59} +\entry {limits on resource usage}{360} +\entry {limits, file name length}{543} +\entry {limits, floating types}{563} +\entry {limits, integer types}{561} +\entry {limits, link count of files}{543} +\entry {limits, number of open files}{535} +\entry {limits, number of processes}{535} +\entry {limits, number of supplementary group IDs}{536} +\entry {limits, pipe buffer size}{544} +\entry {limits, POSIX}{535} +\entry {limits, program argument size}{535} +\entry {limits, terminal input queue}{543} +\entry {limits, time zone name length}{536} +\entry {line buffered stream}{140} +\entry {line speed}{282} +\entry {lines (in a text file)}{136} +\entry {link}{88} +\entry {link, hard}{189} +\entry {link, soft}{190} +\entry {link, symbolic}{190} +\entry {linked channels}{160} +\entry {listening (sockets)}{246} +\entry {little-endian}{237} +\entry {LNEXT character}{288} +\entry {local network address number}{230} +\entry {local time}{339} +\entry {locale categories}{378} +\entry {locale, changing}{379} +\entry {locales}{377} +\entry {logarithm functions}{298} +\entry {login name}{509} +\entry {login name, determining}{518} +\entry {LOGNAME environment variable}{458} +\entry {long jumps}{387} +\entry {long-named options}{446} +\entry {longjmp}{56} +\entry {loss of data on sockets}{221} +\entry {lost resource signal}{402} +\entry {lower-case character}{61} \initial {M} -\entry {macros}{46} -\entry {\code {main} function}{443} +\entry {macros}{47} +\entry {\code {main} function}{445} \entry {\code {malloc} function}{32} -\entry {mantissa (of floating point number)}{562} -\entry {matching failure, in \code {scanf}}{125} -\entry {maximum field width (\code {scanf})}{126} -\entry {measurements of floating types}{561} +\entry {mantissa (of floating point number)}{564} +\entry {matching failure, in \code {scanf}}{127} +\entry {maximum field width (\code {scanf})}{128} +\entry {measurements of floating types}{563} \entry {memory allocation}{31} -\entry {memory usage warnings}{58} -\entry {merging of signals}{414} -\entry {MIN termios slot}{287} -\entry {minimum field width (\code {printf})}{104} -\entry {mixing descriptors and streams}{158} -\entry {modem disconnect}{276} -\entry {modem status lines}{276} -\entry {monetary value formatting}{379} -\entry {multibyte character, length of}{369} -\entry {multibyte characters}{364} -\entry {multiple names for one file}{187} -\entry {multiplexing input}{160} +\entry {merging of signals}{416} +\entry {MIN termios slot}{289} +\entry {minimum field width (\code {printf})}{106} +\entry {mixing descriptors and streams}{160} +\entry {modem disconnect}{278} +\entry {modem status lines}{278} +\entry {monetary value formatting}{381} +\entry {multibyte character, length of}{371} +\entry {multibyte characters}{366} +\entry {multiple names for one file}{189} +\entry {multiplexing input}{162} \initial {N} \entry {name of running program}{28} -\entry {name of socket}{221} -\entry {Name Service Switch}{497} +\entry {name of socket}{223} +\entry {Name Service Switch}{499} \entry {name space}{6} -\entry {names of signals}{391} -\entry {namespace (of socket)}{219} -\entry {NaN}{301} -\entry {netgroup}{497} -\entry {Netgroup}{524} -\entry {network}{497} -\entry {network byte order}{236} -\entry {network number}{228} -\entry {network protocol}{220} -\entry {networks database}{265} -\entry {nisplus, and booting}{500} -\entry {nisplus, and completeness}{500} -\entry {non-blocking open}{169} -\entry {non-local exit, from signal handler}{412} -\entry {non-local exits}{385} -\entry {noncanonical input processing}{268} -\entry {normalization functions (floating-point)}{303} -\entry {normalized floating point number}{562} -\entry {not a number}{301} -\entry {NSS}{497} -\entry {\file {nsswitch.conf}}{498} -\entry {null character}{63} -\entry {null pointer constant}{557} -\entry {number of arguments passed}{553} -\entry {number syntax, parsing}{306} -\entry {numeric value formatting}{379} +\entry {names of signals}{393} +\entry {namespace (of socket)}{221} +\entry {NaN}{303} +\entry {netgroup}{499} +\entry {Netgroup}{526} +\entry {network}{499} +\entry {network byte order}{238} +\entry {network number}{230} +\entry {network protocol}{222} +\entry {networks database}{267} +\entry {nisplus, and booting}{502} +\entry {nisplus, and completeness}{502} +\entry {non-blocking open}{171} +\entry {non-local exit, from signal handler}{414} +\entry {non-local exits}{387} +\entry {noncanonical input processing}{270} +\entry {normalization functions (floating-point)}{305} +\entry {normalized floating point number}{564} +\entry {not a number}{303} +\entry {NSS}{499} +\entry {\file {nsswitch.conf}}{500} +\entry {null character}{65} +\entry {null pointer constant}{559} +\entry {number of arguments passed}{555} +\entry {number syntax, parsing}{308} +\entry {numeric value formatting}{381} \initial {O} -\entry {obstack status}{50} -\entry {obstacks}{42} -\entry {open-time action flags}{169} -\entry {opening a file}{83} -\entry {opening a file descriptor}{149} -\entry {opening a pipe}{213} -\entry {opening a socket}{240} -\entry {opening a socket pair}{241} -\entry {opening a stream}{92} -\entry {optimizing NSS}{501} -\entry {optional arguments}{551} -\entry {optional POSIX features}{534} -\entry {orphaned process group}{477} -\entry {out-of-band data}{253} -\entry {output conversions, for \code {printf}}{105} -\entry {output possible signal}{397} -\entry {owner of a file}{198} +\entry {obstack status}{51} +\entry {obstacks}{43} +\entry {open-time action flags}{171} +\entry {opening a file}{85} +\entry {opening a file descriptor}{151} +\entry {opening a pipe}{215} +\entry {opening a socket}{242} +\entry {opening a socket pair}{243} +\entry {opening a stream}{94} +\entry {optimizing NSS}{503} +\entry {optional arguments}{553} +\entry {optional POSIX features}{536} +\entry {orphaned process group}{479} +\entry {out-of-band data}{255} +\entry {output conversions, for \code {printf}}{107} +\entry {output possible signal}{399} +\entry {owner of a file}{200} \initial {P} -\entry {packet}{219} +\entry {packet}{221} \entry {page boundary}{37} -\entry {parent directory}{87} -\entry {parent process}{463, 464} -\entry {parity checking}{273} -\entry {parsing a template string}{116} -\entry {parsing numbers (in formatted input)}{306} -\entry {parsing program arguments}{445} -\entry {parsing tokens from a string}{78} -\entry {passwd}{497} -\entry {password database}{517} -\entry {PATH environment variable}{456} -\entry {\code {pause} function}{435} -\entry {peeking at input}{100} -\entry {pending signals}{390} -\entry {pending signals, checking for}{433} -\entry {permission to access a file}{202} -\entry {persona}{507} -\entry {pi (trigonometric constant)}{294} -\entry {pipe}{213} -\entry {pipe signal}{400} -\entry {pipe to a subprocess}{215} -\entry {port number}{233} -\entry {positioning a file descriptor}{154} -\entry {positioning a stream}{135} +\entry {parent directory}{89} +\entry {parent process}{465, 466} +\entry {parity checking}{275} +\entry {parsing a template string}{118} +\entry {parsing numbers (in formatted input)}{308} +\entry {parsing program arguments}{447} +\entry {parsing tokens from a string}{80} +\entry {passwd}{499} +\entry {password database}{519} +\entry {PATH environment variable}{458} +\entry {\code {pause} function}{437} +\entry {peeking at input}{102} +\entry {pending signals}{392} +\entry {pending signals, checking for}{435} +\entry {permission to access a file}{204} +\entry {persona}{509} +\entry {pi (trigonometric constant)}{296} +\entry {pipe}{215} +\entry {pipe signal}{402} +\entry {pipe to a subprocess}{217} +\entry {port number}{235} +\entry {positioning a file descriptor}{156} +\entry {positioning a stream}{137} \entry {POSIX}{2} -\entry {POSIX capacity limits}{533} -\entry {POSIX optional features}{534} +\entry {POSIX capacity limits}{535} +\entry {POSIX optional features}{536} \entry {POSIX.1}{2} \entry {POSIX.2}{2} -\entry {power functions}{296} -\entry {precision (of floating point number)}{562} -\entry {precision (\code {printf})}{104} -\entry {predicates on arrays}{70} -\entry {predicates on characters}{59} -\entry {predicates on strings}{70} -\entry {primitives, interrupting}{422} -\entry {printing character}{60} -\entry {priority of a process}{360} -\entry {process}{443, 463} -\entry {process completion}{469} -\entry {process group functions}{493} -\entry {process group ID}{482} -\entry {process group leader}{482} -\entry {process groups}{475} -\entry {process ID}{464} -\entry {process image}{464} -\entry {process lifetime}{464} -\entry {process priority}{360} -\entry {process signal mask}{429} -\entry {process termination}{458} -\entry {processor time}{335} -\entry {profiling alarm signal}{397} -\entry {profiling timer}{352} -\entry {program argument syntax}{444} -\entry {program arguments}{443} -\entry {program arguments, parsing}{445} -\entry {program error signals}{392} +\entry {power functions}{298} +\entry {precision (of floating point number)}{564} +\entry {precision (\code {printf})}{106} +\entry {predicates on arrays}{72} +\entry {predicates on characters}{61} +\entry {predicates on strings}{72} +\entry {primitives, interrupting}{424} +\entry {printing character}{62} +\entry {priority of a process}{362} +\entry {process}{445, 465} +\entry {process completion}{471} +\entry {process group functions}{495} +\entry {process group ID}{484} +\entry {process group leader}{484} +\entry {process groups}{477} +\entry {process ID}{466} +\entry {process image}{466} +\entry {process lifetime}{466} +\entry {process priority}{362} +\entry {process signal mask}{431} +\entry {process termination}{460} +\entry {processor time}{337} +\entry {profiling alarm signal}{399} +\entry {profiling timer}{354} +\entry {program argument syntax}{446} +\entry {program arguments}{445} +\entry {program arguments, parsing}{447} +\entry {program error signals}{394} \entry {program name}{28} -\entry {program startup}{443} -\entry {program termination}{458} -\entry {program termination signals}{395} -\entry {programming your own streams}{145} -\entry {protocol (of socket)}{220} -\entry {protocol family}{220} -\entry {protocols}{497} -\entry {protocols database}{236} -\entry {prototypes for variadic functions}{552} -\entry {pseudo-random numbers}{298} -\entry {punctuation character}{60} -\entry {pushing input back}{100} +\entry {program startup}{445} +\entry {program termination}{460} +\entry {program termination signals}{397} +\entry {programming your own streams}{147} +\entry {protocol (of socket)}{222} +\entry {protocol family}{222} +\entry {protocols}{499} +\entry {protocols database}{238} +\entry {prototypes for variadic functions}{554} +\entry {pseudo-random numbers}{300} +\entry {punctuation character}{62} +\entry {pushing input back}{102} \initial {Q} -\entry {quick sort function (for arrays)}{314} -\entry {QUIT character}{285} -\entry {quit signal}{396} -\entry {quote removal}{330} +\entry {quick sort function (for arrays)}{316} +\entry {QUIT character}{287} +\entry {quit signal}{398} +\entry {quote removal}{332} \initial {R} -\entry {race conditions, relating to job control}{482} -\entry {race conditions, relating to signals}{413} -\entry {radix (of floating point number)}{561} -\entry {raising signals}{422} -\entry {random numbers}{298} -\entry {random-access files}{85} -\entry {range error}{293} -\entry {range of integer type}{559} -\entry {read lock}{174} -\entry {reading from a directory}{181} -\entry {reading from a file descriptor}{151} -\entry {reading from a socket}{246} -\entry {reading from a stream, by blocks}{102} -\entry {reading from a stream, by characters}{96} -\entry {reading from a stream, formatted}{124} -\entry {real group ID}{507} -\entry {real user ID}{507} -\entry {real-time timer}{352} -\entry {receiving datagrams}{257} -\entry {record locking}{173} -\entry {redirecting input and output}{164} -\entry {reentrant functions}{417} -\entry {reentrant NSS functions}{501} -\entry {relative file name}{86} -\entry {relocating memory allocator}{57} -\entry {remainder functions}{304} -\entry {removal of quotes}{330} -\entry {removing a file}{190} +\entry {race conditions, relating to job control}{484} +\entry {race conditions, relating to signals}{415} +\entry {radix (of floating point number)}{563} +\entry {raising signals}{424} +\entry {random numbers}{300} +\entry {random-access files}{87} +\entry {range error}{295} +\entry {range of integer type}{561} +\entry {read lock}{176} +\entry {reading from a directory}{183} +\entry {reading from a file descriptor}{153} +\entry {reading from a socket}{248} +\entry {reading from a stream, by blocks}{104} +\entry {reading from a stream, by characters}{98} +\entry {reading from a stream, formatted}{126} +\entry {real group ID}{509} +\entry {real user ID}{509} +\entry {real-time timer}{354} +\entry {receiving datagrams}{259} +\entry {record locking}{175} +\entry {redirecting input and output}{166} +\entry {reentrant functions}{419} +\entry {reentrant NSS functions}{504} +\entry {relative file name}{88} +\entry {relocating memory allocator}{58} +\entry {remainder functions}{306} +\entry {removal of quotes}{332} +\entry {removing a file}{192} \entry {removing macros that shadow functions}{5} -\entry {renaming a file}{191} -\entry {reporting bugs}{667} +\entry {renaming a file}{193} +\entry {reporting bugs}{669} \entry {reporting errors}{15} -\entry {REPRINT character}{284} +\entry {REPRINT character}{286} \entry {reserved names}{6} -\entry {resource limits}{358} -\entry {restarting interrupted primitives}{422} -\entry {restrictions on signal handler functions}{417} -\entry {root directory}{86} -\entry {rounding functions}{304} -\entry {rpc}{497} -\entry {running a command}{463} +\entry {resource limits}{360} +\entry {restarting interrupted primitives}{424} +\entry {restrictions on signal handler functions}{419} +\entry {root directory}{88} +\entry {rounding functions}{306} +\entry {rpc}{499} +\entry {running a command}{465} \initial {S} -\entry {scanning the group list}{523} -\entry {scanning the user list}{519} -\entry {search function (for arrays)}{313} -\entry {search functions (for strings)}{76} -\entry {seed (for random numbers)}{298} -\entry {seeking on a file descriptor}{154} -\entry {seeking on a stream}{135} -\entry {segmentation violation}{394} -\entry {sending a datagram}{256} -\entry {sending signals}{422} -\entry {sequential-access files}{85} -\entry {server}{242} -\entry {services}{497} -\entry {services database}{234} -\entry {session}{475} -\entry {session leader}{475} -\entry {setting an alarm}{352} -\entry {\code {setuid} programs}{509} -\entry {setuid programs and file access}{204} -\entry {shadow}{497} +\entry {scanning the group list}{525} +\entry {scanning the user list}{521} +\entry {search function (for arrays)}{315} +\entry {search functions (for strings)}{78} +\entry {seed (for random numbers)}{300} +\entry {seeking on a file descriptor}{156} +\entry {seeking on a stream}{137} +\entry {segmentation violation}{396} +\entry {sending a datagram}{258} +\entry {sending signals}{424} +\entry {sequential-access files}{87} +\entry {server}{244} +\entry {services}{499} +\entry {services database}{236} +\entry {session}{477} +\entry {session leader}{477} +\entry {setting an alarm}{354} +\entry {\code {setuid} programs}{511} +\entry {setuid programs and file access}{206} +\entry {shadow}{499} \entry {shadowing functions with macros}{5} -\entry {shared lock}{174} -\entry {shell}{475} -\entry {shrinking objects}{48} -\entry {shutting down a socket}{241} -\entry {\code {sigaction} flags}{408} -\entry {\code {sigaction} function}{404} -\entry {\code {SIGCHLD}, handling of}{488} -\entry {sign (of floating point number)}{561} -\entry {signal}{389} -\entry {signal action}{391} -\entry {signal actions}{402} -\entry {signal flags}{408} -\entry {\code {signal} function}{402} -\entry {signal handler function}{409} -\entry {signal mask}{429} -\entry {signal messages}{401} -\entry {signal names}{391} -\entry {signal number}{391} -\entry {signal set}{428} -\entry {signals, generating}{422} -\entry {significand (of floating point number)}{562} -\entry {\code {SIGTTIN}, from background job}{477} -\entry {\code {SIGTTOU}, from background job}{477} -\entry {size of string}{64} -\entry {socket}{219} -\entry {socket address (name) binding}{221} -\entry {socket domain}{219} -\entry {socket namespace}{219} -\entry {socket option level}{262} -\entry {socket options}{262} -\entry {socket pair}{241} -\entry {socket protocol}{220} -\entry {socket shutdown}{241} -\entry {socket, client actions}{242} -\entry {socket, closing}{241} -\entry {socket, connecting}{242} -\entry {socket, creating}{240} -\entry {socket, initiating a connection}{242} -\entry {sockets, accepting connections}{245} -\entry {sockets, listening}{244} -\entry {sockets, server actions}{244} -\entry {soft limit}{358} -\entry {soft link}{188} -\entry {sort function (for arrays)}{314} -\entry {sparse files}{155} -\entry {special files}{208} -\entry {specified action (for a signal)}{391} -\entry {square root function}{296} -\entry {stable sorting}{314} -\entry {standard dot notation, for Internet addresses}{229} -\entry {standard environment variables}{456} -\entry {standard error file descriptor}{158} -\entry {standard error stream}{92} -\entry {standard file descriptors}{157} -\entry {standard input file descriptor}{157} -\entry {standard input stream}{91} -\entry {standard output file descriptor}{158} -\entry {standard output stream}{91} -\entry {standard streams}{91} +\entry {shared lock}{176} +\entry {shell}{477} +\entry {shrinking objects}{49} +\entry {shutting down a socket}{243} +\entry {\code {sigaction} flags}{410} +\entry {\code {sigaction} function}{406} +\entry {\code {SIGCHLD}, handling of}{490} +\entry {sign (of floating point number)}{563} +\entry {signal}{391} +\entry {signal action}{393} +\entry {signal actions}{404} +\entry {signal flags}{410} +\entry {\code {signal} function}{404} +\entry {signal handler function}{411} +\entry {signal mask}{431} +\entry {signal messages}{403} +\entry {signal names}{393} +\entry {signal number}{393} +\entry {signal set}{430} +\entry {signals, generating}{424} +\entry {significand (of floating point number)}{564} +\entry {\code {SIGTTIN}, from background job}{479} +\entry {\code {SIGTTOU}, from background job}{479} +\entry {size of string}{66} +\entry {socket}{221} +\entry {socket address (name) binding}{223} +\entry {socket domain}{221} +\entry {socket namespace}{221} +\entry {socket option level}{264} +\entry {socket options}{264} +\entry {socket pair}{243} +\entry {socket protocol}{222} +\entry {socket shutdown}{243} +\entry {socket, client actions}{244} +\entry {socket, closing}{243} +\entry {socket, connecting}{244} +\entry {socket, creating}{242} +\entry {socket, initiating a connection}{244} +\entry {sockets, accepting connections}{247} +\entry {sockets, listening}{246} +\entry {sockets, server actions}{246} +\entry {soft limit}{360} +\entry {soft link}{190} +\entry {sort function (for arrays)}{316} +\entry {sparse files}{157} +\entry {special files}{210} +\entry {specified action (for a signal)}{393} +\entry {square root function}{298} +\entry {stable sorting}{316} +\entry {standard dot notation, for Internet addresses}{231} +\entry {standard environment variables}{458} +\entry {standard error file descriptor}{160} +\entry {standard error stream}{94} +\entry {standard file descriptors}{159} +\entry {standard input file descriptor}{159} +\entry {standard input stream}{93} +\entry {standard output file descriptor}{160} +\entry {standard output stream}{93} +\entry {standard streams}{93} \entry {standards}{1} -\entry {START character}{286} -\entry {startup of program}{443} +\entry {START character}{288} +\entry {startup of program}{445} \entry {static allocation}{31} -\entry {STATUS character}{287} +\entry {STATUS character}{289} \entry {status codes}{15} -\entry {status of a file}{193} -\entry {status of obstack}{50} -\entry {sticky bit}{201} -\entry {STOP character}{286} -\entry {stop signal}{398} -\entry {stopped job}{476} -\entry {stopped jobs, continuing}{492} -\entry {stopped jobs, detecting}{488} +\entry {status of a file}{195} +\entry {status of obstack}{51} +\entry {sticky bit}{203} +\entry {STOP character}{288} +\entry {stop signal}{400} +\entry {stopped job}{478} +\entry {stopped jobs, continuing}{494} +\entry {stopped jobs, detecting}{490} \entry {storage allocation}{31} -\entry {stream (sockets)}{219} -\entry {stream, for I/O to a string}{142} -\entry {streams and descriptors}{158} -\entry {streams, and file descriptors}{157} -\entry {streams, standard}{91} -\entry {string}{63} -\entry {string allocation}{64} -\entry {string collation functions}{73} -\entry {string comparison functions}{70} -\entry {string concatenation functions}{65} -\entry {string copy functions}{65} -\entry {string length}{64} -\entry {string literal}{63} -\entry {string search functions}{76} -\entry {string stream}{142} -\entry {string, representation of}{63} -\entry {style of communication (of a socket)}{219} -\entry {subshell}{480} -\entry {substitution of variables and commands}{330} -\entry {successive signals}{414} -\entry {summer time}{342} +\entry {stream (sockets)}{221} +\entry {stream, for I/O to a string}{144} +\entry {streams and descriptors}{160} +\entry {streams, and file descriptors}{159} +\entry {streams, standard}{93} +\entry {string}{65} +\entry {string allocation}{66} +\entry {string collation functions}{75} +\entry {string comparison functions}{72} +\entry {string concatenation functions}{67} +\entry {string copy functions}{67} +\entry {string length}{66} +\entry {string literal}{65} +\entry {string search functions}{78} +\entry {string stream}{144} +\entry {string, representation of}{65} +\entry {style of communication (of a socket)}{221} +\entry {subshell}{482} +\entry {substitution of variables and commands}{332} +\entry {successive signals}{416} +\entry {summer time}{344} \entry {SunOS}{3} -\entry {supplementary group IDs}{508} -\entry {SUSP character}{285} -\entry {suspend character}{285} +\entry {supplementary group IDs}{510} +\entry {SUSP character}{287} +\entry {suspend character}{287} \entry {SVID}{3} -\entry {symbolic link}{188} -\entry {symbolic link, opening}{170} -\entry {syntax, for program arguments}{444} -\entry {syntax, for reading numbers}{306} +\entry {symbolic link}{190} +\entry {symbolic link, opening}{172} +\entry {syntax, for program arguments}{446} +\entry {syntax, for reading numbers}{308} \entry {System V Unix}{3} \initial {T} -\entry {TCP (Internet protocol)}{236} -\entry {template, for \code {printf}}{102} -\entry {template, for \code {scanf}}{124} -\entry {TERM environment variable}{457} -\entry {terminal flow control}{290} -\entry {terminal identification}{267} -\entry {terminal input queue}{267} -\entry {terminal input queue, clearing}{290} -\entry {terminal input signal}{399} -\entry {terminal line control functions}{289} -\entry {terminal line speed}{280} -\entry {terminal mode data types}{269} -\entry {terminal mode functions}{270} -\entry {terminal output queue}{268} -\entry {terminal output queue, flushing}{289} -\entry {terminal output signal}{399} -\entry {terminated jobs, detecting}{488} -\entry {termination signal}{395} -\entry {testing access permission}{204} -\entry {testing exit status of child process}{469} -\entry {text stream}{134} -\entry {ticks, clock}{335} -\entry {tilde expansion}{330} -\entry {TIME termios slot}{287} -\entry {time zone}{348} -\entry {time zone database}{350} -\entry {time, calendar}{337} -\entry {time, elapsed CPU}{335} -\entry {timer, profiling}{352} -\entry {timer, real-time}{352} -\entry {timer, virtual}{352} -\entry {timers, setting}{352} -\entry {timing error in signal handling}{435} -\entry {TMPDIR environment variable}{210} -\entry {tokenizing strings}{78} -\entry {tools, for installing library}{665} -\entry {transmitting datagrams}{256} -\entry {trigonometric functions}{294} -\entry {type measurements, floating}{561} -\entry {type measurements, integer}{559} -\entry {type modifier character (\code {printf})}{105} -\entry {type modifier character (\code {scanf})}{126} -\entry {typeahead buffer}{267} -\entry {TZ environment variable}{457} +\entry {TCP (Internet protocol)}{238} +\entry {template, for \code {printf}}{104} +\entry {template, for \code {scanf}}{126} +\entry {TERM environment variable}{459} +\entry {terminal flow control}{292} +\entry {terminal identification}{269} +\entry {terminal input queue}{269} +\entry {terminal input queue, clearing}{292} +\entry {terminal input signal}{401} +\entry {terminal line control functions}{291} +\entry {terminal line speed}{282} +\entry {terminal mode data types}{271} +\entry {terminal mode functions}{272} +\entry {terminal output queue}{270} +\entry {terminal output queue, flushing}{291} +\entry {terminal output signal}{401} +\entry {terminated jobs, detecting}{490} +\entry {termination signal}{397} +\entry {testing access permission}{206} +\entry {testing exit status of child process}{471} +\entry {text stream}{136} +\entry {ticks, clock}{337} +\entry {tilde expansion}{332} +\entry {TIME termios slot}{289} +\entry {time zone}{350} +\entry {time zone database}{352} +\entry {time, calendar}{339} +\entry {time, elapsed CPU}{337} +\entry {timer, profiling}{354} +\entry {timer, real-time}{354} +\entry {timer, virtual}{354} +\entry {timers, setting}{354} +\entry {timing error in signal handling}{437} +\entry {TMPDIR environment variable}{212} +\entry {tokenizing strings}{80} +\entry {tools, for installing library}{667} +\entry {transmitting datagrams}{258} +\entry {trigonometric functions}{296} +\entry {type measurements, floating}{563} +\entry {type measurements, integer}{561} +\entry {type modifier character (\code {printf})}{107} +\entry {type modifier character (\code {scanf})}{128} +\entry {typeahead buffer}{269} +\entry {TZ environment variable}{459} \initial {U} -\entry {umask}{202} -\entry {unbuffered stream}{138} +\entry {umask}{204} +\entry {unbuffered stream}{140} \entry {unconstrained storage allocation}{32} \entry {undefining macros that shadow functions}{5} \entry {Unix, Berkeley}{3} \entry {Unix, System V}{3} -\entry {unlinking a file}{190} -\entry {unreading characters}{100} -\entry {upper-case character}{59} -\entry {urgent data signal}{397} -\entry {urgent socket condition}{253} -\entry {usage limits}{358} -\entry {user database}{517} -\entry {user ID}{507} -\entry {user ID, determining}{516} -\entry {user name}{507} -\entry {user signals}{400} -\entry {usual file name errors}{87} +\entry {unlinking a file}{192} +\entry {unreading characters}{102} +\entry {upper-case character}{61} +\entry {urgent data signal}{399} +\entry {urgent socket condition}{255} +\entry {usage limits}{360} +\entry {user database}{519} +\entry {user ID}{509} +\entry {user ID, determining}{518} +\entry {user name}{509} +\entry {user signals}{402} +\entry {usual file name errors}{89} \initial {V} -\entry {variable number of arguments}{551} -\entry {variable substitution}{330} -\entry {variable-sized arrays}{56} -\entry {variadic function argument access}{552} -\entry {variadic function prototypes}{552} -\entry {variadic functions}{551} -\entry {variadic functions, calling}{554} -\entry {virtual time alarm signal}{397} -\entry {virtual timer}{352} -\entry {\code {volatile} declarations}{417} +\entry {variable number of arguments}{553} +\entry {variable substitution}{332} +\entry {variable-sized arrays}{57} +\entry {variadic function argument access}{554} +\entry {variadic function prototypes}{554} +\entry {variadic functions}{553} +\entry {variadic functions, calling}{556} +\entry {virtual time alarm signal}{399} +\entry {virtual timer}{354} +\entry {\code {volatile} declarations}{419} \initial {W} -\entry {waiting for a signal}{435} -\entry {waiting for completion of child process}{469} -\entry {waiting for input or output}{160} -\entry {warnings of memory almost full}{58} -\entry {WERASE character}{284} -\entry {whitespace character}{60} -\entry {wide characters}{363} -\entry {width of integer type}{559} -\entry {wildcard expansion}{330} -\entry {word expansion}{329} -\entry {working directory}{179} -\entry {write lock}{173} -\entry {writing to a file descriptor}{153} -\entry {writing to a socket}{246} -\entry {writing to a stream, by blocks}{102} -\entry {writing to a stream, by characters}{95} -\entry {writing to a stream, formatted}{102} +\entry {waiting for a signal}{437} +\entry {waiting for completion of child process}{471} +\entry {waiting for input or output}{162} +\entry {WERASE character}{286} +\entry {whitespace character}{62} +\entry {wide characters}{365} +\entry {width of integer type}{561} +\entry {wildcard expansion}{332} +\entry {word expansion}{331} +\entry {working directory}{181} +\entry {write lock}{175} +\entry {writing to a file descriptor}{155} +\entry {writing to a socket}{248} +\entry {writing to a stream, by blocks}{104} +\entry {writing to a stream, by characters}{97} +\entry {writing to a stream, formatted}{104} diff -durpN glibc-2.0.2/manual/libc.fn glibc-2.0.3/manual/libc.fn --- glibc-2.0.2/manual/libc.fn Tue Mar 18 22:31:15 1997 +++ glibc-2.0.3/manual/libc.fn Sun Apr 20 18:26:20 1997 @@ -1,5 +1,6 @@ \entry{strerror}{27}{\code {strerror}} -\entry{perror}{27}{\code {perror}} +\entry{strerror{\_}r}{27}{\code {strerror_r}} +\entry{perror}{28}{\code {perror}} \entry{malloc}{32}{\code {malloc}} \entry{free}{34}{\code {free}} \entry{cfree}{34}{\code {cfree}} @@ -7,530 +8,530 @@ \entry{calloc}{36}{\code {calloc}} \entry{memalign}{37}{\code {memalign}} \entry{valloc}{37}{\code {valloc}} +\entry{mallopt}{38}{\code {mallopt}} \entry{mcheck}{38}{\code {mcheck}} -\entry{mprobe}{38}{\code {mprobe}} -\entry{mstats}{41}{\code {mstats}} -\entry{obstack{\_}chunk{\_}alloc}{43}{\code {obstack_chunk_alloc}} -\entry{obstack{\_}chunk{\_}free}{43}{\code {obstack_chunk_free}} -\entry{obstack{\_}init}{43}{\code {obstack_init}} -\entry{obstack{\_}alloc}{44}{\code {obstack_alloc}} -\entry{obstack{\_}copy}{45}{\code {obstack_copy}} -\entry{obstack{\_}copy0}{45}{\code {obstack_copy0}} -\entry{obstack{\_}free}{45}{\code {obstack_free}} -\entry{obstack{\_}blank}{47}{\code {obstack_blank}} -\entry{obstack{\_}grow}{47}{\code {obstack_grow}} -\entry{obstack{\_}grow0}{47}{\code {obstack_grow0}} -\entry{obstack{\_}1grow}{47}{\code {obstack_1grow}} -\entry{obstack{\_}ptr{\_}grow}{47}{\code {obstack_ptr_grow}} -\entry{obstack{\_}int{\_}grow}{47}{\code {obstack_int_grow}} -\entry{obstack{\_}finish}{48}{\code {obstack_finish}} -\entry{obstack{\_}object{\_}size}{48}{\code {obstack_object_size}} -\entry{obstack{\_}room}{49}{\code {obstack_room}} -\entry{obstack{\_}1grow{\_}fast}{49}{\code {obstack_1grow_fast}} -\entry{obstack{\_}ptr{\_}grow{\_}fast}{49}{\code {obstack_ptr_grow_fast}} -\entry{obstack{\_}int{\_}grow{\_}fast}{49}{\code {obstack_int_grow_fast}} -\entry{obstack{\_}blank{\_}fast}{49}{\code {obstack_blank_fast}} -\entry{obstack{\_}base}{50}{\code {obstack_base}} -\entry{obstack{\_}next{\_}free}{50}{\code {obstack_next_free}} -\entry{obstack{\_}object{\_}size}{51}{\code {obstack_object_size}} -\entry{obstack{\_}alignment{\_}mask}{51}{\code {obstack_alignment_mask}} -\entry{obstack{\_}chunk{\_}size}{52}{\code {obstack_chunk_size}} -\entry{alloca}{54}{\code {alloca}} -\entry{r{\_}alloc}{57}{\code {r_alloc}} -\entry{r{\_}alloc{\_}free}{57}{\code {r_alloc_free}} -\entry{r{\_}re{\_}alloc}{58}{\code {r_re_alloc}} -\entry{memory{\_}warnings}{58}{\code {memory_warnings}} -\entry{islower}{59}{\code {islower}} -\entry{isupper}{59}{\code {isupper}} -\entry{isalpha}{59}{\code {isalpha}} -\entry{isdigit}{60}{\code {isdigit}} -\entry{isalnum}{60}{\code {isalnum}} -\entry{isxdigit}{60}{\code {isxdigit}} -\entry{ispunct}{60}{\code {ispunct}} -\entry{isspace}{60}{\code {isspace}} -\entry{isblank}{60}{\code {isblank}} -\entry{isgraph}{60}{\code {isgraph}} -\entry{isprint}{60}{\code {isprint}} -\entry{iscntrl}{61}{\code {iscntrl}} -\entry{isascii}{61}{\code {isascii}} -\entry{tolower}{61}{\code {tolower}} -\entry{toupper}{61}{\code {toupper}} -\entry{toascii}{61}{\code {toascii}} -\entry{{\_}tolower}{61}{\code {_tolower}} -\entry{{\_}toupper}{61}{\code {_toupper}} -\entry{strlen}{65}{\code {strlen}} -\entry{memcpy}{66}{\code {memcpy}} -\entry{memmove}{66}{\code {memmove}} -\entry{memccpy}{66}{\code {memccpy}} -\entry{memset}{66}{\code {memset}} -\entry{strcpy}{66}{\code {strcpy}} -\entry{strncpy}{66}{\code {strncpy}} -\entry{strdup}{67}{\code {strdup}} -\entry{strndup}{67}{\code {strndup}} -\entry{stpcpy}{67}{\code {stpcpy}} -\entry{stpncpy}{68}{\code {stpncpy}} -\entry{strdupa}{68}{\code {strdupa}} -\entry{strndupa}{69}{\code {strndupa}} -\entry{strcat}{69}{\code {strcat}} -\entry{strncat}{69}{\code {strncat}} -\entry{bcopy}{70}{\code {bcopy}} -\entry{bzero}{70}{\code {bzero}} -\entry{memcmp}{71}{\code {memcmp}} -\entry{strcmp}{72}{\code {strcmp}} -\entry{strcasecmp}{72}{\code {strcasecmp}} -\entry{strncasecmp}{72}{\code {strncasecmp}} -\entry{strncmp}{72}{\code {strncmp}} -\entry{bcmp}{73}{\code {bcmp}} -\entry{strcoll}{73}{\code {strcoll}} -\entry{strxfrm}{74}{\code {strxfrm}} -\entry{memchr}{76}{\code {memchr}} -\entry{strchr}{76}{\code {strchr}} -\entry{index}{77}{\code {index}} -\entry{strrchr}{77}{\code {strrchr}} -\entry{rindex}{77}{\code {rindex}} -\entry{strstr}{77}{\code {strstr}} -\entry{memmem}{77}{\code {memmem}} -\entry{strspn}{77}{\code {strspn}} -\entry{strcspn}{78}{\code {strcspn}} -\entry{strpbrk}{78}{\code {strpbrk}} -\entry{strtok}{78}{\code {strtok}} -\entry{strtok{\_}r}{80}{\code {strtok_r}} -\entry{strsep}{80}{\code {strsep}} -\entry{fopen}{92}{\code {fopen}} -\entry{freopen}{94}{\code {freopen}} -\entry{fclose}{94}{\code {fclose}} -\entry{fcloseall}{95}{\code {fcloseall}} -\entry{fputc}{95}{\code {fputc}} -\entry{putc}{95}{\code {putc}} -\entry{putchar}{96}{\code {putchar}} -\entry{fputs}{96}{\code {fputs}} -\entry{puts}{96}{\code {puts}} -\entry{putw}{96}{\code {putw}} -\entry{fgetc}{97}{\code {fgetc}} -\entry{getc}{97}{\code {getc}} -\entry{getchar}{97}{\code {getchar}} -\entry{getw}{98}{\code {getw}} -\entry{getline}{98}{\code {getline}} -\entry{getdelim}{99}{\code {getdelim}} -\entry{fgets}{99}{\code {fgets}} -\entry{gets}{99}{\code {gets}} -\entry{ungetc}{101}{\code {ungetc}} -\entry{fread}{102}{\code {fread}} -\entry{fwrite}{102}{\code {fwrite}} -\entry{printf}{111}{\code {printf}} -\entry{fprintf}{111}{\code {fprintf}} -\entry{sprintf}{111}{\code {sprintf}} -\entry{snprintf}{112}{\code {snprintf}} -\entry{asprintf}{112}{\code {asprintf}} -\entry{obstack{\_}printf}{113}{\code {obstack_printf}} -\entry{vprintf}{114}{\code {vprintf}} -\entry{vfprintf}{114}{\code {vfprintf}} -\entry{vsprintf}{114}{\code {vsprintf}} -\entry{vsnprintf}{114}{\code {vsnprintf}} -\entry{vasprintf}{115}{\code {vasprintf}} -\entry{obstack{\_}vprintf}{115}{\code {obstack_vprintf}} -\entry{parse{\_}printf{\_}format}{116}{\code {parse_printf_format}} -\entry{register{\_}printf{\_}function}{119}{\code {register_printf_function}} -\entry{scanf}{132}{\code {scanf}} -\entry{fscanf}{132}{\code {fscanf}} -\entry{sscanf}{132}{\code {sscanf}} -\entry{vscanf}{132}{\code {vscanf}} -\entry{vfscanf}{133}{\code {vfscanf}} -\entry{vsscanf}{133}{\code {vsscanf}} -\entry{clearerr}{133}{\code {clearerr}} -\entry{feof}{133}{\code {feof}} -\entry{ferror}{134}{\code {ferror}} -\entry{ftell}{135}{\code {ftell}} -\entry{fseek}{135}{\code {fseek}} -\entry{rewind}{136}{\code {rewind}} -\entry{fgetpos}{137}{\code {fgetpos}} -\entry{fsetpos}{137}{\code {fsetpos}} -\entry{fflush}{139}{\code {fflush}} -\entry{setvbuf}{139}{\code {setvbuf}} -\entry{setbuf}{141}{\code {setbuf}} -\entry{setbuffer}{141}{\code {setbuffer}} -\entry{setlinebuf}{141}{\code {setlinebuf}} -\entry{fmemopen}{142}{\code {fmemopen}} -\entry{open{\_}memstream}{143}{\code {open_memstream}} -\entry{open{\_}obstack{\_}stream}{144}{\code {open_obstack_stream}} -\entry{fopencookie}{146}{\code {fopencookie}} -\entry{open}{149}{\code {open}} -\entry{creat}{150}{\code {creat}} -\entry{close}{150}{\code {close}} -\entry{read}{151}{\code {read}} -\entry{write}{153}{\code {write}} -\entry{lseek}{155}{\code {lseek}} -\entry{fdopen}{157}{\code {fdopen}} -\entry{fileno}{157}{\code {fileno}} -\entry{fclean}{159}{\code {fclean}} -\entry{FD{\_}ZERO}{161}{\code {FD_ZERO}} -\entry{FD{\_}SET}{161}{\code {FD_SET}} -\entry{FD{\_}CLR}{161}{\code {FD_CLR}} -\entry{FD{\_}ISSET}{161}{\code {FD_ISSET}} -\entry{select}{161}{\code {select}} -\entry{fcntl}{163}{\code {fcntl}} -\entry{dup}{165}{\code {dup}} -\entry{dup2}{165}{\code {dup2}} -\entry{getcwd}{179}{\code {getcwd}} -\entry{getwd}{180}{\code {getwd}} -\entry{chdir}{180}{\code {chdir}} -\entry{IFTODT}{182}{\code {IFTODT}} -\entry{DTTOIF}{182}{\code {DTTOIF}} -\entry{opendir}{182}{\code {opendir}} -\entry{readdir}{183}{\code {readdir}} -\entry{readdir{\_}r}{183}{\code {readdir_r}} -\entry{closedir}{184}{\code {closedir}} -\entry{rewinddir}{185}{\code {rewinddir}} -\entry{telldir}{185}{\code {telldir}} -\entry{seekdir}{185}{\code {seekdir}} -\entry{scandir}{185}{\code {scandir}} -\entry{alphasort}{186}{\code {alphasort}} -\entry{link}{187}{\code {link}} -\entry{symlink}{189}{\code {symlink}} -\entry{readlink}{189}{\code {readlink}} -\entry{unlink}{190}{\code {unlink}} -\entry{rmdir}{191}{\code {rmdir}} -\entry{remove}{191}{\code {remove}} -\entry{rename}{191}{\code {rename}} -\entry{mkdir}{193}{\code {mkdir}} -\entry{stat}{196}{\code {stat}} -\entry{fstat}{196}{\code {fstat}} -\entry{lstat}{196}{\code {lstat}} -\entry{S{\_}ISDIR}{197}{\code {S_ISDIR}} -\entry{S{\_}ISCHR}{197}{\code {S_ISCHR}} -\entry{S{\_}ISBLK}{197}{\code {S_ISBLK}} -\entry{S{\_}ISREG}{197}{\code {S_ISREG}} -\entry{S{\_}ISFIFO}{197}{\code {S_ISFIFO}} -\entry{S{\_}ISLNK}{197}{\code {S_ISLNK}} -\entry{S{\_}ISSOCK}{197}{\code {S_ISSOCK}} -\entry{chown}{199}{\code {chown}} -\entry{fchown}{199}{\code {fchown}} -\entry{chmod}{202}{\code {chmod}} -\entry{umask}{203}{\code {umask}} -\entry{getumask}{203}{\code {getumask}} -\entry{chmod}{203}{\code {chmod}} -\entry{fchmod}{204}{\code {fchmod}} -\entry{access}{205}{\code {access}} -\entry{utime}{207}{\code {utime}} -\entry{utimes}{207}{\code {utimes}} -\entry{mknod}{208}{\code {mknod}} -\entry{tmpfile}{209}{\code {tmpfile}} -\entry{tmpnam}{209}{\code {tmpnam}} -\entry{tmpnam{\_}r}{209}{\code {tmpnam_r}} -\entry{tempnam}{210}{\code {tempnam}} -\entry{mktemp}{210}{\code {mktemp}} -\entry{mkstemp}{210}{\code {mkstemp}} -\entry{pipe}{213}{\code {pipe}} -\entry{popen}{215}{\code {popen}} -\entry{pclose}{216}{\code {pclose}} -\entry{mkfifo}{217}{\code {mkfifo}} -\entry{bind}{223}{\code {bind}} -\entry{getsockname}{224}{\code {getsockname}} -\entry{inet{\_}aton}{230}{\code {inet_aton}} -\entry{inet{\_}addr}{230}{\code {inet_addr}} -\entry{inet{\_}network}{230}{\code {inet_network}} -\entry{inet{\_}ntoa}{231}{\code {inet_ntoa}} -\entry{inet{\_}makeaddr}{231}{\code {inet_makeaddr}} -\entry{inet{\_}lnaof}{231}{\code {inet_lnaof}} -\entry{inet{\_}netof}{231}{\code {inet_netof}} -\entry{gethostbyname}{232}{\code {gethostbyname}} -\entry{gethostbyaddr}{232}{\code {gethostbyaddr}} -\entry{sethostent}{233}{\code {sethostent}} -\entry{gethostent}{233}{\code {gethostent}} -\entry{endhostent}{233}{\code {endhostent}} -\entry{getservbyname}{235}{\code {getservbyname}} -\entry{getservbyport}{235}{\code {getservbyport}} -\entry{setservent}{235}{\code {setservent}} -\entry{getservent}{235}{\code {getservent}} -\entry{endservent}{235}{\code {endservent}} -\entry{htons}{236}{\code {htons}} -\entry{ntohs}{236}{\code {ntohs}} -\entry{htonl}{236}{\code {htonl}} -\entry{ntohl}{236}{\code {ntohl}} -\entry{getprotobyname}{237}{\code {getprotobyname}} -\entry{getprotobynumber}{237}{\code {getprotobynumber}} -\entry{setprotoent}{238}{\code {setprotoent}} -\entry{getprotoent}{238}{\code {getprotoent}} -\entry{endprotoent}{238}{\code {endprotoent}} -\entry{socket}{240}{\code {socket}} -\entry{shutdown}{241}{\code {shutdown}} -\entry{socketpair}{241}{\code {socketpair}} -\entry{connect}{243}{\code {connect}} -\entry{listen}{244}{\code {listen}} -\entry{accept}{245}{\code {accept}} -\entry{getpeername}{246}{\code {getpeername}} -\entry{send}{247}{\code {send}} -\entry{recv}{248}{\code {recv}} -\entry{sendto}{257}{\code {sendto}} -\entry{recvfrom}{257}{\code {recvfrom}} -\entry{getsockopt}{262}{\code {getsockopt}} -\entry{setsockopt}{263}{\code {setsockopt}} -\entry{getnetbyname}{266}{\code {getnetbyname}} -\entry{getnetbyaddr}{266}{\code {getnetbyaddr}} -\entry{setnetent}{266}{\code {setnetent}} -\entry{getnetent}{266}{\code {getnetent}} -\entry{endnetent}{266}{\code {endnetent}} -\entry{isatty}{267}{\code {isatty}} -\entry{ttyname}{267}{\code {ttyname}} -\entry{tcgetattr}{270}{\code {tcgetattr}} -\entry{tcsetattr}{270}{\code {tcsetattr}} -\entry{cfgetospeed}{281}{\code {cfgetospeed}} -\entry{cfgetispeed}{281}{\code {cfgetispeed}} -\entry{cfsetospeed}{281}{\code {cfsetospeed}} -\entry{cfsetispeed}{281}{\code {cfsetispeed}} -\entry{cfsetspeed}{281}{\code {cfsetspeed}} -\entry{cfmakeraw}{288}{\code {cfmakeraw}} -\entry{tcsendbreak}{289}{\code {tcsendbreak}} -\entry{tcdrain}{289}{\code {tcdrain}} -\entry{tcflush}{290}{\code {tcflush}} -\entry{tcflow}{290}{\code {tcflow}} -\entry{sin}{294}{\code {sin}} -\entry{cos}{294}{\code {cos}} -\entry{tan}{294}{\code {tan}} -\entry{asin}{295}{\code {asin}} -\entry{acos}{295}{\code {acos}} -\entry{atan}{295}{\code {atan}} -\entry{atan2}{295}{\code {atan2}} -\entry{exp}{296}{\code {exp}} -\entry{log}{296}{\code {log}} -\entry{log10}{296}{\code {log10}} -\entry{pow}{296}{\code {pow}} -\entry{sqrt}{296}{\code {sqrt}} -\entry{cbrt}{296}{\code {cbrt}} -\entry{hypot}{297}{\code {hypot}} -\entry{expm1}{297}{\code {expm1}} -\entry{log1p}{297}{\code {log1p}} -\entry{sinh}{297}{\code {sinh}} -\entry{cosh}{297}{\code {cosh}} -\entry{tanh}{297}{\code {tanh}} -\entry{asinh}{297}{\code {asinh}} -\entry{acosh}{297}{\code {acosh}} -\entry{atanh}{298}{\code {atanh}} -\entry{rand}{298}{\code {rand}} -\entry{srand}{299}{\code {srand}} -\entry{random}{299}{\code {random}} -\entry{srandom}{299}{\code {srandom}} -\entry{initstate}{299}{\code {initstate}} -\entry{setstate}{299}{\code {setstate}} -\entry{isinf}{301}{\code {isinf}} -\entry{isnan}{301}{\code {isnan}} -\entry{finite}{302}{\code {finite}} -\entry{infnan}{302}{\code {infnan}} -\entry{abs}{302}{\code {abs}} -\entry{labs}{302}{\code {labs}} -\entry{fabs}{302}{\code {fabs}} -\entry{cabs}{302}{\code {cabs}} -\entry{frexp}{303}{\code {frexp}} -\entry{ldexp}{303}{\code {ldexp}} -\entry{scalb}{303}{\code {scalb}} -\entry{logb}{303}{\code {logb}} -\entry{copysign}{304}{\code {copysign}} -\entry{ceil}{304}{\code {ceil}} -\entry{floor}{304}{\code {floor}} -\entry{rint}{304}{\code {rint}} -\entry{modf}{304}{\code {modf}} -\entry{fmod}{305}{\code {fmod}} -\entry{drem}{305}{\code {drem}} -\entry{div}{305}{\code {div}} -\entry{ldiv}{306}{\code {ldiv}} -\entry{strtol}{306}{\code {strtol}} -\entry{strtoul}{307}{\code {strtoul}} -\entry{strtoq}{307}{\code {strtoq}} -\entry{strtoll}{308}{\code {strtoll}} -\entry{strtouq}{308}{\code {strtouq}} -\entry{strtoull}{308}{\code {strtoull}} -\entry{atol}{308}{\code {atol}} -\entry{atoi}{308}{\code {atoi}} -\entry{strtod}{310}{\code {strtod}} -\entry{strtof}{310}{\code {strtof}} -\entry{strtold}{311}{\code {strtold}} -\entry{atof}{311}{\code {atof}} -\entry{bsearch}{313}{\code {bsearch}} -\entry{qsort}{314}{\code {qsort}} -\entry{fnmatch}{319}{\code {fnmatch}} -\entry{glob}{321}{\code {glob}} -\entry{regcomp}{324}{\code {regcomp}} -\entry{regexec}{326}{\code {regexec}} -\entry{regfree}{329}{\code {regfree}} -\entry{regerror}{329}{\code {regerror}} -\entry{wordexp}{331}{\code {wordexp}} -\entry{wordfree}{332}{\code {wordfree}} -\entry{clock}{336}{\code {clock}} -\entry{times}{337}{\code {times}} -\entry{difftime}{338}{\code {difftime}} -\entry{time}{338}{\code {time}} -\entry{gettimeofday}{340}{\code {gettimeofday}} -\entry{settimeofday}{340}{\code {settimeofday}} -\entry{adjtime}{340}{\code {adjtime}} -\entry{localtime}{342}{\code {localtime}} -\entry{gmtime}{343}{\code {gmtime}} -\entry{mktime}{343}{\code {mktime}} -\entry{asctime}{343}{\code {asctime}} -\entry{ctime}{344}{\code {ctime}} -\entry{strftime}{344}{\code {strftime}} -\entry{tzset}{351}{\code {tzset}} -\entry{setitimer}{353}{\code {setitimer}} -\entry{getitimer}{353}{\code {getitimer}} -\entry{ITIMER{\_}REAL}{354}{\code {ITIMER_REAL}} -\entry{ITIMER{\_}VIRTUAL}{354}{\code {ITIMER_VIRTUAL}} -\entry{ITIMER{\_}PROF}{354}{\code {ITIMER_PROF}} -\entry{alarm}{354}{\code {alarm}} -\entry{sleep}{355}{\code {sleep}} -\entry{getrusage}{356}{\code {getrusage}} -\entry{getrlimit}{358}{\code {getrlimit}} -\entry{setrlimit}{358}{\code {setrlimit}} -\entry{getpriority}{360}{\code {getpriority}} -\entry{setpriority}{360}{\code {setpriority}} -\entry{nice}{361}{\code {nice}} -\entry{mbstowcs}{368}{\code {mbstowcs}} -\entry{wcstombs}{368}{\code {wcstombs}} -\entry{mblen}{369}{\code {mblen}} -\entry{mbtowc}{370}{\code {mbtowc}} -\entry{wctomb}{370}{\code {wctomb}} -\entry{setlocale}{377}{\code {setlocale}} -\entry{localeconv}{379}{\code {localeconv}} -\entry{setjmp}{387}{\code {setjmp}} -\entry{longjmp}{387}{\code {longjmp}} -\entry{sigsetjmp}{388}{\code {sigsetjmp}} -\entry{siglongjmp}{388}{\code {siglongjmp}} -\entry{strsignal}{401}{\code {strsignal}} -\entry{psignal}{401}{\code {psignal}} -\entry{signal}{402}{\code {signal}} -\entry{ssignal}{404}{\code {ssignal}} -\entry{sigaction}{405}{\code {sigaction}} -\entry{TEMP{\_}FAILURE{\_}RETRY}{421}{\code {TEMP_FAILURE_RETRY}} -\entry{raise}{422}{\code {raise}} -\entry{gsignal}{423}{\code {gsignal}} -\entry{kill}{424}{\code {kill}} -\entry{killpg}{425}{\code {killpg}} -\entry{sigemptyset}{429}{\code {sigemptyset}} -\entry{sigfillset}{429}{\code {sigfillset}} -\entry{sigaddset}{429}{\code {sigaddset}} -\entry{sigdelset}{429}{\code {sigdelset}} -\entry{sigismember}{429}{\code {sigismember}} -\entry{sigprocmask}{430}{\code {sigprocmask}} -\entry{sigpending}{433}{\code {sigpending}} -\entry{pause}{436}{\code {pause}} -\entry{sigsuspend}{437}{\code {sigsuspend}} -\entry{sigaltstack}{439}{\code {sigaltstack}} -\entry{sigstack}{440}{\code {sigstack}} -\entry{sigvec}{442}{\code {sigvec}} -\entry{siginterrupt}{442}{\code {siginterrupt}} -\entry{sigmask}{442}{\code {sigmask}} -\entry{sigblock}{442}{\code {sigblock}} -\entry{sigsetmask}{442}{\code {sigsetmask}} -\entry{sigpause}{442}{\code {sigpause}} -\entry{main}{443}{\code {main}} -\entry{getopt}{445}{\code {getopt}} -\entry{getopt{\_}long}{449}{\code {getopt_long}} -\entry{getsubopt}{452}{\code {getsubopt}} -\entry{getenv}{455}{\code {getenv}} -\entry{putenv}{455}{\code {putenv}} -\entry{exit}{458}{\code {exit}} -\entry{atexit}{460}{\code {atexit}} -\entry{on{\_}exit}{460}{\code {on_exit}} -\entry{abort}{461}{\code {abort}} -\entry{{\_}exit}{461}{\code {_exit}} -\entry{system}{463}{\code {system}} -\entry{getpid}{464}{\code {getpid}} -\entry{getppid}{465}{\code {getppid}} -\entry{fork}{465}{\code {fork}} -\entry{vfork}{466}{\code {vfork}} -\entry{execv}{466}{\code {execv}} -\entry{execl}{467}{\code {execl}} -\entry{execve}{467}{\code {execve}} -\entry{execle}{467}{\code {execle}} -\entry{execvp}{467}{\code {execvp}} -\entry{execlp}{467}{\code {execlp}} -\entry{waitpid}{469}{\code {waitpid}} -\entry{wait}{471}{\code {wait}} -\entry{wait4}{471}{\code {wait4}} -\entry{WIFEXITED}{472}{\code {WIFEXITED}} -\entry{WEXITSTATUS}{472}{\code {WEXITSTATUS}} -\entry{WIFSIGNALED}{472}{\code {WIFSIGNALED}} -\entry{WTERMSIG}{472}{\code {WTERMSIG}} -\entry{WCOREDUMP}{472}{\code {WCOREDUMP}} -\entry{WIFSTOPPED}{472}{\code {WIFSTOPPED}} -\entry{WSTOPSIG}{472}{\code {WSTOPSIG}} -\entry{wait3}{473}{\code {wait3}} -\entry{ctermid}{493}{\code {ctermid}} -\entry{setsid}{494}{\code {setsid}} -\entry{getpgrp}{495}{\code {getpgrp}} -\entry{getpgrp}{495}{\code {getpgrp}} -\entry{setpgid}{495}{\code {setpgid}} -\entry{setpgrp}{495}{\code {setpgrp}} -\entry{tcgetpgrp}{496}{\code {tcgetpgrp}} -\entry{tcsetpgrp}{496}{\code {tcsetpgrp}} -\entry{success}{499}{\code {success}} -\entry{notfound}{499}{\code {notfound}} -\entry{unavail}{499}{\code {unavail}} -\entry{success}{499}{\code {success}} -\entry{notfound}{499}{\code {notfound}} -\entry{unavail}{499}{\code {unavail}} -\entry{tryagain}{499}{\code {tryagain}} -\entry{tryagain}{499}{\code {tryagain}} -\entry{NSS{\_}STATUS{\_}TRYAGAIN}{502}{\code {NSS_STATUS_TRYAGAIN}} -\entry{NSS{\_}STATUS{\_}UNAVAIL}{502}{\code {NSS_STATUS_UNAVAIL}} -\entry{NSS{\_}STATUS{\_}NOTFOUND}{502}{\code {NSS_STATUS_NOTFOUND}} -\entry{NSS{\_}STATUS{\_}SUCCESS}{502}{\code {NSS_STATUS_SUCCESS}} -\entry{NSS{\_}STATUS{\_}TRYAGAIN}{502}{\code {NSS_STATUS_TRYAGAIN}} -\entry{NSS{\_}STATUS{\_}UNAVAIL}{502}{\code {NSS_STATUS_UNAVAIL}} -\entry{NSS{\_}STATUS{\_}NOTFOUND}{502}{\code {NSS_STATUS_NOTFOUND}} -\entry{NSS{\_}STATUS{\_}SUCCESS}{503}{\code {NSS_STATUS_SUCCESS}} -\entry{getuid}{509}{\code {getuid}} -\entry{getgid}{509}{\code {getgid}} -\entry{geteuid}{509}{\code {geteuid}} -\entry{getegid}{510}{\code {getegid}} -\entry{getgroups}{510}{\code {getgroups}} -\entry{setuid}{510}{\code {setuid}} -\entry{setreuid}{511}{\code {setreuid}} -\entry{setgid}{511}{\code {setgid}} -\entry{setregid}{511}{\code {setregid}} -\entry{setgroups}{512}{\code {setgroups}} -\entry{initgroups}{512}{\code {initgroups}} -\entry{getlogin}{516}{\code {getlogin}} -\entry{cuserid}{517}{\code {cuserid}} -\entry{getpwuid}{518}{\code {getpwuid}} -\entry{getpwuid{\_}r}{518}{\code {getpwuid_r}} -\entry{getpwnam}{519}{\code {getpwnam}} -\entry{getpwnam{\_}r}{519}{\code {getpwnam_r}} -\entry{fgetpwent}{519}{\code {fgetpwent}} -\entry{fgetpwent{\_}r}{519}{\code {fgetpwent_r}} -\entry{setpwent}{520}{\code {setpwent}} -\entry{getpwent}{520}{\code {getpwent}} -\entry{getpwent{\_}r}{520}{\code {getpwent_r}} -\entry{endpwent}{520}{\code {endpwent}} -\entry{putpwent}{521}{\code {putpwent}} -\entry{getgrgid}{522}{\code {getgrgid}} -\entry{getgrgid{\_}r}{522}{\code {getgrgid_r}} -\entry{getgrnam}{522}{\code {getgrnam}} -\entry{getgrnam{\_}r}{522}{\code {getgrnam_r}} -\entry{fgetgrent}{523}{\code {fgetgrent}} -\entry{fgetgrent{\_}r}{523}{\code {fgetgrent_r}} -\entry{setgrent}{523}{\code {setgrent}} -\entry{getgrent}{523}{\code {getgrent}} -\entry{getgrent{\_}r}{523}{\code {getgrent_r}} -\entry{endgrent}{524}{\code {endgrent}} -\entry{setnetgrent}{525}{\code {setnetgrent}} -\entry{getnetgrent}{525}{\code {getnetgrent}} -\entry{getnetgrent{\_}r}{525}{\code {getnetgrent_r}} -\entry{endnetgrent}{526}{\code {endnetgrent}} -\entry{innetgr}{526}{\code {innetgr}} -\entry{gethostname}{529}{\code {gethostname}} -\entry{sethostname}{529}{\code {sethostname}} -\entry{gethostid}{530}{\code {gethostid}} -\entry{sethostid}{530}{\code {sethostid}} -\entry{uname}{531}{\code {uname}} -\entry{sysconf}{537}{\code {sysconf}} -\entry{pathconf}{544}{\code {pathconf}} -\entry{fpathconf}{544}{\code {fpathconf}} -\entry{confstr}{547}{\code {confstr}} -\entry{assert}{549}{\code {assert}} -\entry{assert{\_}perror}{550}{\code {assert_perror}} -\entry{va{\_}start}{555}{\code {va_start}} -\entry{va{\_}arg}{555}{\code {va_arg}} -\entry{va{\_}end}{555}{\code {va_end}} -\entry{va{\_}alist}{557}{\code {va_alist}} -\entry{va{\_}dcl}{557}{\code {va_dcl}} +\entry{mprobe}{39}{\code {mprobe}} +\entry{mallinfo}{42}{\code {mallinfo}} +\entry{obstack{\_}chunk{\_}alloc}{44}{\code {obstack_chunk_alloc}} +\entry{obstack{\_}chunk{\_}free}{44}{\code {obstack_chunk_free}} +\entry{obstack{\_}init}{44}{\code {obstack_init}} +\entry{obstack{\_}alloc}{45}{\code {obstack_alloc}} +\entry{obstack{\_}copy}{46}{\code {obstack_copy}} +\entry{obstack{\_}copy0}{46}{\code {obstack_copy0}} +\entry{obstack{\_}free}{46}{\code {obstack_free}} +\entry{obstack{\_}blank}{48}{\code {obstack_blank}} +\entry{obstack{\_}grow}{48}{\code {obstack_grow}} +\entry{obstack{\_}grow0}{48}{\code {obstack_grow0}} +\entry{obstack{\_}1grow}{48}{\code {obstack_1grow}} +\entry{obstack{\_}ptr{\_}grow}{48}{\code {obstack_ptr_grow}} +\entry{obstack{\_}int{\_}grow}{48}{\code {obstack_int_grow}} +\entry{obstack{\_}finish}{49}{\code {obstack_finish}} +\entry{obstack{\_}object{\_}size}{49}{\code {obstack_object_size}} +\entry{obstack{\_}room}{50}{\code {obstack_room}} +\entry{obstack{\_}1grow{\_}fast}{50}{\code {obstack_1grow_fast}} +\entry{obstack{\_}ptr{\_}grow{\_}fast}{50}{\code {obstack_ptr_grow_fast}} +\entry{obstack{\_}int{\_}grow{\_}fast}{50}{\code {obstack_int_grow_fast}} +\entry{obstack{\_}blank{\_}fast}{50}{\code {obstack_blank_fast}} +\entry{obstack{\_}base}{51}{\code {obstack_base}} +\entry{obstack{\_}next{\_}free}{51}{\code {obstack_next_free}} +\entry{obstack{\_}object{\_}size}{52}{\code {obstack_object_size}} +\entry{obstack{\_}alignment{\_}mask}{52}{\code {obstack_alignment_mask}} +\entry{obstack{\_}chunk{\_}size}{53}{\code {obstack_chunk_size}} +\entry{alloca}{55}{\code {alloca}} +\entry{r{\_}alloc}{58}{\code {r_alloc}} +\entry{r{\_}alloc{\_}free}{58}{\code {r_alloc_free}} +\entry{r{\_}re{\_}alloc}{59}{\code {r_re_alloc}} +\entry{islower}{61}{\code {islower}} +\entry{isupper}{61}{\code {isupper}} +\entry{isalpha}{61}{\code {isalpha}} +\entry{isdigit}{62}{\code {isdigit}} +\entry{isalnum}{62}{\code {isalnum}} +\entry{isxdigit}{62}{\code {isxdigit}} +\entry{ispunct}{62}{\code {ispunct}} +\entry{isspace}{62}{\code {isspace}} +\entry{isblank}{62}{\code {isblank}} +\entry{isgraph}{62}{\code {isgraph}} +\entry{isprint}{62}{\code {isprint}} +\entry{iscntrl}{63}{\code {iscntrl}} +\entry{isascii}{63}{\code {isascii}} +\entry{tolower}{63}{\code {tolower}} +\entry{toupper}{63}{\code {toupper}} +\entry{toascii}{63}{\code {toascii}} +\entry{{\_}tolower}{63}{\code {_tolower}} +\entry{{\_}toupper}{63}{\code {_toupper}} +\entry{strlen}{67}{\code {strlen}} +\entry{memcpy}{68}{\code {memcpy}} +\entry{memmove}{68}{\code {memmove}} +\entry{memccpy}{68}{\code {memccpy}} +\entry{memset}{68}{\code {memset}} +\entry{strcpy}{68}{\code {strcpy}} +\entry{strncpy}{68}{\code {strncpy}} +\entry{strdup}{69}{\code {strdup}} +\entry{strndup}{69}{\code {strndup}} +\entry{stpcpy}{69}{\code {stpcpy}} +\entry{stpncpy}{70}{\code {stpncpy}} +\entry{strdupa}{70}{\code {strdupa}} +\entry{strndupa}{71}{\code {strndupa}} +\entry{strcat}{71}{\code {strcat}} +\entry{strncat}{71}{\code {strncat}} +\entry{bcopy}{72}{\code {bcopy}} +\entry{bzero}{72}{\code {bzero}} +\entry{memcmp}{73}{\code {memcmp}} +\entry{strcmp}{74}{\code {strcmp}} +\entry{strcasecmp}{74}{\code {strcasecmp}} +\entry{strncasecmp}{74}{\code {strncasecmp}} +\entry{strncmp}{74}{\code {strncmp}} +\entry{bcmp}{75}{\code {bcmp}} +\entry{strcoll}{75}{\code {strcoll}} +\entry{strxfrm}{76}{\code {strxfrm}} +\entry{memchr}{78}{\code {memchr}} +\entry{strchr}{78}{\code {strchr}} +\entry{index}{79}{\code {index}} +\entry{strrchr}{79}{\code {strrchr}} +\entry{rindex}{79}{\code {rindex}} +\entry{strstr}{79}{\code {strstr}} +\entry{memmem}{79}{\code {memmem}} +\entry{strspn}{79}{\code {strspn}} +\entry{strcspn}{80}{\code {strcspn}} +\entry{strpbrk}{80}{\code {strpbrk}} +\entry{strtok}{80}{\code {strtok}} +\entry{strtok{\_}r}{82}{\code {strtok_r}} +\entry{strsep}{82}{\code {strsep}} +\entry{fopen}{94}{\code {fopen}} +\entry{freopen}{96}{\code {freopen}} +\entry{fclose}{96}{\code {fclose}} +\entry{fcloseall}{97}{\code {fcloseall}} +\entry{fputc}{97}{\code {fputc}} +\entry{putc}{97}{\code {putc}} +\entry{putchar}{98}{\code {putchar}} +\entry{fputs}{98}{\code {fputs}} +\entry{puts}{98}{\code {puts}} +\entry{putw}{98}{\code {putw}} +\entry{fgetc}{99}{\code {fgetc}} +\entry{getc}{99}{\code {getc}} +\entry{getchar}{99}{\code {getchar}} +\entry{getw}{100}{\code {getw}} +\entry{getline}{100}{\code {getline}} +\entry{getdelim}{101}{\code {getdelim}} +\entry{fgets}{101}{\code {fgets}} +\entry{gets}{101}{\code {gets}} +\entry{ungetc}{103}{\code {ungetc}} +\entry{fread}{104}{\code {fread}} +\entry{fwrite}{104}{\code {fwrite}} +\entry{printf}{113}{\code {printf}} +\entry{fprintf}{113}{\code {fprintf}} +\entry{sprintf}{113}{\code {sprintf}} +\entry{snprintf}{114}{\code {snprintf}} +\entry{asprintf}{114}{\code {asprintf}} +\entry{obstack{\_}printf}{115}{\code {obstack_printf}} +\entry{vprintf}{116}{\code {vprintf}} +\entry{vfprintf}{116}{\code {vfprintf}} +\entry{vsprintf}{116}{\code {vsprintf}} +\entry{vsnprintf}{116}{\code {vsnprintf}} +\entry{vasprintf}{117}{\code {vasprintf}} +\entry{obstack{\_}vprintf}{117}{\code {obstack_vprintf}} +\entry{parse{\_}printf{\_}format}{118}{\code {parse_printf_format}} +\entry{register{\_}printf{\_}function}{121}{\code {register_printf_function}} +\entry{scanf}{134}{\code {scanf}} +\entry{fscanf}{134}{\code {fscanf}} +\entry{sscanf}{134}{\code {sscanf}} +\entry{vscanf}{134}{\code {vscanf}} +\entry{vfscanf}{135}{\code {vfscanf}} +\entry{vsscanf}{135}{\code {vsscanf}} +\entry{clearerr}{135}{\code {clearerr}} +\entry{feof}{135}{\code {feof}} +\entry{ferror}{136}{\code {ferror}} +\entry{ftell}{137}{\code {ftell}} +\entry{fseek}{137}{\code {fseek}} +\entry{rewind}{138}{\code {rewind}} +\entry{fgetpos}{139}{\code {fgetpos}} +\entry{fsetpos}{139}{\code {fsetpos}} +\entry{fflush}{141}{\code {fflush}} +\entry{setvbuf}{141}{\code {setvbuf}} +\entry{setbuf}{143}{\code {setbuf}} +\entry{setbuffer}{143}{\code {setbuffer}} +\entry{setlinebuf}{143}{\code {setlinebuf}} +\entry{fmemopen}{144}{\code {fmemopen}} +\entry{open{\_}memstream}{145}{\code {open_memstream}} +\entry{open{\_}obstack{\_}stream}{146}{\code {open_obstack_stream}} +\entry{fopencookie}{148}{\code {fopencookie}} +\entry{open}{151}{\code {open}} +\entry{creat}{152}{\code {creat}} +\entry{close}{152}{\code {close}} +\entry{read}{153}{\code {read}} +\entry{write}{155}{\code {write}} +\entry{lseek}{157}{\code {lseek}} +\entry{fdopen}{159}{\code {fdopen}} +\entry{fileno}{159}{\code {fileno}} +\entry{fclean}{161}{\code {fclean}} +\entry{FD{\_}ZERO}{163}{\code {FD_ZERO}} +\entry{FD{\_}SET}{163}{\code {FD_SET}} +\entry{FD{\_}CLR}{163}{\code {FD_CLR}} +\entry{FD{\_}ISSET}{163}{\code {FD_ISSET}} +\entry{select}{163}{\code {select}} +\entry{fcntl}{165}{\code {fcntl}} +\entry{dup}{167}{\code {dup}} +\entry{dup2}{167}{\code {dup2}} +\entry{getcwd}{181}{\code {getcwd}} +\entry{getwd}{182}{\code {getwd}} +\entry{chdir}{182}{\code {chdir}} +\entry{IFTODT}{184}{\code {IFTODT}} +\entry{DTTOIF}{184}{\code {DTTOIF}} +\entry{opendir}{184}{\code {opendir}} +\entry{readdir}{185}{\code {readdir}} +\entry{readdir{\_}r}{185}{\code {readdir_r}} +\entry{closedir}{186}{\code {closedir}} +\entry{rewinddir}{187}{\code {rewinddir}} +\entry{telldir}{187}{\code {telldir}} +\entry{seekdir}{187}{\code {seekdir}} +\entry{scandir}{187}{\code {scandir}} +\entry{alphasort}{188}{\code {alphasort}} +\entry{link}{189}{\code {link}} +\entry{symlink}{191}{\code {symlink}} +\entry{readlink}{191}{\code {readlink}} +\entry{unlink}{192}{\code {unlink}} +\entry{rmdir}{193}{\code {rmdir}} +\entry{remove}{193}{\code {remove}} +\entry{rename}{193}{\code {rename}} +\entry{mkdir}{195}{\code {mkdir}} +\entry{stat}{198}{\code {stat}} +\entry{fstat}{198}{\code {fstat}} +\entry{lstat}{198}{\code {lstat}} +\entry{S{\_}ISDIR}{199}{\code {S_ISDIR}} +\entry{S{\_}ISCHR}{199}{\code {S_ISCHR}} +\entry{S{\_}ISBLK}{199}{\code {S_ISBLK}} +\entry{S{\_}ISREG}{199}{\code {S_ISREG}} +\entry{S{\_}ISFIFO}{199}{\code {S_ISFIFO}} +\entry{S{\_}ISLNK}{199}{\code {S_ISLNK}} +\entry{S{\_}ISSOCK}{199}{\code {S_ISSOCK}} +\entry{chown}{201}{\code {chown}} +\entry{fchown}{201}{\code {fchown}} +\entry{chmod}{204}{\code {chmod}} +\entry{umask}{205}{\code {umask}} +\entry{getumask}{205}{\code {getumask}} +\entry{chmod}{205}{\code {chmod}} +\entry{fchmod}{206}{\code {fchmod}} +\entry{access}{207}{\code {access}} +\entry{utime}{209}{\code {utime}} +\entry{utimes}{209}{\code {utimes}} +\entry{mknod}{210}{\code {mknod}} +\entry{tmpfile}{211}{\code {tmpfile}} +\entry{tmpnam}{211}{\code {tmpnam}} +\entry{tmpnam{\_}r}{211}{\code {tmpnam_r}} +\entry{tempnam}{212}{\code {tempnam}} +\entry{mktemp}{212}{\code {mktemp}} +\entry{mkstemp}{212}{\code {mkstemp}} +\entry{pipe}{215}{\code {pipe}} +\entry{popen}{217}{\code {popen}} +\entry{pclose}{218}{\code {pclose}} +\entry{mkfifo}{219}{\code {mkfifo}} +\entry{bind}{225}{\code {bind}} +\entry{getsockname}{226}{\code {getsockname}} +\entry{inet{\_}aton}{232}{\code {inet_aton}} +\entry{inet{\_}addr}{232}{\code {inet_addr}} +\entry{inet{\_}network}{232}{\code {inet_network}} +\entry{inet{\_}ntoa}{233}{\code {inet_ntoa}} +\entry{inet{\_}makeaddr}{233}{\code {inet_makeaddr}} +\entry{inet{\_}lnaof}{233}{\code {inet_lnaof}} +\entry{inet{\_}netof}{233}{\code {inet_netof}} +\entry{gethostbyname}{234}{\code {gethostbyname}} +\entry{gethostbyaddr}{234}{\code {gethostbyaddr}} +\entry{sethostent}{235}{\code {sethostent}} +\entry{gethostent}{235}{\code {gethostent}} +\entry{endhostent}{235}{\code {endhostent}} +\entry{getservbyname}{237}{\code {getservbyname}} +\entry{getservbyport}{237}{\code {getservbyport}} +\entry{setservent}{237}{\code {setservent}} +\entry{getservent}{237}{\code {getservent}} +\entry{endservent}{237}{\code {endservent}} +\entry{htons}{238}{\code {htons}} +\entry{ntohs}{238}{\code {ntohs}} +\entry{htonl}{238}{\code {htonl}} +\entry{ntohl}{238}{\code {ntohl}} +\entry{getprotobyname}{239}{\code {getprotobyname}} +\entry{getprotobynumber}{239}{\code {getprotobynumber}} +\entry{setprotoent}{240}{\code {setprotoent}} +\entry{getprotoent}{240}{\code {getprotoent}} +\entry{endprotoent}{240}{\code {endprotoent}} +\entry{socket}{242}{\code {socket}} +\entry{shutdown}{243}{\code {shutdown}} +\entry{socketpair}{243}{\code {socketpair}} +\entry{connect}{245}{\code {connect}} +\entry{listen}{246}{\code {listen}} +\entry{accept}{247}{\code {accept}} +\entry{getpeername}{248}{\code {getpeername}} +\entry{send}{249}{\code {send}} +\entry{recv}{250}{\code {recv}} +\entry{sendto}{259}{\code {sendto}} +\entry{recvfrom}{259}{\code {recvfrom}} +\entry{getsockopt}{264}{\code {getsockopt}} +\entry{setsockopt}{265}{\code {setsockopt}} +\entry{getnetbyname}{268}{\code {getnetbyname}} +\entry{getnetbyaddr}{268}{\code {getnetbyaddr}} +\entry{setnetent}{268}{\code {setnetent}} +\entry{getnetent}{268}{\code {getnetent}} +\entry{endnetent}{268}{\code {endnetent}} +\entry{isatty}{269}{\code {isatty}} +\entry{ttyname}{269}{\code {ttyname}} +\entry{tcgetattr}{272}{\code {tcgetattr}} +\entry{tcsetattr}{272}{\code {tcsetattr}} +\entry{cfgetospeed}{283}{\code {cfgetospeed}} +\entry{cfgetispeed}{283}{\code {cfgetispeed}} +\entry{cfsetospeed}{283}{\code {cfsetospeed}} +\entry{cfsetispeed}{283}{\code {cfsetispeed}} +\entry{cfsetspeed}{283}{\code {cfsetspeed}} +\entry{cfmakeraw}{290}{\code {cfmakeraw}} +\entry{tcsendbreak}{291}{\code {tcsendbreak}} +\entry{tcdrain}{291}{\code {tcdrain}} +\entry{tcflush}{292}{\code {tcflush}} +\entry{tcflow}{292}{\code {tcflow}} +\entry{sin}{296}{\code {sin}} +\entry{cos}{296}{\code {cos}} +\entry{tan}{296}{\code {tan}} +\entry{asin}{297}{\code {asin}} +\entry{acos}{297}{\code {acos}} +\entry{atan}{297}{\code {atan}} +\entry{atan2}{297}{\code {atan2}} +\entry{exp}{298}{\code {exp}} +\entry{log}{298}{\code {log}} +\entry{log10}{298}{\code {log10}} +\entry{pow}{298}{\code {pow}} +\entry{sqrt}{298}{\code {sqrt}} +\entry{cbrt}{298}{\code {cbrt}} +\entry{hypot}{299}{\code {hypot}} +\entry{expm1}{299}{\code {expm1}} +\entry{log1p}{299}{\code {log1p}} +\entry{sinh}{299}{\code {sinh}} +\entry{cosh}{299}{\code {cosh}} +\entry{tanh}{299}{\code {tanh}} +\entry{asinh}{299}{\code {asinh}} +\entry{acosh}{299}{\code {acosh}} +\entry{atanh}{300}{\code {atanh}} +\entry{rand}{300}{\code {rand}} +\entry{srand}{301}{\code {srand}} +\entry{random}{301}{\code {random}} +\entry{srandom}{301}{\code {srandom}} +\entry{initstate}{301}{\code {initstate}} +\entry{setstate}{301}{\code {setstate}} +\entry{isinf}{303}{\code {isinf}} +\entry{isnan}{303}{\code {isnan}} +\entry{finite}{304}{\code {finite}} +\entry{infnan}{304}{\code {infnan}} +\entry{abs}{304}{\code {abs}} +\entry{labs}{304}{\code {labs}} +\entry{fabs}{304}{\code {fabs}} +\entry{cabs}{304}{\code {cabs}} +\entry{frexp}{305}{\code {frexp}} +\entry{ldexp}{305}{\code {ldexp}} +\entry{scalb}{305}{\code {scalb}} +\entry{logb}{305}{\code {logb}} +\entry{copysign}{306}{\code {copysign}} +\entry{ceil}{306}{\code {ceil}} +\entry{floor}{306}{\code {floor}} +\entry{rint}{306}{\code {rint}} +\entry{modf}{306}{\code {modf}} +\entry{fmod}{307}{\code {fmod}} +\entry{drem}{307}{\code {drem}} +\entry{div}{307}{\code {div}} +\entry{ldiv}{308}{\code {ldiv}} +\entry{strtol}{308}{\code {strtol}} +\entry{strtoul}{309}{\code {strtoul}} +\entry{strtoq}{309}{\code {strtoq}} +\entry{strtoll}{310}{\code {strtoll}} +\entry{strtouq}{310}{\code {strtouq}} +\entry{strtoull}{310}{\code {strtoull}} +\entry{atol}{310}{\code {atol}} +\entry{atoi}{310}{\code {atoi}} +\entry{strtod}{312}{\code {strtod}} +\entry{strtof}{312}{\code {strtof}} +\entry{strtold}{313}{\code {strtold}} +\entry{atof}{313}{\code {atof}} +\entry{bsearch}{315}{\code {bsearch}} +\entry{qsort}{316}{\code {qsort}} +\entry{fnmatch}{321}{\code {fnmatch}} +\entry{glob}{323}{\code {glob}} +\entry{regcomp}{326}{\code {regcomp}} +\entry{regexec}{328}{\code {regexec}} +\entry{regfree}{331}{\code {regfree}} +\entry{regerror}{331}{\code {regerror}} +\entry{wordexp}{333}{\code {wordexp}} +\entry{wordfree}{334}{\code {wordfree}} +\entry{clock}{338}{\code {clock}} +\entry{times}{339}{\code {times}} +\entry{difftime}{340}{\code {difftime}} +\entry{time}{340}{\code {time}} +\entry{gettimeofday}{342}{\code {gettimeofday}} +\entry{settimeofday}{342}{\code {settimeofday}} +\entry{adjtime}{342}{\code {adjtime}} +\entry{localtime}{344}{\code {localtime}} +\entry{gmtime}{345}{\code {gmtime}} +\entry{mktime}{345}{\code {mktime}} +\entry{asctime}{345}{\code {asctime}} +\entry{ctime}{346}{\code {ctime}} +\entry{strftime}{346}{\code {strftime}} +\entry{tzset}{353}{\code {tzset}} +\entry{setitimer}{355}{\code {setitimer}} +\entry{getitimer}{355}{\code {getitimer}} +\entry{ITIMER{\_}REAL}{356}{\code {ITIMER_REAL}} +\entry{ITIMER{\_}VIRTUAL}{356}{\code {ITIMER_VIRTUAL}} +\entry{ITIMER{\_}PROF}{356}{\code {ITIMER_PROF}} +\entry{alarm}{356}{\code {alarm}} +\entry{sleep}{357}{\code {sleep}} +\entry{getrusage}{358}{\code {getrusage}} +\entry{getrlimit}{360}{\code {getrlimit}} +\entry{setrlimit}{360}{\code {setrlimit}} +\entry{getpriority}{362}{\code {getpriority}} +\entry{setpriority}{362}{\code {setpriority}} +\entry{nice}{363}{\code {nice}} +\entry{mbstowcs}{370}{\code {mbstowcs}} +\entry{wcstombs}{370}{\code {wcstombs}} +\entry{mblen}{371}{\code {mblen}} +\entry{mbtowc}{372}{\code {mbtowc}} +\entry{wctomb}{372}{\code {wctomb}} +\entry{setlocale}{379}{\code {setlocale}} +\entry{localeconv}{381}{\code {localeconv}} +\entry{setjmp}{389}{\code {setjmp}} +\entry{longjmp}{389}{\code {longjmp}} +\entry{sigsetjmp}{390}{\code {sigsetjmp}} +\entry{siglongjmp}{390}{\code {siglongjmp}} +\entry{strsignal}{403}{\code {strsignal}} +\entry{psignal}{403}{\code {psignal}} +\entry{signal}{404}{\code {signal}} +\entry{ssignal}{406}{\code {ssignal}} +\entry{sigaction}{407}{\code {sigaction}} +\entry{TEMP{\_}FAILURE{\_}RETRY}{423}{\code {TEMP_FAILURE_RETRY}} +\entry{raise}{424}{\code {raise}} +\entry{gsignal}{425}{\code {gsignal}} +\entry{kill}{426}{\code {kill}} +\entry{killpg}{427}{\code {killpg}} +\entry{sigemptyset}{431}{\code {sigemptyset}} +\entry{sigfillset}{431}{\code {sigfillset}} +\entry{sigaddset}{431}{\code {sigaddset}} +\entry{sigdelset}{431}{\code {sigdelset}} +\entry{sigismember}{431}{\code {sigismember}} +\entry{sigprocmask}{432}{\code {sigprocmask}} +\entry{sigpending}{435}{\code {sigpending}} +\entry{pause}{438}{\code {pause}} +\entry{sigsuspend}{439}{\code {sigsuspend}} +\entry{sigaltstack}{441}{\code {sigaltstack}} +\entry{sigstack}{442}{\code {sigstack}} +\entry{sigvec}{444}{\code {sigvec}} +\entry{siginterrupt}{444}{\code {siginterrupt}} +\entry{sigmask}{444}{\code {sigmask}} +\entry{sigblock}{444}{\code {sigblock}} +\entry{sigsetmask}{444}{\code {sigsetmask}} +\entry{sigpause}{444}{\code {sigpause}} +\entry{main}{445}{\code {main}} +\entry{getopt}{447}{\code {getopt}} +\entry{getopt{\_}long}{451}{\code {getopt_long}} +\entry{getsubopt}{454}{\code {getsubopt}} +\entry{getenv}{457}{\code {getenv}} +\entry{putenv}{457}{\code {putenv}} +\entry{exit}{460}{\code {exit}} +\entry{atexit}{462}{\code {atexit}} +\entry{on{\_}exit}{462}{\code {on_exit}} +\entry{abort}{463}{\code {abort}} +\entry{{\_}exit}{463}{\code {_exit}} +\entry{system}{465}{\code {system}} +\entry{getpid}{466}{\code {getpid}} +\entry{getppid}{467}{\code {getppid}} +\entry{fork}{467}{\code {fork}} +\entry{vfork}{468}{\code {vfork}} +\entry{execv}{468}{\code {execv}} +\entry{execl}{469}{\code {execl}} +\entry{execve}{469}{\code {execve}} +\entry{execle}{469}{\code {execle}} +\entry{execvp}{469}{\code {execvp}} +\entry{execlp}{469}{\code {execlp}} +\entry{waitpid}{471}{\code {waitpid}} +\entry{wait}{473}{\code {wait}} +\entry{wait4}{473}{\code {wait4}} +\entry{WIFEXITED}{474}{\code {WIFEXITED}} +\entry{WEXITSTATUS}{474}{\code {WEXITSTATUS}} +\entry{WIFSIGNALED}{474}{\code {WIFSIGNALED}} +\entry{WTERMSIG}{474}{\code {WTERMSIG}} +\entry{WCOREDUMP}{474}{\code {WCOREDUMP}} +\entry{WIFSTOPPED}{474}{\code {WIFSTOPPED}} +\entry{WSTOPSIG}{474}{\code {WSTOPSIG}} +\entry{wait3}{475}{\code {wait3}} +\entry{ctermid}{495}{\code {ctermid}} +\entry{setsid}{496}{\code {setsid}} +\entry{getpgrp}{497}{\code {getpgrp}} +\entry{getpgrp}{497}{\code {getpgrp}} +\entry{setpgid}{497}{\code {setpgid}} +\entry{setpgrp}{497}{\code {setpgrp}} +\entry{tcgetpgrp}{498}{\code {tcgetpgrp}} +\entry{tcsetpgrp}{498}{\code {tcsetpgrp}} +\entry{success}{501}{\code {success}} +\entry{notfound}{501}{\code {notfound}} +\entry{unavail}{501}{\code {unavail}} +\entry{success}{501}{\code {success}} +\entry{notfound}{501}{\code {notfound}} +\entry{unavail}{501}{\code {unavail}} +\entry{tryagain}{501}{\code {tryagain}} +\entry{tryagain}{502}{\code {tryagain}} +\entry{NSS{\_}STATUS{\_}TRYAGAIN}{505}{\code {NSS_STATUS_TRYAGAIN}} +\entry{NSS{\_}STATUS{\_}UNAVAIL}{505}{\code {NSS_STATUS_UNAVAIL}} +\entry{NSS{\_}STATUS{\_}NOTFOUND}{505}{\code {NSS_STATUS_NOTFOUND}} +\entry{NSS{\_}STATUS{\_}SUCCESS}{505}{\code {NSS_STATUS_SUCCESS}} +\entry{NSS{\_}STATUS{\_}TRYAGAIN}{505}{\code {NSS_STATUS_TRYAGAIN}} +\entry{NSS{\_}STATUS{\_}UNAVAIL}{505}{\code {NSS_STATUS_UNAVAIL}} +\entry{NSS{\_}STATUS{\_}NOTFOUND}{505}{\code {NSS_STATUS_NOTFOUND}} +\entry{NSS{\_}STATUS{\_}SUCCESS}{505}{\code {NSS_STATUS_SUCCESS}} +\entry{getuid}{511}{\code {getuid}} +\entry{getgid}{511}{\code {getgid}} +\entry{geteuid}{511}{\code {geteuid}} +\entry{getegid}{512}{\code {getegid}} +\entry{getgroups}{512}{\code {getgroups}} +\entry{setuid}{512}{\code {setuid}} +\entry{setreuid}{513}{\code {setreuid}} +\entry{setgid}{513}{\code {setgid}} +\entry{setregid}{513}{\code {setregid}} +\entry{setgroups}{514}{\code {setgroups}} +\entry{initgroups}{514}{\code {initgroups}} +\entry{getlogin}{518}{\code {getlogin}} +\entry{cuserid}{519}{\code {cuserid}} +\entry{getpwuid}{520}{\code {getpwuid}} +\entry{getpwuid{\_}r}{520}{\code {getpwuid_r}} +\entry{getpwnam}{521}{\code {getpwnam}} +\entry{getpwnam{\_}r}{521}{\code {getpwnam_r}} +\entry{fgetpwent}{521}{\code {fgetpwent}} +\entry{fgetpwent{\_}r}{521}{\code {fgetpwent_r}} +\entry{setpwent}{522}{\code {setpwent}} +\entry{getpwent}{522}{\code {getpwent}} +\entry{getpwent{\_}r}{522}{\code {getpwent_r}} +\entry{endpwent}{522}{\code {endpwent}} +\entry{putpwent}{523}{\code {putpwent}} +\entry{getgrgid}{524}{\code {getgrgid}} +\entry{getgrgid{\_}r}{524}{\code {getgrgid_r}} +\entry{getgrnam}{524}{\code {getgrnam}} +\entry{getgrnam{\_}r}{524}{\code {getgrnam_r}} +\entry{fgetgrent}{525}{\code {fgetgrent}} +\entry{fgetgrent{\_}r}{525}{\code {fgetgrent_r}} +\entry{setgrent}{525}{\code {setgrent}} +\entry{getgrent}{525}{\code {getgrent}} +\entry{getgrent{\_}r}{525}{\code {getgrent_r}} +\entry{endgrent}{526}{\code {endgrent}} +\entry{setnetgrent}{527}{\code {setnetgrent}} +\entry{getnetgrent}{527}{\code {getnetgrent}} +\entry{getnetgrent{\_}r}{527}{\code {getnetgrent_r}} +\entry{endnetgrent}{528}{\code {endnetgrent}} +\entry{innetgr}{528}{\code {innetgr}} +\entry{gethostname}{531}{\code {gethostname}} +\entry{sethostname}{531}{\code {sethostname}} +\entry{gethostid}{532}{\code {gethostid}} +\entry{sethostid}{532}{\code {sethostid}} +\entry{uname}{533}{\code {uname}} +\entry{sysconf}{539}{\code {sysconf}} +\entry{pathconf}{546}{\code {pathconf}} +\entry{fpathconf}{546}{\code {fpathconf}} +\entry{confstr}{549}{\code {confstr}} +\entry{assert}{551}{\code {assert}} +\entry{assert{\_}perror}{552}{\code {assert_perror}} \entry{va{\_}start}{557}{\code {va_start}} -\entry{offsetof}{567}{\code {offsetof}} +\entry{va{\_}arg}{557}{\code {va_arg}} +\entry{va{\_}end}{557}{\code {va_end}} +\entry{va{\_}alist}{559}{\code {va_alist}} +\entry{va{\_}dcl}{559}{\code {va_dcl}} +\entry{va{\_}start}{559}{\code {va_start}} +\entry{offsetof}{569}{\code {offsetof}} diff -durpN glibc-2.0.2/manual/libc.fns glibc-2.0.3/manual/libc.fns --- glibc-2.0.2/manual/libc.fns Tue Mar 18 22:30:15 1997 +++ glibc-2.0.3/manual/libc.fns Sun Apr 20 18:25:21 1997 @@ -1,547 +1,548 @@ \initial {{\_}} -\entry {\code {_exit}}{461} -\entry {\code {_tolower}}{61} -\entry {\code {_toupper}}{61} +\entry {\code {_exit}}{463} +\entry {\code {_tolower}}{63} +\entry {\code {_toupper}}{63} \initial {A} -\entry {\code {abort}}{461} -\entry {\code {abs}}{302} -\entry {\code {accept}}{245} -\entry {\code {access}}{205} -\entry {\code {acos}}{295} -\entry {\code {acosh}}{297} -\entry {\code {adjtime}}{340} -\entry {\code {alarm}}{354} -\entry {\code {alloca}}{54} -\entry {\code {alphasort}}{186} -\entry {\code {asctime}}{343} -\entry {\code {asin}}{295} -\entry {\code {asinh}}{297} -\entry {\code {asprintf}}{112} -\entry {\code {assert}}{549} -\entry {\code {assert_perror}}{550} -\entry {\code {atan}}{295} -\entry {\code {atan2}}{295} -\entry {\code {atanh}}{298} -\entry {\code {atexit}}{460} -\entry {\code {atof}}{311} -\entry {\code {atoi}}{308} -\entry {\code {atol}}{308} +\entry {\code {abort}}{463} +\entry {\code {abs}}{304} +\entry {\code {accept}}{247} +\entry {\code {access}}{207} +\entry {\code {acos}}{297} +\entry {\code {acosh}}{299} +\entry {\code {adjtime}}{342} +\entry {\code {alarm}}{356} +\entry {\code {alloca}}{55} +\entry {\code {alphasort}}{188} +\entry {\code {asctime}}{345} +\entry {\code {asin}}{297} +\entry {\code {asinh}}{299} +\entry {\code {asprintf}}{114} +\entry {\code {assert}}{551} +\entry {\code {assert_perror}}{552} +\entry {\code {atan}}{297} +\entry {\code {atan2}}{297} +\entry {\code {atanh}}{300} +\entry {\code {atexit}}{462} +\entry {\code {atof}}{313} +\entry {\code {atoi}}{310} +\entry {\code {atol}}{310} \initial {B} -\entry {\code {bcmp}}{73} -\entry {\code {bcopy}}{70} -\entry {\code {bind}}{223} -\entry {\code {bsearch}}{313} -\entry {\code {bzero}}{70} +\entry {\code {bcmp}}{75} +\entry {\code {bcopy}}{72} +\entry {\code {bind}}{225} +\entry {\code {bsearch}}{315} +\entry {\code {bzero}}{72} \initial {C} -\entry {\code {cabs}}{302} +\entry {\code {cabs}}{304} \entry {\code {calloc}}{36} -\entry {\code {cbrt}}{296} -\entry {\code {ceil}}{304} -\entry {\code {cfgetispeed}}{281} -\entry {\code {cfgetospeed}}{281} -\entry {\code {cfmakeraw}}{288} +\entry {\code {cbrt}}{298} +\entry {\code {ceil}}{306} +\entry {\code {cfgetispeed}}{283} +\entry {\code {cfgetospeed}}{283} +\entry {\code {cfmakeraw}}{290} \entry {\code {cfree}}{34} -\entry {\code {cfsetispeed}}{281} -\entry {\code {cfsetospeed}}{281} -\entry {\code {cfsetspeed}}{281} -\entry {\code {chdir}}{180} -\entry {\code {chmod}}{202, 203} -\entry {\code {chown}}{199} -\entry {\code {clearerr}}{133} -\entry {\code {clock}}{336} -\entry {\code {close}}{150} -\entry {\code {closedir}}{184} -\entry {\code {confstr}}{547} -\entry {\code {connect}}{243} -\entry {\code {copysign}}{304} -\entry {\code {cos}}{294} -\entry {\code {cosh}}{297} -\entry {\code {creat}}{150} -\entry {\code {ctermid}}{493} -\entry {\code {ctime}}{344} -\entry {\code {cuserid}}{517} +\entry {\code {cfsetispeed}}{283} +\entry {\code {cfsetospeed}}{283} +\entry {\code {cfsetspeed}}{283} +\entry {\code {chdir}}{182} +\entry {\code {chmod}}{204, 205} +\entry {\code {chown}}{201} +\entry {\code {clearerr}}{135} +\entry {\code {clock}}{338} +\entry {\code {close}}{152} +\entry {\code {closedir}}{186} +\entry {\code {confstr}}{549} +\entry {\code {connect}}{245} +\entry {\code {copysign}}{306} +\entry {\code {cos}}{296} +\entry {\code {cosh}}{299} +\entry {\code {creat}}{152} +\entry {\code {ctermid}}{495} +\entry {\code {ctime}}{346} +\entry {\code {cuserid}}{519} \initial {D} -\entry {\code {difftime}}{338} -\entry {\code {div}}{305} -\entry {\code {drem}}{305} -\entry {\code {DTTOIF}}{182} -\entry {\code {dup}}{165} -\entry {\code {dup2}}{165} +\entry {\code {difftime}}{340} +\entry {\code {div}}{307} +\entry {\code {drem}}{307} +\entry {\code {DTTOIF}}{184} +\entry {\code {dup}}{167} +\entry {\code {dup2}}{167} \initial {E} -\entry {\code {endgrent}}{524} -\entry {\code {endhostent}}{233} -\entry {\code {endnetent}}{266} -\entry {\code {endnetgrent}}{526} -\entry {\code {endprotoent}}{238} -\entry {\code {endpwent}}{520} -\entry {\code {endservent}}{235} -\entry {\code {execl}}{467} -\entry {\code {execle}}{467} -\entry {\code {execlp}}{467} -\entry {\code {execv}}{466} -\entry {\code {execve}}{467} -\entry {\code {execvp}}{467} -\entry {\code {exit}}{458} -\entry {\code {exp}}{296} -\entry {\code {expm1}}{297} +\entry {\code {endgrent}}{526} +\entry {\code {endhostent}}{235} +\entry {\code {endnetent}}{268} +\entry {\code {endnetgrent}}{528} +\entry {\code {endprotoent}}{240} +\entry {\code {endpwent}}{522} +\entry {\code {endservent}}{237} +\entry {\code {execl}}{469} +\entry {\code {execle}}{469} +\entry {\code {execlp}}{469} +\entry {\code {execv}}{468} +\entry {\code {execve}}{469} +\entry {\code {execvp}}{469} +\entry {\code {exit}}{460} +\entry {\code {exp}}{298} +\entry {\code {expm1}}{299} \initial {F} -\entry {\code {fabs}}{302} -\entry {\code {fchmod}}{204} -\entry {\code {fchown}}{199} -\entry {\code {fclean}}{159} -\entry {\code {fclose}}{94} -\entry {\code {fcloseall}}{95} -\entry {\code {fcntl}}{163} -\entry {\code {FD_CLR}}{161} -\entry {\code {FD_ISSET}}{161} -\entry {\code {FD_SET}}{161} -\entry {\code {FD_ZERO}}{161} -\entry {\code {fdopen}}{157} -\entry {\code {feof}}{133} -\entry {\code {ferror}}{134} -\entry {\code {fflush}}{139} -\entry {\code {fgetc}}{97} -\entry {\code {fgetgrent}}{523} -\entry {\code {fgetgrent_r}}{523} -\entry {\code {fgetpos}}{137} -\entry {\code {fgetpwent}}{519} -\entry {\code {fgetpwent_r}}{519} -\entry {\code {fgets}}{99} -\entry {\code {fileno}}{157} -\entry {\code {finite}}{302} -\entry {\code {floor}}{304} -\entry {\code {fmemopen}}{142} -\entry {\code {fmod}}{305} -\entry {\code {fnmatch}}{319} -\entry {\code {fopen}}{92} -\entry {\code {fopencookie}}{146} -\entry {\code {fork}}{465} -\entry {\code {fpathconf}}{544} -\entry {\code {fprintf}}{111} -\entry {\code {fputc}}{95} -\entry {\code {fputs}}{96} -\entry {\code {fread}}{102} +\entry {\code {fabs}}{304} +\entry {\code {fchmod}}{206} +\entry {\code {fchown}}{201} +\entry {\code {fclean}}{161} +\entry {\code {fclose}}{96} +\entry {\code {fcloseall}}{97} +\entry {\code {fcntl}}{165} +\entry {\code {FD_CLR}}{163} +\entry {\code {FD_ISSET}}{163} +\entry {\code {FD_SET}}{163} +\entry {\code {FD_ZERO}}{163} +\entry {\code {fdopen}}{159} +\entry {\code {feof}}{135} +\entry {\code {ferror}}{136} +\entry {\code {fflush}}{141} +\entry {\code {fgetc}}{99} +\entry {\code {fgetgrent}}{525} +\entry {\code {fgetgrent_r}}{525} +\entry {\code {fgetpos}}{139} +\entry {\code {fgetpwent}}{521} +\entry {\code {fgetpwent_r}}{521} +\entry {\code {fgets}}{101} +\entry {\code {fileno}}{159} +\entry {\code {finite}}{304} +\entry {\code {floor}}{306} +\entry {\code {fmemopen}}{144} +\entry {\code {fmod}}{307} +\entry {\code {fnmatch}}{321} +\entry {\code {fopen}}{94} +\entry {\code {fopencookie}}{148} +\entry {\code {fork}}{467} +\entry {\code {fpathconf}}{546} +\entry {\code {fprintf}}{113} +\entry {\code {fputc}}{97} +\entry {\code {fputs}}{98} +\entry {\code {fread}}{104} \entry {\code {free}}{34} -\entry {\code {freopen}}{94} -\entry {\code {frexp}}{303} -\entry {\code {fscanf}}{132} -\entry {\code {fseek}}{135} -\entry {\code {fsetpos}}{137} -\entry {\code {fstat}}{196} -\entry {\code {ftell}}{135} -\entry {\code {fwrite}}{102} +\entry {\code {freopen}}{96} +\entry {\code {frexp}}{305} +\entry {\code {fscanf}}{134} +\entry {\code {fseek}}{137} +\entry {\code {fsetpos}}{139} +\entry {\code {fstat}}{198} +\entry {\code {ftell}}{137} +\entry {\code {fwrite}}{104} \initial {G} -\entry {\code {getc}}{97} -\entry {\code {getchar}}{97} -\entry {\code {getcwd}}{179} -\entry {\code {getdelim}}{99} -\entry {\code {getegid}}{510} -\entry {\code {getenv}}{455} -\entry {\code {geteuid}}{509} -\entry {\code {getgid}}{509} -\entry {\code {getgrent}}{523} -\entry {\code {getgrent_r}}{523} -\entry {\code {getgrgid}}{522} -\entry {\code {getgrgid_r}}{522} -\entry {\code {getgrnam}}{522} -\entry {\code {getgrnam_r}}{522} -\entry {\code {getgroups}}{510} -\entry {\code {gethostbyaddr}}{232} -\entry {\code {gethostbyname}}{232} -\entry {\code {gethostent}}{233} -\entry {\code {gethostid}}{530} -\entry {\code {gethostname}}{529} -\entry {\code {getitimer}}{353} -\entry {\code {getline}}{98} -\entry {\code {getlogin}}{516} -\entry {\code {getnetbyaddr}}{266} -\entry {\code {getnetbyname}}{266} -\entry {\code {getnetent}}{266} -\entry {\code {getnetgrent}}{525} -\entry {\code {getnetgrent_r}}{525} -\entry {\code {getopt}}{445} -\entry {\code {getopt_long}}{449} -\entry {\code {getpeername}}{246} -\entry {\code {getpgrp}}{495} -\entry {\code {getpid}}{464} -\entry {\code {getppid}}{465} -\entry {\code {getpriority}}{360} -\entry {\code {getprotobyname}}{237} -\entry {\code {getprotobynumber}}{237} -\entry {\code {getprotoent}}{238} -\entry {\code {getpwent}}{520} -\entry {\code {getpwent_r}}{520} -\entry {\code {getpwnam}}{519} -\entry {\code {getpwnam_r}}{519} -\entry {\code {getpwuid}}{518} -\entry {\code {getpwuid_r}}{518} -\entry {\code {getrlimit}}{358} -\entry {\code {getrusage}}{356} -\entry {\code {gets}}{99} -\entry {\code {getservbyname}}{235} -\entry {\code {getservbyport}}{235} -\entry {\code {getservent}}{235} -\entry {\code {getsockname}}{224} -\entry {\code {getsockopt}}{262} -\entry {\code {getsubopt}}{452} -\entry {\code {gettimeofday}}{340} -\entry {\code {getuid}}{509} -\entry {\code {getumask}}{203} -\entry {\code {getw}}{98} -\entry {\code {getwd}}{180} -\entry {\code {glob}}{321} -\entry {\code {gmtime}}{343} -\entry {\code {gsignal}}{423} +\entry {\code {getc}}{99} +\entry {\code {getchar}}{99} +\entry {\code {getcwd}}{181} +\entry {\code {getdelim}}{101} +\entry {\code {getegid}}{512} +\entry {\code {getenv}}{457} +\entry {\code {geteuid}}{511} +\entry {\code {getgid}}{511} +\entry {\code {getgrent}}{525} +\entry {\code {getgrent_r}}{525} +\entry {\code {getgrgid}}{524} +\entry {\code {getgrgid_r}}{524} +\entry {\code {getgrnam}}{524} +\entry {\code {getgrnam_r}}{524} +\entry {\code {getgroups}}{512} +\entry {\code {gethostbyaddr}}{234} +\entry {\code {gethostbyname}}{234} +\entry {\code {gethostent}}{235} +\entry {\code {gethostid}}{532} +\entry {\code {gethostname}}{531} +\entry {\code {getitimer}}{355} +\entry {\code {getline}}{100} +\entry {\code {getlogin}}{518} +\entry {\code {getnetbyaddr}}{268} +\entry {\code {getnetbyname}}{268} +\entry {\code {getnetent}}{268} +\entry {\code {getnetgrent}}{527} +\entry {\code {getnetgrent_r}}{527} +\entry {\code {getopt}}{447} +\entry {\code {getopt_long}}{451} +\entry {\code {getpeername}}{248} +\entry {\code {getpgrp}}{497} +\entry {\code {getpid}}{466} +\entry {\code {getppid}}{467} +\entry {\code {getpriority}}{362} +\entry {\code {getprotobyname}}{239} +\entry {\code {getprotobynumber}}{239} +\entry {\code {getprotoent}}{240} +\entry {\code {getpwent}}{522} +\entry {\code {getpwent_r}}{522} +\entry {\code {getpwnam}}{521} +\entry {\code {getpwnam_r}}{521} +\entry {\code {getpwuid}}{520} +\entry {\code {getpwuid_r}}{520} +\entry {\code {getrlimit}}{360} +\entry {\code {getrusage}}{358} +\entry {\code {gets}}{101} +\entry {\code {getservbyname}}{237} +\entry {\code {getservbyport}}{237} +\entry {\code {getservent}}{237} +\entry {\code {getsockname}}{226} +\entry {\code {getsockopt}}{264} +\entry {\code {getsubopt}}{454} +\entry {\code {gettimeofday}}{342} +\entry {\code {getuid}}{511} +\entry {\code {getumask}}{205} +\entry {\code {getw}}{100} +\entry {\code {getwd}}{182} +\entry {\code {glob}}{323} +\entry {\code {gmtime}}{345} +\entry {\code {gsignal}}{425} \initial {H} -\entry {\code {htonl}}{236} -\entry {\code {htons}}{236} -\entry {\code {hypot}}{297} +\entry {\code {htonl}}{238} +\entry {\code {htons}}{238} +\entry {\code {hypot}}{299} \initial {I} -\entry {\code {IFTODT}}{182} -\entry {\code {index}}{77} -\entry {\code {inet_addr}}{230} -\entry {\code {inet_aton}}{230} -\entry {\code {inet_lnaof}}{231} -\entry {\code {inet_makeaddr}}{231} -\entry {\code {inet_netof}}{231} -\entry {\code {inet_network}}{230} -\entry {\code {inet_ntoa}}{231} -\entry {\code {infnan}}{302} -\entry {\code {initgroups}}{512} -\entry {\code {initstate}}{299} -\entry {\code {innetgr}}{526} -\entry {\code {isalnum}}{60} -\entry {\code {isalpha}}{59} -\entry {\code {isascii}}{61} -\entry {\code {isatty}}{267} -\entry {\code {isblank}}{60} -\entry {\code {iscntrl}}{61} -\entry {\code {isdigit}}{60} -\entry {\code {isgraph}}{60} -\entry {\code {isinf}}{301} -\entry {\code {islower}}{59} -\entry {\code {isnan}}{301} -\entry {\code {isprint}}{60} -\entry {\code {ispunct}}{60} -\entry {\code {isspace}}{60} -\entry {\code {isupper}}{59} -\entry {\code {isxdigit}}{60} -\entry {\code {ITIMER_PROF}}{354} -\entry {\code {ITIMER_REAL}}{354} -\entry {\code {ITIMER_VIRTUAL}}{354} +\entry {\code {IFTODT}}{184} +\entry {\code {index}}{79} +\entry {\code {inet_addr}}{232} +\entry {\code {inet_aton}}{232} +\entry {\code {inet_lnaof}}{233} +\entry {\code {inet_makeaddr}}{233} +\entry {\code {inet_netof}}{233} +\entry {\code {inet_network}}{232} +\entry {\code {inet_ntoa}}{233} +\entry {\code {infnan}}{304} +\entry {\code {initgroups}}{514} +\entry {\code {initstate}}{301} +\entry {\code {innetgr}}{528} +\entry {\code {isalnum}}{62} +\entry {\code {isalpha}}{61} +\entry {\code {isascii}}{63} +\entry {\code {isatty}}{269} +\entry {\code {isblank}}{62} +\entry {\code {iscntrl}}{63} +\entry {\code {isdigit}}{62} +\entry {\code {isgraph}}{62} +\entry {\code {isinf}}{303} +\entry {\code {islower}}{61} +\entry {\code {isnan}}{303} +\entry {\code {isprint}}{62} +\entry {\code {ispunct}}{62} +\entry {\code {isspace}}{62} +\entry {\code {isupper}}{61} +\entry {\code {isxdigit}}{62} +\entry {\code {ITIMER_PROF}}{356} +\entry {\code {ITIMER_REAL}}{356} +\entry {\code {ITIMER_VIRTUAL}}{356} \initial {K} -\entry {\code {kill}}{424} -\entry {\code {killpg}}{425} +\entry {\code {kill}}{426} +\entry {\code {killpg}}{427} \initial {L} -\entry {\code {labs}}{302} -\entry {\code {ldexp}}{303} -\entry {\code {ldiv}}{306} -\entry {\code {link}}{187} -\entry {\code {listen}}{244} -\entry {\code {localeconv}}{379} -\entry {\code {localtime}}{342} -\entry {\code {log}}{296} -\entry {\code {log10}}{296} -\entry {\code {log1p}}{297} -\entry {\code {logb}}{303} -\entry {\code {longjmp}}{387} -\entry {\code {lseek}}{155} -\entry {\code {lstat}}{196} +\entry {\code {labs}}{304} +\entry {\code {ldexp}}{305} +\entry {\code {ldiv}}{308} +\entry {\code {link}}{189} +\entry {\code {listen}}{246} +\entry {\code {localeconv}}{381} +\entry {\code {localtime}}{344} +\entry {\code {log}}{298} +\entry {\code {log10}}{298} +\entry {\code {log1p}}{299} +\entry {\code {logb}}{305} +\entry {\code {longjmp}}{389} +\entry {\code {lseek}}{157} +\entry {\code {lstat}}{198} \initial {M} -\entry {\code {main}}{443} +\entry {\code {main}}{445} +\entry {\code {mallinfo}}{42} \entry {\code {malloc}}{32} -\entry {\code {mblen}}{369} -\entry {\code {mbstowcs}}{368} -\entry {\code {mbtowc}}{370} +\entry {\code {mallopt}}{38} +\entry {\code {mblen}}{371} +\entry {\code {mbstowcs}}{370} +\entry {\code {mbtowc}}{372} \entry {\code {mcheck}}{38} \entry {\code {memalign}}{37} -\entry {\code {memccpy}}{66} -\entry {\code {memchr}}{76} -\entry {\code {memcmp}}{71} -\entry {\code {memcpy}}{66} -\entry {\code {memmem}}{77} -\entry {\code {memmove}}{66} -\entry {\code {memory_warnings}}{58} -\entry {\code {memset}}{66} -\entry {\code {mkdir}}{193} -\entry {\code {mkfifo}}{217} -\entry {\code {mknod}}{208} -\entry {\code {mkstemp}}{210} -\entry {\code {mktemp}}{210} -\entry {\code {mktime}}{343} -\entry {\code {modf}}{304} -\entry {\code {mprobe}}{38} -\entry {\code {mstats}}{41} +\entry {\code {memccpy}}{68} +\entry {\code {memchr}}{78} +\entry {\code {memcmp}}{73} +\entry {\code {memcpy}}{68} +\entry {\code {memmem}}{79} +\entry {\code {memmove}}{68} +\entry {\code {memset}}{68} +\entry {\code {mkdir}}{195} +\entry {\code {mkfifo}}{219} +\entry {\code {mknod}}{210} +\entry {\code {mkstemp}}{212} +\entry {\code {mktemp}}{212} +\entry {\code {mktime}}{345} +\entry {\code {modf}}{306} +\entry {\code {mprobe}}{39} \initial {N} -\entry {\code {nice}}{361} -\entry {\code {notfound}}{499} -\entry {\code {NSS_STATUS_NOTFOUND}}{502} -\entry {\code {NSS_STATUS_SUCCESS}}{502, 503} -\entry {\code {NSS_STATUS_TRYAGAIN}}{502} -\entry {\code {NSS_STATUS_UNAVAIL}}{502} -\entry {\code {ntohl}}{236} -\entry {\code {ntohs}}{236} +\entry {\code {nice}}{363} +\entry {\code {notfound}}{501} +\entry {\code {NSS_STATUS_NOTFOUND}}{505} +\entry {\code {NSS_STATUS_SUCCESS}}{505} +\entry {\code {NSS_STATUS_TRYAGAIN}}{505} +\entry {\code {NSS_STATUS_UNAVAIL}}{505} +\entry {\code {ntohl}}{238} +\entry {\code {ntohs}}{238} \initial {O} -\entry {\code {obstack_1grow}}{47} -\entry {\code {obstack_1grow_fast}}{49} -\entry {\code {obstack_alignment_mask}}{51} -\entry {\code {obstack_alloc}}{44} -\entry {\code {obstack_base}}{50} -\entry {\code {obstack_blank}}{47} -\entry {\code {obstack_blank_fast}}{49} -\entry {\code {obstack_chunk_alloc}}{43} -\entry {\code {obstack_chunk_free}}{43} -\entry {\code {obstack_chunk_size}}{52} -\entry {\code {obstack_copy}}{45} -\entry {\code {obstack_copy0}}{45} -\entry {\code {obstack_finish}}{48} -\entry {\code {obstack_free}}{45} -\entry {\code {obstack_grow}}{47} -\entry {\code {obstack_grow0}}{47} -\entry {\code {obstack_init}}{43} -\entry {\code {obstack_int_grow}}{47} -\entry {\code {obstack_int_grow_fast}}{49} -\entry {\code {obstack_next_free}}{50} -\entry {\code {obstack_object_size}}{48, 51} -\entry {\code {obstack_printf}}{113} -\entry {\code {obstack_ptr_grow}}{47} -\entry {\code {obstack_ptr_grow_fast}}{49} -\entry {\code {obstack_room}}{49} -\entry {\code {obstack_vprintf}}{115} -\entry {\code {offsetof}}{567} -\entry {\code {on_exit}}{460} -\entry {\code {open}}{149} -\entry {\code {open_memstream}}{143} -\entry {\code {open_obstack_stream}}{144} -\entry {\code {opendir}}{182} +\entry {\code {obstack_1grow}}{48} +\entry {\code {obstack_1grow_fast}}{50} +\entry {\code {obstack_alignment_mask}}{52} +\entry {\code {obstack_alloc}}{45} +\entry {\code {obstack_base}}{51} +\entry {\code {obstack_blank}}{48} +\entry {\code {obstack_blank_fast}}{50} +\entry {\code {obstack_chunk_alloc}}{44} +\entry {\code {obstack_chunk_free}}{44} +\entry {\code {obstack_chunk_size}}{53} +\entry {\code {obstack_copy}}{46} +\entry {\code {obstack_copy0}}{46} +\entry {\code {obstack_finish}}{49} +\entry {\code {obstack_free}}{46} +\entry {\code {obstack_grow}}{48} +\entry {\code {obstack_grow0}}{48} +\entry {\code {obstack_init}}{44} +\entry {\code {obstack_int_grow}}{48} +\entry {\code {obstack_int_grow_fast}}{50} +\entry {\code {obstack_next_free}}{51} +\entry {\code {obstack_object_size}}{49, 52} +\entry {\code {obstack_printf}}{115} +\entry {\code {obstack_ptr_grow}}{48} +\entry {\code {obstack_ptr_grow_fast}}{50} +\entry {\code {obstack_room}}{50} +\entry {\code {obstack_vprintf}}{117} +\entry {\code {offsetof}}{569} +\entry {\code {on_exit}}{462} +\entry {\code {open}}{151} +\entry {\code {open_memstream}}{145} +\entry {\code {open_obstack_stream}}{146} +\entry {\code {opendir}}{184} \initial {P} -\entry {\code {parse_printf_format}}{116} -\entry {\code {pathconf}}{544} -\entry {\code {pause}}{436} -\entry {\code {pclose}}{216} -\entry {\code {perror}}{27} -\entry {\code {pipe}}{213} -\entry {\code {popen}}{215} -\entry {\code {pow}}{296} -\entry {\code {printf}}{111} -\entry {\code {psignal}}{401} -\entry {\code {putc}}{95} -\entry {\code {putchar}}{96} -\entry {\code {putenv}}{455} -\entry {\code {putpwent}}{521} -\entry {\code {puts}}{96} -\entry {\code {putw}}{96} +\entry {\code {parse_printf_format}}{118} +\entry {\code {pathconf}}{546} +\entry {\code {pause}}{438} +\entry {\code {pclose}}{218} +\entry {\code {perror}}{28} +\entry {\code {pipe}}{215} +\entry {\code {popen}}{217} +\entry {\code {pow}}{298} +\entry {\code {printf}}{113} +\entry {\code {psignal}}{403} +\entry {\code {putc}}{97} +\entry {\code {putchar}}{98} +\entry {\code {putenv}}{457} +\entry {\code {putpwent}}{523} +\entry {\code {puts}}{98} +\entry {\code {putw}}{98} \initial {Q} -\entry {\code {qsort}}{314} +\entry {\code {qsort}}{316} \initial {R} -\entry {\code {r_alloc}}{57} -\entry {\code {r_alloc_free}}{57} -\entry {\code {r_re_alloc}}{58} -\entry {\code {raise}}{422} -\entry {\code {rand}}{298} -\entry {\code {random}}{299} -\entry {\code {read}}{151} -\entry {\code {readdir}}{183} -\entry {\code {readdir_r}}{183} -\entry {\code {readlink}}{189} +\entry {\code {r_alloc}}{58} +\entry {\code {r_alloc_free}}{58} +\entry {\code {r_re_alloc}}{59} +\entry {\code {raise}}{424} +\entry {\code {rand}}{300} +\entry {\code {random}}{301} +\entry {\code {read}}{153} +\entry {\code {readdir}}{185} +\entry {\code {readdir_r}}{185} +\entry {\code {readlink}}{191} \entry {\code {realloc}}{35} -\entry {\code {recv}}{248} -\entry {\code {recvfrom}}{257} -\entry {\code {regcomp}}{324} -\entry {\code {regerror}}{329} -\entry {\code {regexec}}{326} -\entry {\code {regfree}}{329} -\entry {\code {register_printf_function}}{119} -\entry {\code {remove}}{191} -\entry {\code {rename}}{191} -\entry {\code {rewind}}{136} -\entry {\code {rewinddir}}{185} -\entry {\code {rindex}}{77} -\entry {\code {rint}}{304} -\entry {\code {rmdir}}{191} +\entry {\code {recv}}{250} +\entry {\code {recvfrom}}{259} +\entry {\code {regcomp}}{326} +\entry {\code {regerror}}{331} +\entry {\code {regexec}}{328} +\entry {\code {regfree}}{331} +\entry {\code {register_printf_function}}{121} +\entry {\code {remove}}{193} +\entry {\code {rename}}{193} +\entry {\code {rewind}}{138} +\entry {\code {rewinddir}}{187} +\entry {\code {rindex}}{79} +\entry {\code {rint}}{306} +\entry {\code {rmdir}}{193} \initial {S} -\entry {\code {S_ISBLK}}{197} -\entry {\code {S_ISCHR}}{197} -\entry {\code {S_ISDIR}}{197} -\entry {\code {S_ISFIFO}}{197} -\entry {\code {S_ISLNK}}{197} -\entry {\code {S_ISREG}}{197} -\entry {\code {S_ISSOCK}}{197} -\entry {\code {scalb}}{303} -\entry {\code {scandir}}{185} -\entry {\code {scanf}}{132} -\entry {\code {seekdir}}{185} -\entry {\code {select}}{161} -\entry {\code {send}}{247} -\entry {\code {sendto}}{257} -\entry {\code {setbuf}}{141} -\entry {\code {setbuffer}}{141} -\entry {\code {setgid}}{511} -\entry {\code {setgrent}}{523} -\entry {\code {setgroups}}{512} -\entry {\code {sethostent}}{233} -\entry {\code {sethostid}}{530} -\entry {\code {sethostname}}{529} -\entry {\code {setitimer}}{353} -\entry {\code {setjmp}}{387} -\entry {\code {setlinebuf}}{141} -\entry {\code {setlocale}}{377} -\entry {\code {setnetent}}{266} -\entry {\code {setnetgrent}}{525} -\entry {\code {setpgid}}{495} -\entry {\code {setpgrp}}{495} -\entry {\code {setpriority}}{360} -\entry {\code {setprotoent}}{238} -\entry {\code {setpwent}}{520} -\entry {\code {setregid}}{511} -\entry {\code {setreuid}}{511} -\entry {\code {setrlimit}}{358} -\entry {\code {setservent}}{235} -\entry {\code {setsid}}{494} -\entry {\code {setsockopt}}{263} -\entry {\code {setstate}}{299} -\entry {\code {settimeofday}}{340} -\entry {\code {setuid}}{510} -\entry {\code {setvbuf}}{139} -\entry {\code {shutdown}}{241} -\entry {\code {sigaction}}{405} -\entry {\code {sigaddset}}{429} -\entry {\code {sigaltstack}}{439} -\entry {\code {sigblock}}{442} -\entry {\code {sigdelset}}{429} -\entry {\code {sigemptyset}}{429} -\entry {\code {sigfillset}}{429} -\entry {\code {siginterrupt}}{442} -\entry {\code {sigismember}}{429} -\entry {\code {siglongjmp}}{388} -\entry {\code {sigmask}}{442} -\entry {\code {signal}}{402} -\entry {\code {sigpause}}{442} -\entry {\code {sigpending}}{433} -\entry {\code {sigprocmask}}{430} -\entry {\code {sigsetjmp}}{388} -\entry {\code {sigsetmask}}{442} -\entry {\code {sigstack}}{440} -\entry {\code {sigsuspend}}{437} -\entry {\code {sigvec}}{442} -\entry {\code {sin}}{294} -\entry {\code {sinh}}{297} -\entry {\code {sleep}}{355} -\entry {\code {snprintf}}{112} -\entry {\code {socket}}{240} -\entry {\code {socketpair}}{241} -\entry {\code {sprintf}}{111} -\entry {\code {sqrt}}{296} -\entry {\code {srand}}{299} -\entry {\code {srandom}}{299} -\entry {\code {sscanf}}{132} -\entry {\code {ssignal}}{404} -\entry {\code {stat}}{196} -\entry {\code {stpcpy}}{67} -\entry {\code {stpncpy}}{68} -\entry {\code {strcasecmp}}{72} -\entry {\code {strcat}}{69} -\entry {\code {strchr}}{76} -\entry {\code {strcmp}}{72} -\entry {\code {strcoll}}{73} -\entry {\code {strcpy}}{66} -\entry {\code {strcspn}}{78} -\entry {\code {strdup}}{67} -\entry {\code {strdupa}}{68} +\entry {\code {S_ISBLK}}{199} +\entry {\code {S_ISCHR}}{199} +\entry {\code {S_ISDIR}}{199} +\entry {\code {S_ISFIFO}}{199} +\entry {\code {S_ISLNK}}{199} +\entry {\code {S_ISREG}}{199} +\entry {\code {S_ISSOCK}}{199} +\entry {\code {scalb}}{305} +\entry {\code {scandir}}{187} +\entry {\code {scanf}}{134} +\entry {\code {seekdir}}{187} +\entry {\code {select}}{163} +\entry {\code {send}}{249} +\entry {\code {sendto}}{259} +\entry {\code {setbuf}}{143} +\entry {\code {setbuffer}}{143} +\entry {\code {setgid}}{513} +\entry {\code {setgrent}}{525} +\entry {\code {setgroups}}{514} +\entry {\code {sethostent}}{235} +\entry {\code {sethostid}}{532} +\entry {\code {sethostname}}{531} +\entry {\code {setitimer}}{355} +\entry {\code {setjmp}}{389} +\entry {\code {setlinebuf}}{143} +\entry {\code {setlocale}}{379} +\entry {\code {setnetent}}{268} +\entry {\code {setnetgrent}}{527} +\entry {\code {setpgid}}{497} +\entry {\code {setpgrp}}{497} +\entry {\code {setpriority}}{362} +\entry {\code {setprotoent}}{240} +\entry {\code {setpwent}}{522} +\entry {\code {setregid}}{513} +\entry {\code {setreuid}}{513} +\entry {\code {setrlimit}}{360} +\entry {\code {setservent}}{237} +\entry {\code {setsid}}{496} +\entry {\code {setsockopt}}{265} +\entry {\code {setstate}}{301} +\entry {\code {settimeofday}}{342} +\entry {\code {setuid}}{512} +\entry {\code {setvbuf}}{141} +\entry {\code {shutdown}}{243} +\entry {\code {sigaction}}{407} +\entry {\code {sigaddset}}{431} +\entry {\code {sigaltstack}}{441} +\entry {\code {sigblock}}{444} +\entry {\code {sigdelset}}{431} +\entry {\code {sigemptyset}}{431} +\entry {\code {sigfillset}}{431} +\entry {\code {siginterrupt}}{444} +\entry {\code {sigismember}}{431} +\entry {\code {siglongjmp}}{390} +\entry {\code {sigmask}}{444} +\entry {\code {signal}}{404} +\entry {\code {sigpause}}{444} +\entry {\code {sigpending}}{435} +\entry {\code {sigprocmask}}{432} +\entry {\code {sigsetjmp}}{390} +\entry {\code {sigsetmask}}{444} +\entry {\code {sigstack}}{442} +\entry {\code {sigsuspend}}{439} +\entry {\code {sigvec}}{444} +\entry {\code {sin}}{296} +\entry {\code {sinh}}{299} +\entry {\code {sleep}}{357} +\entry {\code {snprintf}}{114} +\entry {\code {socket}}{242} +\entry {\code {socketpair}}{243} +\entry {\code {sprintf}}{113} +\entry {\code {sqrt}}{298} +\entry {\code {srand}}{301} +\entry {\code {srandom}}{301} +\entry {\code {sscanf}}{134} +\entry {\code {ssignal}}{406} +\entry {\code {stat}}{198} +\entry {\code {stpcpy}}{69} +\entry {\code {stpncpy}}{70} +\entry {\code {strcasecmp}}{74} +\entry {\code {strcat}}{71} +\entry {\code {strchr}}{78} +\entry {\code {strcmp}}{74} +\entry {\code {strcoll}}{75} +\entry {\code {strcpy}}{68} +\entry {\code {strcspn}}{80} +\entry {\code {strdup}}{69} +\entry {\code {strdupa}}{70} \entry {\code {strerror}}{27} -\entry {\code {strftime}}{344} -\entry {\code {strlen}}{65} -\entry {\code {strncasecmp}}{72} -\entry {\code {strncat}}{69} -\entry {\code {strncmp}}{72} -\entry {\code {strncpy}}{66} -\entry {\code {strndup}}{67} -\entry {\code {strndupa}}{69} -\entry {\code {strpbrk}}{78} -\entry {\code {strrchr}}{77} -\entry {\code {strsep}}{80} -\entry {\code {strsignal}}{401} -\entry {\code {strspn}}{77} -\entry {\code {strstr}}{77} -\entry {\code {strtod}}{310} -\entry {\code {strtof}}{310} -\entry {\code {strtok}}{78} -\entry {\code {strtok_r}}{80} -\entry {\code {strtol}}{306} -\entry {\code {strtold}}{311} -\entry {\code {strtoll}}{308} -\entry {\code {strtoq}}{307} -\entry {\code {strtoul}}{307} -\entry {\code {strtoull}}{308} -\entry {\code {strtouq}}{308} -\entry {\code {strxfrm}}{74} -\entry {\code {success}}{499} -\entry {\code {symlink}}{189} -\entry {\code {sysconf}}{537} -\entry {\code {system}}{463} +\entry {\code {strerror_r}}{27} +\entry {\code {strftime}}{346} +\entry {\code {strlen}}{67} +\entry {\code {strncasecmp}}{74} +\entry {\code {strncat}}{71} +\entry {\code {strncmp}}{74} +\entry {\code {strncpy}}{68} +\entry {\code {strndup}}{69} +\entry {\code {strndupa}}{71} +\entry {\code {strpbrk}}{80} +\entry {\code {strrchr}}{79} +\entry {\code {strsep}}{82} +\entry {\code {strsignal}}{403} +\entry {\code {strspn}}{79} +\entry {\code {strstr}}{79} +\entry {\code {strtod}}{312} +\entry {\code {strtof}}{312} +\entry {\code {strtok}}{80} +\entry {\code {strtok_r}}{82} +\entry {\code {strtol}}{308} +\entry {\code {strtold}}{313} +\entry {\code {strtoll}}{310} +\entry {\code {strtoq}}{309} +\entry {\code {strtoul}}{309} +\entry {\code {strtoull}}{310} +\entry {\code {strtouq}}{310} +\entry {\code {strxfrm}}{76} +\entry {\code {success}}{501} +\entry {\code {symlink}}{191} +\entry {\code {sysconf}}{539} +\entry {\code {system}}{465} \initial {T} -\entry {\code {tan}}{294} -\entry {\code {tanh}}{297} -\entry {\code {tcdrain}}{289} -\entry {\code {tcflow}}{290} -\entry {\code {tcflush}}{290} -\entry {\code {tcgetattr}}{270} -\entry {\code {tcgetpgrp}}{496} -\entry {\code {tcsendbreak}}{289} -\entry {\code {tcsetattr}}{270} -\entry {\code {tcsetpgrp}}{496} -\entry {\code {telldir}}{185} -\entry {\code {TEMP_FAILURE_RETRY}}{421} -\entry {\code {tempnam}}{210} -\entry {\code {time}}{338} -\entry {\code {times}}{337} -\entry {\code {tmpfile}}{209} -\entry {\code {tmpnam}}{209} -\entry {\code {tmpnam_r}}{209} -\entry {\code {toascii}}{61} -\entry {\code {tolower}}{61} -\entry {\code {toupper}}{61} -\entry {\code {tryagain}}{499} -\entry {\code {ttyname}}{267} -\entry {\code {tzset}}{351} +\entry {\code {tan}}{296} +\entry {\code {tanh}}{299} +\entry {\code {tcdrain}}{291} +\entry {\code {tcflow}}{292} +\entry {\code {tcflush}}{292} +\entry {\code {tcgetattr}}{272} +\entry {\code {tcgetpgrp}}{498} +\entry {\code {tcsendbreak}}{291} +\entry {\code {tcsetattr}}{272} +\entry {\code {tcsetpgrp}}{498} +\entry {\code {telldir}}{187} +\entry {\code {TEMP_FAILURE_RETRY}}{423} +\entry {\code {tempnam}}{212} +\entry {\code {time}}{340} +\entry {\code {times}}{339} +\entry {\code {tmpfile}}{211} +\entry {\code {tmpnam}}{211} +\entry {\code {tmpnam_r}}{211} +\entry {\code {toascii}}{63} +\entry {\code {tolower}}{63} +\entry {\code {toupper}}{63} +\entry {\code {tryagain}}{501, 502} +\entry {\code {ttyname}}{269} +\entry {\code {tzset}}{353} \initial {U} -\entry {\code {umask}}{203} -\entry {\code {uname}}{531} -\entry {\code {unavail}}{499} -\entry {\code {ungetc}}{101} -\entry {\code {unlink}}{190} -\entry {\code {utime}}{207} -\entry {\code {utimes}}{207} +\entry {\code {umask}}{205} +\entry {\code {uname}}{533} +\entry {\code {unavail}}{501} +\entry {\code {ungetc}}{103} +\entry {\code {unlink}}{192} +\entry {\code {utime}}{209} +\entry {\code {utimes}}{209} \initial {V} -\entry {\code {va_alist}}{557} -\entry {\code {va_arg}}{555} -\entry {\code {va_dcl}}{557} -\entry {\code {va_end}}{555} -\entry {\code {va_start}}{555, 557} +\entry {\code {va_alist}}{559} +\entry {\code {va_arg}}{557} +\entry {\code {va_dcl}}{559} +\entry {\code {va_end}}{557} +\entry {\code {va_start}}{557, 559} \entry {\code {valloc}}{37} -\entry {\code {vasprintf}}{115} -\entry {\code {vfork}}{466} -\entry {\code {vfprintf}}{114} -\entry {\code {vfscanf}}{133} -\entry {\code {vprintf}}{114} -\entry {\code {vscanf}}{132} -\entry {\code {vsnprintf}}{114} -\entry {\code {vsprintf}}{114} -\entry {\code {vsscanf}}{133} +\entry {\code {vasprintf}}{117} +\entry {\code {vfork}}{468} +\entry {\code {vfprintf}}{116} +\entry {\code {vfscanf}}{135} +\entry {\code {vprintf}}{116} +\entry {\code {vscanf}}{134} +\entry {\code {vsnprintf}}{116} +\entry {\code {vsprintf}}{116} +\entry {\code {vsscanf}}{135} \initial {W} -\entry {\code {wait}}{471} -\entry {\code {wait3}}{473} -\entry {\code {wait4}}{471} -\entry {\code {waitpid}}{469} -\entry {\code {WCOREDUMP}}{472} -\entry {\code {wcstombs}}{368} -\entry {\code {wctomb}}{370} -\entry {\code {WEXITSTATUS}}{472} -\entry {\code {WIFEXITED}}{472} -\entry {\code {WIFSIGNALED}}{472} -\entry {\code {WIFSTOPPED}}{472} -\entry {\code {wordexp}}{331} -\entry {\code {wordfree}}{332} -\entry {\code {write}}{153} -\entry {\code {WSTOPSIG}}{472} -\entry {\code {WTERMSIG}}{472} +\entry {\code {wait}}{473} +\entry {\code {wait3}}{475} +\entry {\code {wait4}}{473} +\entry {\code {waitpid}}{471} +\entry {\code {WCOREDUMP}}{474} +\entry {\code {wcstombs}}{370} +\entry {\code {wctomb}}{372} +\entry {\code {WEXITSTATUS}}{474} +\entry {\code {WIFEXITED}}{474} +\entry {\code {WIFSIGNALED}}{474} +\entry {\code {WIFSTOPPED}}{474} +\entry {\code {wordexp}}{333} +\entry {\code {wordfree}}{334} +\entry {\code {write}}{155} +\entry {\code {WSTOPSIG}}{474} +\entry {\code {WTERMSIG}}{474} diff -durpN glibc-2.0.2/manual/libc.info glibc-2.0.3/manual/libc.info --- glibc-2.0.2/manual/libc.info Tue Mar 18 13:35:58 1997 +++ glibc-2.0.3/manual/libc.info Fri Apr 18 11:50:42 1997 @@ -28,571 +28,571 @@ accuracy by the Foundation.  Indirect: libc.info-1: 1168 -libc.info-2: 50130 -libc.info-3: 97453 -libc.info-4: 144418 -libc.info-5: 193402 -libc.info-6: 237778 -libc.info-7: 285331 -libc.info-8: 334694 -libc.info-9: 379655 -libc.info-10: 428330 -libc.info-11: 478030 -libc.info-12: 527411 -libc.info-13: 576290 -libc.info-14: 625348 -libc.info-15: 674871 -libc.info-16: 724554 -libc.info-17: 773183 -libc.info-18: 820339 -libc.info-19: 867814 -libc.info-20: 917721 -libc.info-21: 967583 -libc.info-22: 1014668 -libc.info-23: 1062180 -libc.info-24: 1111915 -libc.info-25: 1161653 -libc.info-26: 1211483 -libc.info-27: 1259776 -libc.info-28: 1308674 -libc.info-29: 1414595 -libc.info-30: 1456969 -libc.info-31: 1483833 -libc.info-32: 1534017 -libc.info-33: 1571187 +libc.info-2: 50053 +libc.info-3: 97428 +libc.info-4: 147178 +libc.info-5: 194826 +libc.info-6: 239202 +libc.info-7: 286755 +libc.info-8: 336118 +libc.info-9: 381079 +libc.info-10: 429754 +libc.info-11: 479454 +libc.info-12: 528835 +libc.info-13: 577714 +libc.info-14: 626772 +libc.info-15: 676295 +libc.info-16: 725978 +libc.info-17: 774607 +libc.info-18: 821763 +libc.info-19: 869238 +libc.info-20: 919145 +libc.info-21: 969007 +libc.info-22: 1016092 +libc.info-23: 1063604 +libc.info-24: 1113339 +libc.info-25: 1163108 +libc.info-26: 1212983 +libc.info-27: 1261276 +libc.info-28: 1310174 +libc.info-29: 1416254 +libc.info-30: 1458628 +libc.info-31: 1485492 +libc.info-32: 1535560 +libc.info-33: 1572797  Tag Table: (Indirect) Node: Top1168 -Node: Introduction40477 -Node: Getting Started41825 -Node: Standards and Portability43285 -Node: ISO C44670 -Node: POSIX46187 -Node: Berkeley Unix47867 -Node: SVID48635 -Node: Using the Library49407 -Node: Header Files50130 -Node: Macro Definitions54082 -Node: Reserved Names56432 -Node: Feature Test Macros61114 -Node: Roadmap to the Manual66998 -Node: Error Reporting74211 -Node: Checking for Errors75139 -Node: Error Codes79354 -Node: Error Messages97453 -Node: Memory Allocation102288 -Node: Memory Concepts103291 -Node: Dynamic Allocation and C104561 -Node: Unconstrained Allocation106645 -Node: Basic Allocation107972 -Node: Malloc Examples109676 -Node: Freeing after Malloc111657 -Node: Changing Block Size113473 -Node: Allocating Cleared Space116037 -Node: Efficiency and Malloc116828 -Node: Aligned Memory Blocks118326 -Node: Heap Consistency Checking119694 -Node: Hooks for Malloc122487 -Node: Statistics of Malloc124736 -Node: Summary of Malloc126242 -Node: Obstacks128081 -Node: Creating Obstacks129699 -Node: Preparing for Obstacks131598 -Node: Allocation in an Obstack133938 -Node: Freeing Obstack Objects136605 -Node: Obstack Functions137941 -Node: Growing Objects140171 -Node: Extra Fast Growing144418 -Node: Status of an Obstack148037 -Node: Obstacks Data Alignment149456 -Node: Obstack Chunks151142 -Node: Summary of Obstacks153499 -Node: Variable Size Automatic156913 -Node: Alloca Example158469 -Node: Advantages of Alloca159586 -Node: Disadvantages of Alloca161478 -Node: GNU C Variable-Size Arrays162223 -Node: Relocating Allocator163381 -Node: Relocator Concepts163943 -Node: Using Relocator165456 -Node: Memory Warnings166841 -Node: Character Handling168153 -Node: Classification of Characters169102 -Node: Case Conversion172763 -Node: String and Array Utilities174611 -Node: Representation of Strings176422 -Node: String/Array Conventions179364 -Node: String Length181196 -Node: Copying and Concatenation182181 -Node: String/Array Comparison193402 -Node: Collation Functions198464 -Node: Search Functions205426 -Node: Finding Tokens in a String209697 -Node: I/O Overview215839 -Node: I/O Concepts217352 -Node: Streams and File Descriptors218497 -Node: File Position221588 -Node: File Names223722 -Node: Directories224608 -Node: File Name Resolution226345 -Node: File Name Errors229274 -Node: File Name Portability230823 -Node: I/O on Streams232815 -Node: Streams234771 -Node: Standard Streams236112 -Node: Opening Streams237778 -Node: Closing Streams243635 -Node: Simple Output246179 -Node: Character Input248515 -Node: Line Input251624 -Node: Unreading256612 -Node: Unreading Idea257421 -Node: How Unread258247 -Node: Block Input/Output260730 -Node: Formatted Output262959 -Node: Formatted Output Basics264726 -Node: Output Conversion Syntax267219 -Node: Table of Output Conversions270945 -Node: Integer Conversions273478 -Node: Floating-Point Conversions278142 -Node: Other Output Conversions282171 -Node: Formatted Output Functions285331 -Node: Dynamic Output289012 -Node: Variable Arguments Output290649 -Node: Parsing a Template String296161 -Node: Example of Parsing299988 -Node: Customizing Printf302276 -Node: Registering New Conversions304125 -Node: Conversion Specifier Options306116 -Node: Defining the Output Handler309789 -Node: Printf Extension Example312255 -Node: Formatted Input314563 -Node: Formatted Input Basics315642 -Node: Input Conversion Syntax318322 -Node: Table of Input Conversions321684 -Node: Numeric Input Conversions323981 -Node: String Input Conversions327759 -Node: Dynamic String Input331852 -Node: Other Input Conversions333042 -Node: Formatted Input Functions334694 -Node: Variable Arguments Input336260 -Node: EOF and Errors337895 -Node: Binary Streams340115 -Node: File Positioning342639 -Node: Portable Positioning346472 -Node: Stream Buffering349943 -Node: Buffering Concepts351528 -Node: Flushing Buffers352891 -Node: Controlling Buffering354387 -Node: Other Kinds of Streams358822 -Node: String Streams360084 -Node: Obstack Streams364204 -Node: Custom Streams366238 -Node: Streams and Cookies366891 -Node: Hook Functions369938 -Node: Low-Level I/O372324 -Node: Opening and Closing Files374976 -Node: I/O Primitives379655 -Node: File Position Primitive387908 -Node: Descriptors and Streams393343 -Node: Stream/Descriptor Precautions395763 -Node: Linked Channels396970 -Node: Independent Channels398198 -Node: Cleaning Streams400101 -Node: Waiting for I/O402304 -Node: Control Operations410055 -Node: Duplicating Descriptors412339 -Node: Descriptor Flags416601 -Node: File Status Flags420007 -Node: Access Modes421461 -Node: Open-time Flags423750 -Node: Operating Modes428330 -Node: Getting File Status Flags431096 -Node: File Locks433707 -Node: Interrupt Input442610 -Node: File System Interface445029 -Node: Working Directory446429 -Node: Accessing Directories450183 -Node: Directory Entries451592 -Node: Opening a Directory454392 -Node: Reading/Closing Directory456084 -Node: Simple Directory Lister459018 -Node: Random Access Directory460036 -Node: Scanning Directory Content461538 -Node: Simple Directory Lister Mark II463793 -Node: Hard Links464914 -Node: Symbolic Links467707 -Node: Deleting Files471473 -Node: Renaming Files474403 -Node: Creating Directories478030 -Node: File Attributes479778 -Node: Attribute Meanings481274 -Node: Reading Attributes486357 -Node: Testing File Type488259 -Node: File Owner491475 -Node: Permission Bits495168 -Node: Access Permission500275 -Node: Setting Permissions501425 -Node: Testing File Access506640 -Node: File Times510283 -Node: Making Special Files514791 -Node: Temporary Files516468 -Node: Pipes and FIFOs522675 -Node: Creating a Pipe524258 -Node: Pipe to a Subprocess527411 -Node: FIFO Special Files530251 -Node: Pipe Atomicity531824 -Node: Sockets532708 -Node: Socket Concepts534583 -Node: Communication Styles537797 -Node: Socket Addresses539649 -Node: Address Formats541690 -Node: Setting Address544373 -Node: Reading Address546077 -Node: File Namespace547835 -Node: File Namespace Concepts548325 -Node: File Namespace Details549920 -Node: File Socket Example551534 -Node: Internet Namespace552858 -Node: Internet Address Format554585 -Node: Host Addresses555954 -Node: Abstract Host Addresses557014 -Node: Host Address Data Type559807 -Node: Host Address Functions561698 -Node: Host Names564125 -Node: Ports569137 -Node: Services Database571175 -Node: Byte Order574002 -Node: Protocols Database576290 -Node: Inet Example579831 -Node: Misc Namespaces581861 -Node: Open/Close Sockets582611 -Node: Creating a Socket583109 -Node: Closing a Socket584777 -Node: Socket Pairs586307 -Node: Connections588317 -Node: Connecting589411 -Node: Listening591967 -Node: Accepting Connections594052 -Node: Who is Connected596908 -Node: Transferring Data598004 -Node: Sending Data599114 -Node: Receiving Data601362 -Node: Socket Data Options602826 -Node: Byte Stream Example603689 -Node: Server Example605667 -Node: Out-of-Band Data609714 -Node: Datagrams615568 -Node: Sending Datagrams616597 -Node: Receiving Datagrams618254 -Node: Datagram Example620055 -Node: Example Receiver621973 -Node: Inetd624540 -Node: Inetd Servers625348 -Node: Configuring Inetd626591 -Node: Socket Options629265 -Node: Socket Option Functions629973 -Node: Socket-Level Options631531 -Node: Networks Database635165 -Node: Low-Level Terminal Interface638027 -Node: Is It a Terminal639362 -Node: I/O Queues640578 -Node: Canonical or Not642548 -Node: Terminal Modes644395 -Node: Mode Data Types645671 -Node: Mode Functions647499 -Node: Setting Modes651439 -Node: Input Modes653427 -Node: Output Modes658694 -Node: Control Modes660307 -Node: Local Modes664397 -Node: Line Speed670711 -Node: Special Characters674871 -Node: Editing Characters676783 -Node: Signal Characters681124 -Node: Start/Stop Characters683993 -Node: Other Special685864 -Node: Noncanonical Input687678 -Node: Line Control692491 -Node: Noncanon Example696803 -Node: Mathematics698998 -Node: Domain and Range Errors700202 -Node: Trig Functions703425 -Node: Inverse Trig Functions704795 -Node: Exponents and Logarithms707233 -Node: Hyperbolic Functions710134 -Node: Pseudo-Random Numbers711713 -Node: ISO Random713299 -Node: BSD Random714472 -Node: Arithmetic716389 -Node: Not a Number717298 -Node: Predicates on Floats718640 -Node: Absolute Value720214 -Node: Normalization Functions721712 -Node: Rounding and Remainders724554 -Node: Integer Division727922 -Node: Parsing of Numbers730072 -Node: Parsing of Integers730724 -Node: Parsing of Floats738199 -Node: Searching and Sorting742663 -Node: Comparison Functions743454 -Node: Array Search Function744568 -Node: Array Sort Function745991 -Node: Search/Sort Example747963 -Node: Pattern Matching751413 -Node: Wildcard Matching752215 -Node: Globbing755093 -Node: Calling Glob755883 -Node: Flags for Globbing759464 -Node: Regular Expressions762962 -Node: POSIX Regexp Compilation763946 -Node: Flags for POSIX Regexps768061 -Node: Matching POSIX Regexps768968 -Node: Regexp Subexpressions771129 -Node: Subexpression Complications773183 -Node: Regexp Cleanup775542 -Node: Word Expansion777868 -Node: Expansion Stages779036 -Node: Calling Wordexp780529 -Node: Flags for Wordexp784492 -Node: Wordexp Example786445 -Node: Date and Time788420 -Node: Processor Time789544 -Node: Basic CPU Time790302 -Node: Detailed CPU Time792321 -Node: Calendar Time794786 -Node: Simple Calendar Time796364 -Node: High-Resolution Calendar798121 -Node: Broken-down Time803841 -Node: Formatting Date and Time809057 -Node: TZ Variable820339 -Node: Time Zone Functions826400 -Node: Time Functions Example829065 -Node: Setting an Alarm830180 -Node: Sleeping835407 -Node: Resource Usage838063 -Node: Limits on Resources841574 -Node: Priority845948 -Node: Extended Characters849210 -Node: Extended Char Intro850818 -Node: Locales and Extended Chars852755 -Node: Multibyte Char Intro853805 -Node: Wide Char Intro861099 -Node: Wide String Conversion862866 -Node: Length of Char866103 -Node: Converting One Char867814 -Node: Example of Conversion871211 -Node: Shift State874101 -Node: Locales876754 -Node: Effects of Locale878322 -Node: Choosing Locale880258 -Node: Locale Categories881582 -Node: Setting the Locale883229 -Node: Standard Locales887123 -Node: Numeric Formatting888363 -Node: General Numeric889873 -Node: Currency Symbol892795 -Node: Sign of Money Amount897405 -Node: Non-Local Exits899709 -Node: Non-Local Intro900328 -Node: Non-Local Details904055 -Node: Non-Local Exits and Signals907131 -Node: Signal Handling908601 -Node: Concepts of Signals910636 -Node: Kinds of Signals911200 -Node: Signal Generation912597 -Node: Delivery of Signal914864 -Node: Standard Signals917721 -Node: Program Error Signals919314 -Node: Termination Signals926772 -Node: Alarm Signals930610 -Node: Asynchronous I/O Signals931850 -Node: Job Control Signals933041 -Node: Operation Error Signals937653 -Node: Miscellaneous Signals939592 -Node: Signal Messages941288 -Node: Signal Actions943174 -Node: Basic Signal Handling944119 -Node: Advanced Signal Handling949052 -Node: Signal and Sigaction952008 -Node: Sigaction Function Example953760 -Node: Flags for Sigaction956076 -Node: Initial Signal Actions958454 -Node: Defining Handlers959837 -Node: Handler Returns962022 -Node: Termination in Handler964072 -Node: Longjmp in Handler965488 -Node: Signals in Handler967583 -Node: Merged Signals969703 -Node: Nonreentrancy975413 -Node: Atomic Data Access980961 -Node: Non-atomic Example981997 -Node: Atomic Types983768 -Node: Atomic Usage984776 -Node: Interrupted Primitives986246 -Node: Generating Signals989546 -Node: Signaling Yourself990139 -Node: Signaling Another Process992121 -Node: Permission for kill995504 -Node: Kill Example997300 -Node: Blocking Signals999644 -Node: Why Block1001416 -Node: Signal Sets1002953 -Node: Process Signal Mask1005979 -Node: Testing for Delivery1008987 -Node: Blocking for Handler1010237 -Node: Checking for Pending Signals1012656 -Node: Remembering a Signal1014668 -Node: Waiting for a Signal1018217 -Node: Using Pause1018762 -Node: Pause Problems1019982 -Node: Sigsuspend1021706 -Node: Signal Stack1024416 -Node: BSD Signal Handling1029760 -Node: BSD Handler1031034 -Node: Blocking in BSD1033468 -Node: Process Startup1034922 -Node: Program Arguments1035957 -Node: Argument Syntax1038686 -Node: Parsing Options1041316 -Node: Example of Getopt1044607 -Node: Long Options1047323 -Node: Long Option Example1051384 -Node: Suboptions1054233 -Node: Suboptions Example1056182 -Node: Environment Variables1058277 -Node: Environment Access1060138 -Node: Standard Environment1062180 -Node: Program Termination1065863 -Node: Normal Termination1067082 -Node: Exit Status1068308 -Node: Cleanups on Exit1071329 -Node: Aborting a Program1073146 -Node: Termination Internals1074045 -Node: Processes1075821 -Node: Running a Command1077844 -Node: Process Creation Concepts1079337 -Node: Process Identification1081347 -Node: Creating a Process1082271 -Node: Executing a File1085887 -Node: Process Completion1092922 -Node: Process Completion Status1097931 -Node: BSD Wait Functions1099575 -Node: Process Creation Example1101467 -Node: Job Control1103717 -Node: Concepts of Job Control1104997 -Node: Job Control is Optional1108354 -Node: Controlling Terminal1109404 -Node: Access to the Terminal1110311 -Node: Orphaned Process Groups1111915 -Node: Implementing a Shell1112907 -Node: Data Structures1113790 -Node: Initializing the Shell1116433 -Node: Launching Jobs1120169 -Node: Foreground and Background1127622 -Node: Stopped and Terminated Jobs1130731 -Node: Continuing Stopped Jobs1135913 -Node: Missing Pieces1137540 -Node: Functions for Job Control1139164 -Node: Identifying the Terminal1139644 -Node: Process Group Functions1141218 -Node: Terminal Access Functions1144770 -Node: Name Service Switch1147671 -Node: NSS Basics1149002 -Node: NSS Configuration File1150579 -Node: Services in the NSS configuration1152277 -Node: Actions in the NSS configuration1153558 -Node: Notes on NSS Configuration File1156717 -Node: NSS Module Internals1158593 -Node: NSS Module Names1159289 -Node: NSS Modules Interface1161653 -Node: Extending NSS1165137 -Node: Adding another Service to NSS1166068 -Node: NSS Module Function Internals1168287 -Node: Users and Groups1172688 -Node: User and Group IDs1175164 -Node: Process Persona1176071 -Node: Why Change Persona1177582 -Node: How Change Persona1179463 -Node: Reading Persona1180945 -Node: Setting User ID1183215 -Node: Setting Groups1185425 -Node: Enable/Disable Setuid1187982 -Node: Setuid Program Example1190021 -Node: Tips for Setuid1193490 -Node: Who Logged In1195578 -Node: User Database1197746 -Node: User Data Structure1198407 -Node: Lookup User1199686 -Node: Scanning All Users1202776 -Node: Writing a User Entry1206155 -Node: Group Database1207054 -Node: Group Data Structure1207641 -Node: Lookup Group1208427 -Node: Scanning All Groups1211483 -Node: Netgroup Database1214764 -Node: Netgroup Data1215198 -Node: Lookup Netgroup1216762 -Node: Netgroup Membership1220174 -Node: Database Example1221504 -Node: System Information1223678 -Node: Host Identification1224275 -Node: Hardware/Software Type ID1227494 -Node: System Configuration1230193 -Node: General Limits1231760 -Node: System Options1235399 -Node: Version Supported1238731 -Node: Sysconf1240568 -Node: Sysconf Definition1241204 -Node: Constants for Sysconf1241876 -Node: Examples of Sysconf1245009 -Node: Minimums1246002 -Node: Limits for Files1248078 -Node: Options for Files1251080 -Node: File Minimums1253369 -Node: Pathconf1255031 -Node: Utility Limits1257718 -Node: Utility Minimums1259776 -Node: String Parameters1261528 -Node: Language Features1263582 -Node: Consistency Checking1264513 -Node: Variadic Functions1269151 -Node: Why Variadic1270223 -Node: How Variadic1272188 -Node: Variadic Prototypes1273477 -Node: Receiving Arguments1274635 -Node: How Many Arguments1277349 -Node: Calling Variadics1279020 -Node: Argument Macros1281157 -Node: Variadic Example1282797 -Node: Old Varargs1283949 -Node: Null Pointer Constant1285619 -Node: Important Data Types1286704 -Node: Data Type Measurements1289270 -Node: Width of Type1290127 -Node: Range of Type1291033 -Node: Floating Type Macros1294297 -Node: Floating Point Concepts1295557 -Node: Floating Point Parameters1299292 -Node: IEEE Floating Point1306226 -Node: Structure Measurement1307979 -Node: Library Summary1308674 -Node: Maintenance1414595 -Node: Installation1415340 -Node: Tools for Installation1422186 -Node: Supported Configurations1423274 -Node: Reporting Bugs1424785 -Node: Source Layout1427162 -Node: Porting1431118 -Node: Hierarchy Conventions1438906 -Node: Porting to Unix1443826 -Node: Contributors1445671 -Node: Copying1456969 -Node: Concept Index1483833 -Node: Type Index1534017 -Node: Function Index1538807 -Node: Variable Index1571187 -Node: File Index1602504 +Node: Introduction40400 +Node: Getting Started41748 +Node: Standards and Portability43208 +Node: ISO C44593 +Node: POSIX46110 +Node: Berkeley Unix47790 +Node: SVID48558 +Node: Using the Library49330 +Node: Header Files50053 +Node: Macro Definitions54005 +Node: Reserved Names56355 +Node: Feature Test Macros61037 +Node: Roadmap to the Manual66921 +Node: Error Reporting74134 +Node: Checking for Errors75062 +Node: Error Codes79277 +Node: Error Messages97428 +Node: Memory Allocation103039 +Node: Memory Concepts103976 +Node: Dynamic Allocation and C105246 +Node: Unconstrained Allocation107330 +Node: Basic Allocation108769 +Node: Malloc Examples110473 +Node: Freeing after Malloc112429 +Node: Changing Block Size114245 +Node: Allocating Cleared Space116772 +Node: Efficiency and Malloc117780 +Node: Aligned Memory Blocks118870 +Node: Malloc Tunable Parameters120250 +Node: Heap Consistency Checking121913 +Node: Hooks for Malloc124710 +Node: Statistics of Malloc126959 +Node: Summary of Malloc128892 +Node: Obstacks130841 +Node: Creating Obstacks132459 +Node: Preparing for Obstacks134358 +Node: Allocation in an Obstack136698 +Node: Freeing Obstack Objects139365 +Node: Obstack Functions140701 +Node: Growing Objects142931 +Node: Extra Fast Growing147178 +Node: Status of an Obstack150797 +Node: Obstacks Data Alignment152216 +Node: Obstack Chunks153902 +Node: Summary of Obstacks156259 +Node: Variable Size Automatic159673 +Node: Alloca Example161229 +Node: Advantages of Alloca162346 +Node: Disadvantages of Alloca164238 +Node: GNU C Variable-Size Arrays164983 +Node: Relocating Allocator166141 +Node: Relocator Concepts166679 +Node: Using Relocator168192 +Node: Character Handling169577 +Node: Classification of Characters170526 +Node: Case Conversion174187 +Node: String and Array Utilities176035 +Node: Representation of Strings177846 +Node: String/Array Conventions180788 +Node: String Length182620 +Node: Copying and Concatenation183605 +Node: String/Array Comparison194826 +Node: Collation Functions199888 +Node: Search Functions206850 +Node: Finding Tokens in a String211121 +Node: I/O Overview217263 +Node: I/O Concepts218776 +Node: Streams and File Descriptors219921 +Node: File Position223012 +Node: File Names225146 +Node: Directories226032 +Node: File Name Resolution227769 +Node: File Name Errors230698 +Node: File Name Portability232247 +Node: I/O on Streams234239 +Node: Streams236195 +Node: Standard Streams237536 +Node: Opening Streams239202 +Node: Closing Streams245059 +Node: Simple Output247603 +Node: Character Input249939 +Node: Line Input253048 +Node: Unreading258036 +Node: Unreading Idea258845 +Node: How Unread259671 +Node: Block Input/Output262154 +Node: Formatted Output264383 +Node: Formatted Output Basics266150 +Node: Output Conversion Syntax268643 +Node: Table of Output Conversions272369 +Node: Integer Conversions274902 +Node: Floating-Point Conversions279566 +Node: Other Output Conversions283595 +Node: Formatted Output Functions286755 +Node: Dynamic Output290436 +Node: Variable Arguments Output292073 +Node: Parsing a Template String297585 +Node: Example of Parsing301412 +Node: Customizing Printf303700 +Node: Registering New Conversions305549 +Node: Conversion Specifier Options307540 +Node: Defining the Output Handler311213 +Node: Printf Extension Example313679 +Node: Formatted Input315987 +Node: Formatted Input Basics317066 +Node: Input Conversion Syntax319746 +Node: Table of Input Conversions323108 +Node: Numeric Input Conversions325405 +Node: String Input Conversions329183 +Node: Dynamic String Input333276 +Node: Other Input Conversions334466 +Node: Formatted Input Functions336118 +Node: Variable Arguments Input337684 +Node: EOF and Errors339319 +Node: Binary Streams341539 +Node: File Positioning344063 +Node: Portable Positioning347896 +Node: Stream Buffering351367 +Node: Buffering Concepts352952 +Node: Flushing Buffers354315 +Node: Controlling Buffering355811 +Node: Other Kinds of Streams360246 +Node: String Streams361508 +Node: Obstack Streams365628 +Node: Custom Streams367662 +Node: Streams and Cookies368315 +Node: Hook Functions371362 +Node: Low-Level I/O373748 +Node: Opening and Closing Files376400 +Node: I/O Primitives381079 +Node: File Position Primitive389332 +Node: Descriptors and Streams394767 +Node: Stream/Descriptor Precautions397187 +Node: Linked Channels398394 +Node: Independent Channels399622 +Node: Cleaning Streams401525 +Node: Waiting for I/O403728 +Node: Control Operations411479 +Node: Duplicating Descriptors413763 +Node: Descriptor Flags418025 +Node: File Status Flags421431 +Node: Access Modes422885 +Node: Open-time Flags425174 +Node: Operating Modes429754 +Node: Getting File Status Flags432520 +Node: File Locks435131 +Node: Interrupt Input444034 +Node: File System Interface446453 +Node: Working Directory447853 +Node: Accessing Directories451607 +Node: Directory Entries453016 +Node: Opening a Directory455816 +Node: Reading/Closing Directory457508 +Node: Simple Directory Lister460442 +Node: Random Access Directory461460 +Node: Scanning Directory Content462962 +Node: Simple Directory Lister Mark II465217 +Node: Hard Links466338 +Node: Symbolic Links469131 +Node: Deleting Files472897 +Node: Renaming Files475827 +Node: Creating Directories479454 +Node: File Attributes481202 +Node: Attribute Meanings482698 +Node: Reading Attributes487781 +Node: Testing File Type489683 +Node: File Owner492899 +Node: Permission Bits496592 +Node: Access Permission501699 +Node: Setting Permissions502849 +Node: Testing File Access508064 +Node: File Times511707 +Node: Making Special Files516215 +Node: Temporary Files517892 +Node: Pipes and FIFOs524099 +Node: Creating a Pipe525682 +Node: Pipe to a Subprocess528835 +Node: FIFO Special Files531675 +Node: Pipe Atomicity533248 +Node: Sockets534132 +Node: Socket Concepts536007 +Node: Communication Styles539221 +Node: Socket Addresses541073 +Node: Address Formats543114 +Node: Setting Address545797 +Node: Reading Address547501 +Node: File Namespace549259 +Node: File Namespace Concepts549749 +Node: File Namespace Details551344 +Node: File Socket Example552958 +Node: Internet Namespace554282 +Node: Internet Address Format556009 +Node: Host Addresses557378 +Node: Abstract Host Addresses558438 +Node: Host Address Data Type561231 +Node: Host Address Functions563122 +Node: Host Names565549 +Node: Ports570561 +Node: Services Database572599 +Node: Byte Order575426 +Node: Protocols Database577714 +Node: Inet Example581255 +Node: Misc Namespaces583285 +Node: Open/Close Sockets584035 +Node: Creating a Socket584533 +Node: Closing a Socket586201 +Node: Socket Pairs587731 +Node: Connections589741 +Node: Connecting590835 +Node: Listening593391 +Node: Accepting Connections595476 +Node: Who is Connected598332 +Node: Transferring Data599428 +Node: Sending Data600538 +Node: Receiving Data602786 +Node: Socket Data Options604250 +Node: Byte Stream Example605113 +Node: Server Example607091 +Node: Out-of-Band Data611138 +Node: Datagrams616992 +Node: Sending Datagrams618021 +Node: Receiving Datagrams619678 +Node: Datagram Example621479 +Node: Example Receiver623397 +Node: Inetd625964 +Node: Inetd Servers626772 +Node: Configuring Inetd628015 +Node: Socket Options630689 +Node: Socket Option Functions631397 +Node: Socket-Level Options632955 +Node: Networks Database636589 +Node: Low-Level Terminal Interface639451 +Node: Is It a Terminal640786 +Node: I/O Queues642002 +Node: Canonical or Not643972 +Node: Terminal Modes645819 +Node: Mode Data Types647095 +Node: Mode Functions648923 +Node: Setting Modes652863 +Node: Input Modes654851 +Node: Output Modes660118 +Node: Control Modes661731 +Node: Local Modes665821 +Node: Line Speed672135 +Node: Special Characters676295 +Node: Editing Characters678207 +Node: Signal Characters682548 +Node: Start/Stop Characters685417 +Node: Other Special687288 +Node: Noncanonical Input689102 +Node: Line Control693915 +Node: Noncanon Example698227 +Node: Mathematics700422 +Node: Domain and Range Errors701626 +Node: Trig Functions704849 +Node: Inverse Trig Functions706219 +Node: Exponents and Logarithms708657 +Node: Hyperbolic Functions711558 +Node: Pseudo-Random Numbers713137 +Node: ISO Random714723 +Node: BSD Random715896 +Node: Arithmetic717813 +Node: Not a Number718722 +Node: Predicates on Floats720064 +Node: Absolute Value721638 +Node: Normalization Functions723136 +Node: Rounding and Remainders725978 +Node: Integer Division729346 +Node: Parsing of Numbers731496 +Node: Parsing of Integers732148 +Node: Parsing of Floats739623 +Node: Searching and Sorting744087 +Node: Comparison Functions744878 +Node: Array Search Function745992 +Node: Array Sort Function747415 +Node: Search/Sort Example749387 +Node: Pattern Matching752837 +Node: Wildcard Matching753639 +Node: Globbing756517 +Node: Calling Glob757307 +Node: Flags for Globbing760888 +Node: Regular Expressions764386 +Node: POSIX Regexp Compilation765370 +Node: Flags for POSIX Regexps769485 +Node: Matching POSIX Regexps770392 +Node: Regexp Subexpressions772553 +Node: Subexpression Complications774607 +Node: Regexp Cleanup776966 +Node: Word Expansion779292 +Node: Expansion Stages780460 +Node: Calling Wordexp781953 +Node: Flags for Wordexp785916 +Node: Wordexp Example787869 +Node: Date and Time789844 +Node: Processor Time790968 +Node: Basic CPU Time791726 +Node: Detailed CPU Time793745 +Node: Calendar Time796210 +Node: Simple Calendar Time797788 +Node: High-Resolution Calendar799545 +Node: Broken-down Time805265 +Node: Formatting Date and Time810481 +Node: TZ Variable821763 +Node: Time Zone Functions827824 +Node: Time Functions Example830489 +Node: Setting an Alarm831604 +Node: Sleeping836831 +Node: Resource Usage839487 +Node: Limits on Resources842998 +Node: Priority847372 +Node: Extended Characters850634 +Node: Extended Char Intro852242 +Node: Locales and Extended Chars854179 +Node: Multibyte Char Intro855229 +Node: Wide Char Intro862523 +Node: Wide String Conversion864290 +Node: Length of Char867527 +Node: Converting One Char869238 +Node: Example of Conversion872635 +Node: Shift State875525 +Node: Locales878178 +Node: Effects of Locale879746 +Node: Choosing Locale881682 +Node: Locale Categories883006 +Node: Setting the Locale884653 +Node: Standard Locales888547 +Node: Numeric Formatting889787 +Node: General Numeric891297 +Node: Currency Symbol894219 +Node: Sign of Money Amount898829 +Node: Non-Local Exits901133 +Node: Non-Local Intro901752 +Node: Non-Local Details905479 +Node: Non-Local Exits and Signals908555 +Node: Signal Handling910025 +Node: Concepts of Signals912060 +Node: Kinds of Signals912624 +Node: Signal Generation914021 +Node: Delivery of Signal916288 +Node: Standard Signals919145 +Node: Program Error Signals920738 +Node: Termination Signals928196 +Node: Alarm Signals932034 +Node: Asynchronous I/O Signals933274 +Node: Job Control Signals934465 +Node: Operation Error Signals939077 +Node: Miscellaneous Signals941016 +Node: Signal Messages942712 +Node: Signal Actions944598 +Node: Basic Signal Handling945543 +Node: Advanced Signal Handling950476 +Node: Signal and Sigaction953432 +Node: Sigaction Function Example955184 +Node: Flags for Sigaction957500 +Node: Initial Signal Actions959878 +Node: Defining Handlers961261 +Node: Handler Returns963446 +Node: Termination in Handler965496 +Node: Longjmp in Handler966912 +Node: Signals in Handler969007 +Node: Merged Signals971127 +Node: Nonreentrancy976837 +Node: Atomic Data Access982385 +Node: Non-atomic Example983421 +Node: Atomic Types985192 +Node: Atomic Usage986200 +Node: Interrupted Primitives987670 +Node: Generating Signals990970 +Node: Signaling Yourself991563 +Node: Signaling Another Process993545 +Node: Permission for kill996928 +Node: Kill Example998724 +Node: Blocking Signals1001068 +Node: Why Block1002840 +Node: Signal Sets1004377 +Node: Process Signal Mask1007403 +Node: Testing for Delivery1010411 +Node: Blocking for Handler1011661 +Node: Checking for Pending Signals1014080 +Node: Remembering a Signal1016092 +Node: Waiting for a Signal1019641 +Node: Using Pause1020186 +Node: Pause Problems1021406 +Node: Sigsuspend1023130 +Node: Signal Stack1025840 +Node: BSD Signal Handling1031184 +Node: BSD Handler1032458 +Node: Blocking in BSD1034892 +Node: Process Startup1036346 +Node: Program Arguments1037381 +Node: Argument Syntax1040110 +Node: Parsing Options1042740 +Node: Example of Getopt1046031 +Node: Long Options1048747 +Node: Long Option Example1052808 +Node: Suboptions1055657 +Node: Suboptions Example1057606 +Node: Environment Variables1059701 +Node: Environment Access1061562 +Node: Standard Environment1063604 +Node: Program Termination1067287 +Node: Normal Termination1068506 +Node: Exit Status1069732 +Node: Cleanups on Exit1072753 +Node: Aborting a Program1074570 +Node: Termination Internals1075469 +Node: Processes1077245 +Node: Running a Command1079268 +Node: Process Creation Concepts1080761 +Node: Process Identification1082771 +Node: Creating a Process1083695 +Node: Executing a File1087311 +Node: Process Completion1094346 +Node: Process Completion Status1099355 +Node: BSD Wait Functions1100999 +Node: Process Creation Example1102891 +Node: Job Control1105141 +Node: Concepts of Job Control1106421 +Node: Job Control is Optional1109778 +Node: Controlling Terminal1110828 +Node: Access to the Terminal1111735 +Node: Orphaned Process Groups1113339 +Node: Implementing a Shell1114331 +Node: Data Structures1115214 +Node: Initializing the Shell1117857 +Node: Launching Jobs1121593 +Node: Foreground and Background1129046 +Node: Stopped and Terminated Jobs1132155 +Node: Continuing Stopped Jobs1137337 +Node: Missing Pieces1138964 +Node: Functions for Job Control1140588 +Node: Identifying the Terminal1141068 +Node: Process Group Functions1142642 +Node: Terminal Access Functions1146194 +Node: Name Service Switch1149095 +Node: NSS Basics1150426 +Node: NSS Configuration File1152021 +Node: Services in the NSS configuration1153719 +Node: Actions in the NSS configuration1155000 +Node: Notes on NSS Configuration File1158159 +Node: NSS Module Internals1160035 +Node: NSS Module Names1160731 +Node: NSS Modules Interface1163108 +Node: Extending NSS1166637 +Node: Adding another Service to NSS1167568 +Node: NSS Module Function Internals1169787 +Node: Users and Groups1174188 +Node: User and Group IDs1176664 +Node: Process Persona1177571 +Node: Why Change Persona1179082 +Node: How Change Persona1180963 +Node: Reading Persona1182445 +Node: Setting User ID1184715 +Node: Setting Groups1186925 +Node: Enable/Disable Setuid1189482 +Node: Setuid Program Example1191521 +Node: Tips for Setuid1194990 +Node: Who Logged In1197078 +Node: User Database1199246 +Node: User Data Structure1199907 +Node: Lookup User1201186 +Node: Scanning All Users1204276 +Node: Writing a User Entry1207655 +Node: Group Database1208554 +Node: Group Data Structure1209141 +Node: Lookup Group1209927 +Node: Scanning All Groups1212983 +Node: Netgroup Database1216264 +Node: Netgroup Data1216698 +Node: Lookup Netgroup1218262 +Node: Netgroup Membership1221674 +Node: Database Example1223004 +Node: System Information1225178 +Node: Host Identification1225775 +Node: Hardware/Software Type ID1228994 +Node: System Configuration1231693 +Node: General Limits1233260 +Node: System Options1236899 +Node: Version Supported1240231 +Node: Sysconf1242068 +Node: Sysconf Definition1242704 +Node: Constants for Sysconf1243376 +Node: Examples of Sysconf1246509 +Node: Minimums1247502 +Node: Limits for Files1249578 +Node: Options for Files1252580 +Node: File Minimums1254869 +Node: Pathconf1256531 +Node: Utility Limits1259218 +Node: Utility Minimums1261276 +Node: String Parameters1263028 +Node: Language Features1265082 +Node: Consistency Checking1266013 +Node: Variadic Functions1270651 +Node: Why Variadic1271723 +Node: How Variadic1273688 +Node: Variadic Prototypes1274977 +Node: Receiving Arguments1276135 +Node: How Many Arguments1278849 +Node: Calling Variadics1280520 +Node: Argument Macros1282657 +Node: Variadic Example1284297 +Node: Old Varargs1285449 +Node: Null Pointer Constant1287119 +Node: Important Data Types1288204 +Node: Data Type Measurements1290770 +Node: Width of Type1291627 +Node: Range of Type1292533 +Node: Floating Type Macros1295797 +Node: Floating Point Concepts1297057 +Node: Floating Point Parameters1300792 +Node: IEEE Floating Point1307726 +Node: Structure Measurement1309479 +Node: Library Summary1310174 +Node: Maintenance1416254 +Node: Installation1416999 +Node: Tools for Installation1423845 +Node: Supported Configurations1424933 +Node: Reporting Bugs1426444 +Node: Source Layout1428821 +Node: Porting1432777 +Node: Hierarchy Conventions1440565 +Node: Porting to Unix1445485 +Node: Contributors1447330 +Node: Copying1458628 +Node: Concept Index1485492 +Node: Type Index1535560 +Node: Function Index1540350 +Node: Variable Index1572797 +Node: File Index1604275  End Tag Table diff -durpN glibc-2.0.2/manual/libc.info-1 glibc-2.0.3/manual/libc.info-1 --- glibc-2.0.2/manual/libc.info-1 Tue Mar 18 13:35:57 1997 +++ glibc-2.0.3/manual/libc.info-1 Fri Apr 18 11:50:41 1997 @@ -141,7 +141,6 @@ Memory Allocation calling function returns. * Relocating Allocator:: Waste less memory, if you can tolerate automatic relocation of the blocks you get. -* Memory Warnings:: Getting warnings when memory is nearly full. Unconstrained Allocation diff -durpN glibc-2.0.2/manual/libc.info-2 glibc-2.0.3/manual/libc.info-2 --- glibc-2.0.2/manual/libc.info-2 Tue Mar 18 13:35:58 1997 +++ glibc-2.0.3/manual/libc.info-2 Fri Apr 18 11:50:41 1997 @@ -1200,3 +1200,7 @@ They are not yet documented.* - Macro: int EREMOTEIO + - Macro: int ENOMEDIUM + + - Macro: int EMEDIUMTYPE + diff -durpN glibc-2.0.2/manual/libc.info-24 glibc-2.0.3/manual/libc.info-24 --- glibc-2.0.2/manual/libc.info-24 Tue Mar 18 13:35:58 1997 +++ glibc-2.0.3/manual/libc.info-24 Fri Apr 18 11:50:41 1997 @@ -1032,6 +1032,9 @@ standardized functions to access the dat The databases available in the NSS are +`aliases' + Mail aliases + `ethers' Ethernet numbers, @@ -1062,8 +1065,8 @@ The databases available in the NSS are `shadow' Shadow user passwords, -There will be some more added later (`aliases', `automount', -`bootparams', `netmasks', and `publickey'). +There will be some more added later (`automount', `bootparams', +`netmasks', and `publickey').  File: libc.info, Node: NSS Configuration File, Next: NSS Module Internals, Prev: NSS Basics, Up: Name Service Switch @@ -1104,7 +1107,7 @@ different items: * the service specification like `files', `db', or `nis'. - * the reaction on lookup result line `[NOTFOUND=return]'. + * the reaction on lookup result like `[NOTFOUND=return]'. * Menu: @@ -1301,8 +1304,8 @@ functions. I.e., if the user would call this also would end in the above function. For all user interface functions the C library maps this call to a call to the reentrant function. For reentrant functions this is trivial since the interface -is (nearly) the same. For the non-reentrant version pointers to static -buffers are used to replace the user supplied buffers. +is (nearly) the same. For the non-reentrant version The library keeps +internal buffers which are used to replace the user supplied buffer. I.e., the reentrant functions *can* have counterparts. No service module is forced to have functions for all databases and all kinds to diff -durpN glibc-2.0.2/manual/libc.info-25 glibc-2.0.3/manual/libc.info-25 --- glibc-2.0.2/manual/libc.info-25 Tue Mar 18 13:35:58 1997 +++ glibc-2.0.3/manual/libc.info-25 Fri Apr 18 11:50:41 1997 @@ -51,9 +51,9 @@ The actual prototype of the function in int *h_errnop) I.e., the interface function is in fact the reentrant function with -the change of the return value. While the user-level function returns a -pointer to the result the reentrant function return an `enum -nss_status' value: +the change of the return value and the omission of the RESULT +parameter. While the user-level function returns a pointer to the +result the reentrant function return an `enum nss_status' value: `NSS_STATUS_TRYAGAIN' numeric value `-2' @@ -98,7 +98,7 @@ signature of the module function: * the next three arguments are: - `STRUCT_TYPE result_buf' + `STRUCT_TYPE *result_buf' pointer to buffer where the result is stored. `STRUCT_TYPE' is normally a struct which corresponds to the database. @@ -106,7 +106,7 @@ signature of the module function: pointer to a buffer where the function can store additional adata for the result etc. - `int buflen' + `size_t buflen' length of the buffer pointed to by BUFFER. * possibly a last argument H_ERRNOP, for the host name and network diff -durpN glibc-2.0.2/manual/libc.info-28 glibc-2.0.3/manual/libc.info-28 --- glibc-2.0.2/manual/libc.info-28 Tue Mar 18 13:35:58 1997 +++ glibc-2.0.3/manual/libc.info-28 Fri Apr 18 11:50:41 1997 @@ -657,6 +657,9 @@ how to use it. `errno.h' (BSD: Too many levels of symbolic links): *Note Error Codes::. +`int EMEDIUMTYPE' + `errno.h' (Linux???: Wrong medium type): *Note Error Codes::. + `int EMFILE' `errno.h' (POSIX.1: Too many open files): *Note Error Codes::. @@ -744,6 +747,9 @@ how to use it. `int ENOLINK' `errno.h' (XOPEN: Link has been severed): *Note Error Codes::. +`int ENOMEDIUM' + `errno.h' (Linux???: No medium found): *Note Error Codes::. + `int ENOMEM' `errno.h' (POSIX.1: Cannot allocate memory): *Note Error Codes::. @@ -1798,6 +1804,9 @@ how to use it. `L_XTND' `sys/file.h' (BSD): *Note File Positioning::. +`struct mallinfo mallinfo (void)' + `malloc.h' (SVID): *Note Statistics of Malloc::. + `__malloc_hook' `malloc.h' (GNU): *Note Hooks for Malloc::. @@ -1849,16 +1858,13 @@ how to use it. `void * memcpy (void *TO, const void *FROM, size_t SIZE)' `string.h' (ISO): *Note Copying and Concatenation::. -`void * memmem (const void *NEEDLE, size_t NEEDLE-LEN, - const void *HAYSTACK, size_t HAYSTACK-LEN)' +`void * memmem (const void *HAYSTACK, size_t HAYSTACK-LEN, + const void *NEEDLE, size_t NEEDLE-LEN)' `string.h' (GNU): *Note Search Functions::. `void * memmove (void *TO, const void *FROM, size_t SIZE)' `string.h' (ISO): *Note Copying and Concatenation::. -`void memory_warnings (void *START, void (*WARN-FUNC) (const char *))' - `malloc.h' (GNU): *Note Memory Warnings::. - `void * memset (void *BLOCK, int C, size_t SIZE)' `string.h' (ISO): *Note Copying and Concatenation::. @@ -1895,9 +1901,6 @@ how to use it. `int MSG_PEEK' `sys/socket.h' (BSD): *Note Socket Data Options::. -`struct mstats mstats (void)' - `malloc.h' (GNU): *Note Statistics of Malloc::. - `int NAME_MAX' `limits.h' (POSIX.1): *Note Limits for Files::. @@ -3290,6 +3293,9 @@ how to use it. `char * strerror (int ERRNUM)' `string.h' (ISO): *Note Error Messages::. +`char * strerror_r (int ERRNUM, char *BUF, size_t N)' + `string.h' (GNU): *Note Error Messages::. + `size_t strftime (char *S, size_t SIZE, const char *TEMPLATE, const struct tm *BROKENTIME)' `time.h' (POSIX.2): *Note Formatting Date and Time::. @@ -3389,11 +3395,11 @@ how to use it. `struct linger' `sys/socket.h' (BSD): *Note Socket-Level Options::. +`struct mallinfo' + `malloc.h' (GNU): *Note Statistics of Malloc::. + `struct msghdr' `sys/socket.h' (BSD): *Note Receiving Datagrams::. - -`struct mstats' - `malloc.h' (GNU): *Note Statistics of Malloc::. `struct netent' `netdb.h' (BSD): *Note Networks Database::. diff -durpN glibc-2.0.2/manual/libc.info-3 glibc-2.0.3/manual/libc.info-3 --- glibc-2.0.2/manual/libc.info-3 Tue Mar 18 13:35:58 1997 +++ glibc-2.0.3/manual/libc.info-3 Fri Apr 18 11:50:41 1997 @@ -52,6 +52,23 @@ access to the name of the program that e The function `strerror' is declared in `string.h'. + - Function: char * strerror_r (int ERRNUM, char *BUF, size_t N) + The `strerror_r' function works like `strerror' but instead of + returning the error message in a statically allocated buffer + shared by all threads in the process, it writes the message string + in the user supplied buffer starting at BUF with the length of N + bytes. + + At most N characters are written (including the NUL byte) so it is + up to the user to select the buffer large enough. + + This function should always be used in multi-threaded programs + since there is no way to guarantee the string returned by + `strerror' really belongs to the last call of the current thread. + + This function `strerror_r' is a GNU extension and it is declared in + `string.h'. + - Function: void perror (const char *MESSAGE) This function prints an error message to the stream `stderr'; see *Note Standard Streams::. @@ -161,7 +178,6 @@ efficiency. calling function returns. * Relocating Allocator:: Waste less memory, if you can tolerate automatic relocation of the blocks you get. -* Memory Warnings:: Getting warnings when memory is nearly full.  File: libc.info, Node: Memory Concepts, Next: Dynamic Allocation and C, Up: Memory Allocation @@ -261,6 +277,8 @@ time (or never). these functions. * Aligned Memory Blocks:: Allocating specially aligned memory: `memalign' and `valloc'. +* Malloc Tunable Parameters:: Use `mallopt' to adjust allocation + parameters. * Heap Consistency Checking:: Automatic checking for errors. * Hooks for Malloc:: You can use these hooks for debugging programs that use `malloc'. @@ -347,10 +365,10 @@ allocated null-terminated string: The block that `malloc' gives you is guaranteed to be aligned so that it can hold any type of data. In the GNU system, the address is -always a multiple of eight; if the size of block is 16 or more, then the -address is always a multiple of 16. Only rarely is any higher boundary -(such as a page boundary) necessary; for those cases, use `memalign' or -`valloc' (*note Aligned Memory Blocks::.). +always a multiple of eight on most systems, and a multiple of 16 on +64-bit systems. Only rarely is any higher boundary (such as a page +boundary) necessary; for those cases, use `memalign' or `valloc' (*note +Aligned Memory Blocks::.). Note that the memory located after the end of the block is likely to be in use for something else; perhaps a block already allocated by @@ -464,9 +482,9 @@ error message as `xmalloc' does for `mal } You can also use `realloc' to make a block smaller. The reason you -would do this is to avoid tying up a lot of memory space when only a -little is needed. Making a block smaller sometimes necessitates -copying it, so it can fail if no other space is available. +is needed. In several allocation implementations, making a block +smaller sometimes necessitates copying it, so it can fail if no other +space is available. If the new size you specify is the same as the old size, `realloc' is guaranteed to change nothing and return the same address that you @@ -498,46 +516,44 @@ declared in `stdlib.h'. return value; } + But in general, it is not guaranteed that `calloc' calls `malloc' +internally. Therefore, if an application provides its own +`malloc'/`realloc'/`free' outside the C library, it should always +define `calloc', too. +  File: libc.info, Node: Efficiency and Malloc, Next: Aligned Memory Blocks, Prev: Allocating Cleared Space, Up: Unconstrained Allocation Efficiency Considerations for `malloc' -------------------------------------- - To make the best use of `malloc', it helps to know that the GNU -version of `malloc' always dispenses small amounts of memory in blocks -whose sizes are powers of two. It keeps separate pools for each power -of two. This holds for sizes up to a page size. Therefore, if you are -free to choose the size of a small block in order to make `malloc' more -efficient, make it a power of two. - - Once a page is split up for a particular block size, it can't be -reused for another size unless all the blocks in it are freed. In many -programs, this is unlikely to happen. Thus, you can sometimes make a -program use memory more efficiently by using blocks of the same size for -many different purposes. - - When you ask for memory blocks of a page or larger, `malloc' uses a -different strategy; it rounds the size up to a multiple of a page, and -it can coalesce and split blocks as needed. + As apposed to other versions, the `malloc' in GNU libc does not +round up block sizes to powers of two, neither for large nor for small +sizes. Neighboring chunks can be coalesced on a `free' no matter what +their size is. This makes the implementation suitable for all kinds of +allocation patterns without generally incurring high memory waste +through fragmentation. - The reason for the two strategies is that it is important to allocate -and free small blocks as fast as possible, but speed is less important -for a large block since the program normally spends a fair amount of -time using it. Also, large blocks are normally fewer in number. -Therefore, for large blocks, it makes sense to use a method which takes -more time to minimize the wasted space. + Very large blocks (much larger than a page) are allocated with +`mmap' (anonymous or via `/dev/zero') by this implementation. This has +the great advantage that these chunks are returned to the system +immediately when they are freed. Therefore, it cannot happen that a +large chunk becomes "locked" in between smaller ones and even after +calling `free' wastes memory. The size threshold for `mmap' to be used +can be adjusted with `mallopt'. The use of `mmap' can also be disabled +completely.  -File: libc.info, Node: Aligned Memory Blocks, Next: Heap Consistency Checking, Prev: Efficiency and Malloc, Up: Unconstrained Allocation +File: libc.info, Node: Aligned Memory Blocks, Next: Malloc Tunable Parameters, Prev: Efficiency and Malloc, Up: Unconstrained Allocation Allocating Aligned Memory Blocks -------------------------------- The address of a block returned by `malloc' or `realloc' in the GNU -system is always a multiple of eight. If you need a block whose -address is a multiple of a higher power of two than that, use -`memalign' or `valloc'. These functions are declared in `stdlib.h'. +system is always a multiple of eight (or sixteen on 64-bit systems). +If you need a block whose address is a multiple of a higher power of +two than that, use `memalign' or `valloc'. These functions are +declared in `stdlib.h'. With the GNU library, you can use `free' to free the blocks that `memalign' and `valloc' return. That does not work in BSD, @@ -546,9 +562,9 @@ however--BSD does not provide any way to - Function: void * memalign (size_t BOUNDARY, size_t SIZE) The `memalign' function allocates a block of SIZE bytes whose address is a multiple of BOUNDARY. The BOUNDARY must be a power - of two! The function `memalign' works by calling `malloc' to - allocate a somewhat larger block, and then returning an address - within the block that is on the specified boundary. + of two! The function `memalign' works by allocating a somewhat + larger block, and then returning an address within the block that + is on the specified boundary. - Function: void * valloc (size_t SIZE) Using `valloc' is like using `memalign' and passing the page size @@ -561,7 +577,46 @@ however--BSD does not provide any way to }  -File: libc.info, Node: Heap Consistency Checking, Next: Hooks for Malloc, Prev: Aligned Memory Blocks, Up: Unconstrained Allocation +File: libc.info, Node: Malloc Tunable Parameters, Next: Heap Consistency Checking, Prev: Aligned Memory Blocks, Up: Unconstrained Allocation + +Malloc Tunable Parameters +------------------------- + + You can adjust some parameters for dynamic memory allocation with the +`mallopt' function. This function is the general SVID/XPG interface, +defined in `malloc.h'. + + - Function: int mallopt (int PARAM, int VALUE) + When calling `mallopt', the PARAM argument specifies the parameter + to be set, and VALUE the new value to be set. Possible choices + for PARAM, as defined in `malloc.h', are: + + `M_TRIM_THRESHOLD' + This is the minimum size (in bytes) of the top-most, + releaseable chunk that will cause `sbrk' to be called with a + negative argument in order to return memory to the system. + + `M_TOP_PAD' + This parameter determines the amount of extra memory to + obtain from the system when a call to `sbrk' is required. It + also specifies the number of bytes to retain when shrinking + the heap by calling `sbrk' with a negative argument. This + provides the necessary hysteresis in heap size such that + excessive amounts of system calls can be avoided. + + `M_MMAP_THRESHOLD' + All chunks larger than this value are allocated outside the + normal heap, using the `mmap' system call. This way it is + guaranteed that the memory for these chunks can be returned + to the system on `free'. + + `M_MMAP_MAX' + The maximum number of chunks to allocate with `mmap'. + Setting this to zero disables all use of `mmap'. + + + +File: libc.info, Node: Heap Consistency Checking, Next: Hooks for Malloc, Prev: Malloc Tunable Parameters, Up: Unconstrained Allocation Heap Consistency Checking ------------------------- @@ -701,37 +756,57 @@ Statistics for Storage Allocation with ` ----------------------------------------------- You can get information about dynamic storage allocation by calling -the `mstats' function. This function and its associated data type are -declared in `malloc.h'; they are a GNU extension. +the `mallinfo' function. This function and its associated data type +are declared in `malloc.h'; they are an extension of the standard +SVID/XPG version. - - Data Type: struct mstats + - Data Type: struct mallinfo This structure type is used to return information about the dynamic storage allocator. It contains the following members: - `size_t bytes_total' - This is the total size of memory managed by `malloc', in + `int arena' + This is the total size of memory allocated with `sbrk' by + `malloc', in bytes. + + `int ordblks' + This is the number of chunks not in use. (The storage + allocator internally gets chunks of memory from the operating + system, and then carves them up to satisfy individual + `malloc' requests; see *Note Efficiency and Malloc::.) + + `int smblks' + This field is unused. + + `int hblks' + This is the total number of chunks allocated with `mmap'. + + `int hblkhd' + This is the total size of memory allocated with `mmap', in bytes. - `size_t chunks_used' - This is the number of chunks in use. (The storage allocator - internally gets chunks of memory from the operating system, - and then carves them up to satisfy individual `malloc' - requests; see *Note Efficiency and Malloc::.) + `int usmblks' + This field is unused. - `size_t bytes_used' - This is the number of bytes in use. + `int fsmblks' + This field is unused. - `size_t chunks_free' - This is the number of chunks which are free - that is, that - have been allocated by the operating system to your program, - but which are not now being used. + `int uordblks' + This is the total size of memory occupied by chunks handed + out by `malloc'. - `size_t bytes_free' - This is the number of bytes which are free. + `int fordblks' + This is the total size of memory occupied by free (not in + use) chunks. - - Function: struct mstats mstats (void) + `int keepcost' + This is the size of the top-most, releaseable chunk that + normally borders the end of the heap (i.e. the "brk" of the + process). + + + - Function: struct mallinfo mallinfo (void) This function returns information about the current dynamic memory - usage in a structure of type `struct mstats'. + usage in a structure of type `struct mallinfo'.  File: libc.info, Node: Summary of Malloc, Prev: Statistics of Malloc, Up: Unconstrained Allocation @@ -765,6 +840,9 @@ Summary of `malloc'-Related Functions Allocate a block of SIZE bytes, starting on an address that is a multiple of BOUNDARY. *Note Aligned Memory Blocks::. +`int mallopt (int PARAM, int VALUE)' + Adjust a tunable parameter. *Note Malloc Tunable Parameters:: + `int mcheck (void (*ABORTFN) (void))' Tell `malloc' to perform occasional consistency checks on dynamically allocated memory, and to call ABORTFN when an @@ -779,7 +857,7 @@ Summary of `malloc'-Related Functions `void (*__free_hook) (void *PTR)' A pointer to a function that `free' uses whenever it is called. -`struct mstats mstats (void)' +`struct mallinfo mallinfo (void)' Return information about the current dynamic memory usage. *Note Statistics of Malloc::. diff -durpN glibc-2.0.2/manual/libc.info-31 glibc-2.0.3/manual/libc.info-31 --- glibc-2.0.2/manual/libc.info-31 Tue Mar 18 13:35:58 1997 +++ glibc-2.0.3/manual/libc.info-31 Fri Apr 18 11:50:41 1997 @@ -467,7 +467,6 @@ Concept Index * maximum field width (scanf): Input Conversion Syntax. * measurements of floating types: Floating Type Macros. * memory allocation: Memory Allocation. -* memory usage warnings: Memory Warnings. * merging of signals: Merged Signals. * MIN termios slot: Noncanonical Input. * minimum field width (printf): Output Conversion Syntax. @@ -846,7 +845,6 @@ Concept Index * waiting for a signal: Waiting for a Signal. * waiting for completion of child process: Process Completion. * waiting for input or output: Waiting for I/O. -* warnings of memory almost full: Memory Warnings. * WERASE character: Editing Characters. * whitespace character: Classification of Characters. * wide characters: Extended Char Intro. diff -durpN glibc-2.0.2/manual/libc.info-32 glibc-2.0.3/manual/libc.info-32 --- glibc-2.0.2/manual/libc.info-32 Tue Mar 18 13:35:58 1997 +++ glibc-2.0.3/manual/libc.info-32 Fri Apr 18 11:50:42 1997 @@ -78,7 +78,7 @@ Type Index * struct itimerval: Setting an Alarm. * struct lconv: Numeric Formatting. * struct linger: Socket-Level Options. -* struct mstats: Statistics of Malloc. +* struct mallinfo: Statistics of Malloc. * struct netent: Networks Database. * struct obstack: Creating Obstacks. * struct option: Long Options. @@ -357,7 +357,9 @@ Function and Macro Index * lseek: File Position Primitive. * lstat: Reading Attributes. * main: Program Arguments. +* mallinfo: Statistics of Malloc. * malloc: Basic Allocation. +* mallopt: Malloc Tunable Parameters. * mblen: Length of Char. * mbstowcs: Wide String Conversion. * mbtowc: Converting One Char. @@ -369,7 +371,6 @@ Function and Macro Index * memcpy: Copying and Concatenation. * memmem: Search Functions. * memmove: Copying and Concatenation. -* memory_warnings: Memory Warnings. * memset: Copying and Concatenation. * mkdir: Creating Directories. * mkfifo: FIFO Special Files. @@ -379,7 +380,6 @@ Function and Macro Index * mktime: Broken-down Time. * modf: Rounding and Remainders. * mprobe: Heap Consistency Checking. -* mstats: Statistics of Malloc. * nice: Priority. * notfound: Actions in the NSS configuration. * NSS_STATUS_NOTFOUND: NSS Modules Interface. @@ -552,6 +552,7 @@ Function and Macro Index * strdup: Copying and Concatenation. * strdupa: Copying and Concatenation. * strerror: Error Messages. +* strerror_r: Error Messages. * strftime: Formatting Date and Time. * strlen: String Length. * strncasecmp: String/Array Comparison. diff -durpN glibc-2.0.2/manual/libc.info-33 glibc-2.0.3/manual/libc.info-33 --- glibc-2.0.2/manual/libc.info-33 Tue Mar 18 13:35:58 1997 +++ glibc-2.0.3/manual/libc.info-33 Fri Apr 18 11:50:42 1997 @@ -64,6 +64,7 @@ Variable and Constant Macro Index * AF_INET: Address Formats. * AF_UNIX: Address Formats. * AF_UNSPEC: Address Formats. +* aliases: NSS Basics. * ALTWERASE: Local Modes. * ARG_MAX: General Limits. * B0: Line Speed. @@ -177,6 +178,7 @@ Variable and Constant Macro Index * ELIBSCN: Error Codes. * ELNRNG: Error Codes. * ELOOP: Error Codes. +* EMEDIUMTYPE: Error Codes. * EMFILE: Error Codes. * EMLINK: Error Codes. * EMSGSIZE: Error Codes. @@ -197,6 +199,7 @@ Variable and Constant Macro Index * ENOEXEC: Error Codes. * ENOLCK: Error Codes. * ENOLINK: Error Codes. +* ENOMEDIUM: Error Codes. * ENOMEM: Error Codes. * ENOMSG: Error Codes. * ENONET: Error Codes. @@ -637,11 +640,11 @@ Program and File Index * locale.h: Setting the Locale. * localtime: TZ Variable. * ls: File Attributes. -* malloc.c: Memory Warnings. * malloc.h <1>: Using Relocator. * malloc.h <2>: Statistics of Malloc. * malloc.h <3>: Hooks for Malloc. -* malloc.h: Heap Consistency Checking. +* malloc.h <4>: Heap Consistency Checking. +* malloc.h: Malloc Tunable Parameters. * math.h <1>: Rounding and Remainders. * math.h <2>: Normalization Functions. * math.h <3>: Absolute Value. diff -durpN glibc-2.0.2/manual/libc.info-4 glibc-2.0.3/manual/libc.info-4 --- glibc-2.0.2/manual/libc.info-4 Tue Mar 18 13:35:58 1997 +++ glibc-2.0.3/manual/libc.info-4 Fri Apr 18 11:50:41 1997 @@ -487,7 +487,7 @@ declared frees all blocks allocated with of that scope.  -File: libc.info, Node: Relocating Allocator, Next: Memory Warnings, Prev: Variable Size Automatic, Up: Memory Allocation +File: libc.info, Node: Relocating Allocator, Prev: Variable Size Automatic, Up: Memory Allocation Relocating Allocator ==================== @@ -565,36 +565,6 @@ extensions. If enough memory is not available, this function returns a null pointer and does not modify `*HANDLEPTR'. - - -File: libc.info, Node: Memory Warnings, Prev: Relocating Allocator, Up: Memory Allocation - -Memory Usage Warnings -===================== - - You can ask for warnings as the program approaches running out of -memory space, by calling `memory_warnings'. This tells `malloc' to -check memory usage every time it asks for more memory from the operating -system. This is a GNU extension declared in `malloc.h'. - - - Function: void memory_warnings (void *START, void (*WARN-FUNC) - (const char *)) - Call this function to request warnings for nearing exhaustion of - virtual memory. - - The argument START says where data space begins, in memory. The - allocator compares this against the last address used and against - the limit of data space, to determine the fraction of available - memory in use. If you supply zero for START, then a default value - is used which is right in most circumstances. - - For WARN-FUNC, supply a function that `malloc' can call to warn - you. It is called with a string (a warning message) as argument. - Normally it ought to display the string for the user to read. - - The warnings come when memory becomes 75% full, when it becomes 85% -full, and when it becomes 95% full. Above 95% you get another warning -each time memory usage increases.  File: libc.info, Node: Character Handling, Next: String and Array Utilities, Prev: Memory Allocation, Up: Top diff -durpN glibc-2.0.2/manual/libc.info-5 glibc-2.0.3/manual/libc.info-5 --- glibc-2.0.2/manual/libc.info-5 Tue Mar 18 13:35:58 1997 +++ glibc-2.0.3/manual/libc.info-5 Fri Apr 18 11:50:41 1997 @@ -373,8 +373,8 @@ declared in the header file `string.h'. strstr ("hello, world", "wo") => "world" - - Function: void * memmem (const void *NEEDLE, size_t NEEDLE-LEN, - const void *HAYSTACK, size_t HAYSTACK-LEN) + - Function: void * memmem (const void *HAYSTACK, size_t HAYSTACK-LEN, + const void *NEEDLE, size_t NEEDLE-LEN) This is like `strstr', but NEEDLE and HAYSTACK are byte arrays rather than null-terminated strings. NEEDLE-LEN is the length of NEEDLE and HAYSTACK-LEN is the length of HAYSTACK. diff -durpN glibc-2.0.2/manual/libc.pg glibc-2.0.3/manual/libc.pg --- glibc-2.0.2/manual/libc.pg Tue Mar 18 22:31:15 1997 +++ glibc-2.0.3/manual/libc.pg Sun Apr 20 18:26:20 1997 @@ -20,214 +20,214 @@ \entry{stdlib.h}{36}{\code {stdlib.h}} \entry{stdlib.h}{37}{\code {stdlib.h}} \entry{malloc.h}{38}{\code {malloc.h}} -\entry{malloc.h}{39}{\code {malloc.h}} +\entry{malloc.h}{38}{\code {malloc.h}} \entry{malloc.h}{40}{\code {malloc.h}} -\entry{obstack.h}{42}{\code {obstack.h}} -\entry{stdlib.h}{54}{\code {stdlib.h}} -\entry{malloc.h}{57}{\code {malloc.h}} -\entry{malloc.c}{58}{\code {malloc.c}} -\entry{ctype.h}{59}{\code {ctype.h}} -\entry{ctype.h}{59}{\code {ctype.h}} +\entry{malloc.h}{41}{\code {malloc.h}} +\entry{obstack.h}{43}{\code {obstack.h}} +\entry{stdlib.h}{55}{\code {stdlib.h}} +\entry{malloc.h}{58}{\code {malloc.h}} \entry{ctype.h}{61}{\code {ctype.h}} -\entry{string.h}{65}{\code {string.h}} -\entry{string.h}{65}{\code {string.h}} -\entry{string.h}{71}{\code {string.h}} +\entry{ctype.h}{61}{\code {ctype.h}} +\entry{ctype.h}{63}{\code {ctype.h}} +\entry{string.h}{67}{\code {string.h}} +\entry{string.h}{67}{\code {string.h}} \entry{string.h}{73}{\code {string.h}} -\entry{string.h}{76}{\code {string.h}} +\entry{string.h}{75}{\code {string.h}} \entry{string.h}{78}{\code {string.h}} -\entry{stdio.h}{91}{\code {stdio.h}} -\entry{stdio.h}{91}{\code {stdio.h}} -\entry{stdio.h}{92}{\code {stdio.h}} -\entry{stdio.h}{95}{\code {stdio.h}} -\entry{stdio.h}{96}{\code {stdio.h}} -\entry{stdio.h}{102}{\code {stdio.h}} -\entry{stdio.h}{111}{\code {stdio.h}} -\entry{stdio.h}{114}{\code {stdio.h}} -\entry{printf.h}{119}{\code {printf.h}} -\entry{printf.h}{120}{\code {printf.h}} -\entry{stdio.h}{132}{\code {stdio.h}} -\entry{stdio.h}{133}{\code {stdio.h}} +\entry{string.h}{80}{\code {string.h}} +\entry{stdio.h}{93}{\code {stdio.h}} +\entry{stdio.h}{93}{\code {stdio.h}} +\entry{stdio.h}{94}{\code {stdio.h}} +\entry{stdio.h}{97}{\code {stdio.h}} +\entry{stdio.h}{98}{\code {stdio.h}} +\entry{stdio.h}{104}{\code {stdio.h}} +\entry{stdio.h}{113}{\code {stdio.h}} +\entry{stdio.h}{116}{\code {stdio.h}} +\entry{printf.h}{121}{\code {printf.h}} +\entry{printf.h}{122}{\code {printf.h}} +\entry{stdio.h}{134}{\code {stdio.h}} \entry{stdio.h}{135}{\code {stdio.h}} \entry{stdio.h}{137}{\code {stdio.h}} \entry{stdio.h}{139}{\code {stdio.h}} -\entry{stdio.h}{139}{\code {stdio.h}} -\entry{stdio.h}{142}{\code {stdio.h}} -\entry{stdio.h}{145}{\code {stdio.h}} -\entry{unistd.h}{149}{\code {unistd.h}} -\entry{fcntl.h}{149}{\code {fcntl.h}} +\entry{stdio.h}{141}{\code {stdio.h}} +\entry{stdio.h}{141}{\code {stdio.h}} +\entry{stdio.h}{144}{\code {stdio.h}} +\entry{stdio.h}{147}{\code {stdio.h}} \entry{unistd.h}{151}{\code {unistd.h}} -\entry{stdio.h}{157}{\code {stdio.h}} -\entry{unistd.h}{157}{\code {unistd.h}} -\entry{sys/types.h}{160}{\code {sys/types.h}} -\entry{fcntl.h}{163}{\code {fcntl.h}} -\entry{unistd.h}{164}{\code {unistd.h}} -\entry{fcntl.h}{164}{\code {fcntl.h}} +\entry{fcntl.h}{151}{\code {fcntl.h}} +\entry{unistd.h}{153}{\code {unistd.h}} +\entry{stdio.h}{159}{\code {stdio.h}} +\entry{unistd.h}{159}{\code {unistd.h}} +\entry{sys/types.h}{162}{\code {sys/types.h}} +\entry{fcntl.h}{165}{\code {fcntl.h}} +\entry{unistd.h}{166}{\code {unistd.h}} \entry{fcntl.h}{166}{\code {fcntl.h}} \entry{fcntl.h}{168}{\code {fcntl.h}} -\entry{fcntl.h}{174}{\code {fcntl.h}} -\entry{fcntl.h}{177}{\code {fcntl.h}} -\entry{cd}{179}{\code {cd}} -\entry{unistd.h}{179}{\code {unistd.h}} -\entry{dirent.h}{181}{\code {dirent.h}} -\entry{dirent.h}{182}{\code {dirent.h}} +\entry{fcntl.h}{170}{\code {fcntl.h}} +\entry{fcntl.h}{176}{\code {fcntl.h}} +\entry{fcntl.h}{179}{\code {fcntl.h}} +\entry{cd}{181}{\code {cd}} +\entry{unistd.h}{181}{\code {unistd.h}} \entry{dirent.h}{183}{\code {dirent.h}} +\entry{dirent.h}{184}{\code {dirent.h}} \entry{dirent.h}{185}{\code {dirent.h}} -\entry{unistd.h}{187}{\code {unistd.h}} +\entry{dirent.h}{187}{\code {dirent.h}} \entry{unistd.h}{189}{\code {unistd.h}} -\entry{unistd.h}{190}{\code {unistd.h}} \entry{unistd.h}{191}{\code {unistd.h}} -\entry{stdio.h}{191}{\code {stdio.h}} -\entry{mkdir}{192}{\code {mkdir}} -\entry{sys/stat.h}{193}{\code {sys/stat.h}} -\entry{ls}{193}{\code {ls}} -\entry{sys/stat.h}{194}{\code {sys/stat.h}} -\entry{sys/stat.h}{197}{\code {sys/stat.h}} -\entry{chown}{199}{\code {chown}} -\entry{chgrp}{199}{\code {chgrp}} -\entry{unistd.h}{199}{\code {unistd.h}} -\entry{sys/stat.h}{200}{\code {sys/stat.h}} -\entry{umask}{203}{\code {umask}} -\entry{sys/stat.h}{203}{\code {sys/stat.h}} -\entry{unistd.h}{205}{\code {unistd.h}} -\entry{unistd.h}{205}{\code {unistd.h}} -\entry{time.h}{206}{\code {time.h}} -\entry{utime.h}{206}{\code {utime.h}} -\entry{sys/time.h}{207}{\code {sys/time.h}} -\entry{sys/stat.h}{208}{\code {sys/stat.h}} -\entry{stdio.h}{209}{\code {stdio.h}} -\entry{unistd.h}{213}{\code {unistd.h}} -\entry{sys/stat.h}{217}{\code {sys/stat.h}} -\entry{sys/socket.h}{220}{\code {sys/socket.h}} +\entry{unistd.h}{192}{\code {unistd.h}} +\entry{unistd.h}{193}{\code {unistd.h}} +\entry{stdio.h}{193}{\code {stdio.h}} +\entry{mkdir}{194}{\code {mkdir}} +\entry{sys/stat.h}{195}{\code {sys/stat.h}} +\entry{ls}{195}{\code {ls}} +\entry{sys/stat.h}{196}{\code {sys/stat.h}} +\entry{sys/stat.h}{199}{\code {sys/stat.h}} +\entry{chown}{201}{\code {chown}} +\entry{chgrp}{201}{\code {chgrp}} +\entry{unistd.h}{201}{\code {unistd.h}} +\entry{sys/stat.h}{202}{\code {sys/stat.h}} +\entry{umask}{205}{\code {umask}} +\entry{sys/stat.h}{205}{\code {sys/stat.h}} +\entry{unistd.h}{207}{\code {unistd.h}} +\entry{unistd.h}{207}{\code {unistd.h}} +\entry{time.h}{208}{\code {time.h}} +\entry{utime.h}{208}{\code {utime.h}} +\entry{sys/time.h}{209}{\code {sys/time.h}} +\entry{sys/stat.h}{210}{\code {sys/stat.h}} +\entry{stdio.h}{211}{\code {stdio.h}} +\entry{unistd.h}{215}{\code {unistd.h}} +\entry{sys/stat.h}{219}{\code {sys/stat.h}} \entry{sys/socket.h}{222}{\code {sys/socket.h}} -\entry{sys/socket.h}{223}{\code {sys/socket.h}} \entry{sys/socket.h}{224}{\code {sys/socket.h}} \entry{sys/socket.h}{225}{\code {sys/socket.h}} -\entry{sys/un.h}{225}{\code {sys/un.h}} +\entry{sys/socket.h}{226}{\code {sys/socket.h}} \entry{sys/socket.h}{227}{\code {sys/socket.h}} -\entry{netinet/in.h}{227}{\code {netinet/in.h}} +\entry{sys/un.h}{227}{\code {sys/un.h}} +\entry{sys/socket.h}{229}{\code {sys/socket.h}} \entry{netinet/in.h}{229}{\code {netinet/in.h}} -\entry{arpa/inet.h}{230}{\code {arpa/inet.h}} -\entry{/etc/hosts}{231}{\code {/etc/hosts}} -\entry{netdb.h}{231}{\code {netdb.h}} -\entry{netinet/in.h}{234}{\code {netinet/in.h}} -\entry{/etc/services}{234}{\code {/etc/services}} -\entry{netdb.h}{234}{\code {netdb.h}} +\entry{netinet/in.h}{231}{\code {netinet/in.h}} +\entry{arpa/inet.h}{232}{\code {arpa/inet.h}} +\entry{/etc/hosts}{233}{\code {/etc/hosts}} +\entry{netdb.h}{233}{\code {netdb.h}} \entry{netinet/in.h}{236}{\code {netinet/in.h}} -\entry{/etc/protocols}{237}{\code {/etc/protocols}} -\entry{netdb.h}{237}{\code {netdb.h}} -\entry{sys/socket.h}{240}{\code {sys/socket.h}} -\entry{sys/socket.h}{241}{\code {sys/socket.h}} -\entry{sys/socket.h}{241}{\code {sys/socket.h}} -\entry{sys/socket.h}{247}{\code {sys/socket.h}} -\entry{sys/socket.h}{248}{\code {sys/socket.h}} -\entry{sys/socket.h}{248}{\code {sys/socket.h}} -\entry{sys/socket.h}{256}{\code {sys/socket.h}} -\entry{sys/socket.h}{262}{\code {sys/socket.h}} -\entry{sys/socket.h}{263}{\code {sys/socket.h}} -\entry{/etc/networks}{265}{\code {/etc/networks}} -\entry{netdb.h}{265}{\code {netdb.h}} -\entry{unistd.h}{267}{\code {unistd.h}} -\entry{termios.h}{269}{\code {termios.h}} -\entry{math.h}{293}{\code {math.h}} -\entry{stdlib.h}{298}{\code {stdlib.h}} -\entry{stdlib.h}{299}{\code {stdlib.h}} -\entry{math.h}{301}{\code {math.h}} -\entry{math.h}{302}{\code {math.h}} -\entry{stdlib.h}{302}{\code {stdlib.h}} +\entry{/etc/services}{236}{\code {/etc/services}} +\entry{netdb.h}{236}{\code {netdb.h}} +\entry{netinet/in.h}{238}{\code {netinet/in.h}} +\entry{/etc/protocols}{239}{\code {/etc/protocols}} +\entry{netdb.h}{239}{\code {netdb.h}} +\entry{sys/socket.h}{242}{\code {sys/socket.h}} +\entry{sys/socket.h}{243}{\code {sys/socket.h}} +\entry{sys/socket.h}{243}{\code {sys/socket.h}} +\entry{sys/socket.h}{249}{\code {sys/socket.h}} +\entry{sys/socket.h}{250}{\code {sys/socket.h}} +\entry{sys/socket.h}{250}{\code {sys/socket.h}} +\entry{sys/socket.h}{258}{\code {sys/socket.h}} +\entry{sys/socket.h}{264}{\code {sys/socket.h}} +\entry{sys/socket.h}{265}{\code {sys/socket.h}} +\entry{/etc/networks}{267}{\code {/etc/networks}} +\entry{netdb.h}{267}{\code {netdb.h}} +\entry{unistd.h}{269}{\code {unistd.h}} +\entry{termios.h}{271}{\code {termios.h}} +\entry{math.h}{295}{\code {math.h}} +\entry{stdlib.h}{300}{\code {stdlib.h}} +\entry{stdlib.h}{301}{\code {stdlib.h}} \entry{math.h}{303}{\code {math.h}} \entry{math.h}{304}{\code {math.h}} -\entry{stdlib.h}{305}{\code {stdlib.h}} -\entry{stdlib.h}{306}{\code {stdlib.h}} -\entry{stdlib.h}{310}{\code {stdlib.h}} -\entry{stdlib.h}{313}{\code {stdlib.h}} -\entry{stdlib.h}{314}{\code {stdlib.h}} -\entry{fnmatch.h}{319}{\code {fnmatch.h}} -\entry{time.h}{335}{\code {time.h}} -\entry{sys/times.h}{336}{\code {sys/times.h}} -\entry{time.h}{338}{\code {time.h}} -\entry{sys/time.h}{338}{\code {sys/time.h}} -\entry{time.h}{343}{\code {time.h}} -\entry{time.h}{348}{\code {time.h}} -\entry{/etc/localtime}{350}{\code {/etc/localtime}} -\entry{localtime}{350}{\code {localtime}} -\entry{/share/lib/zoneinfo}{350}{\code {/share/lib/zoneinfo}} -\entry{zoneinfo}{350}{\code {zoneinfo}} -\entry{unistd.h}{353}{\code {unistd.h}} -\entry{sys/time.h}{353}{\code {sys/time.h}} -\entry{sys/resource.h}{356}{\code {sys/resource.h}} +\entry{stdlib.h}{304}{\code {stdlib.h}} +\entry{math.h}{305}{\code {math.h}} +\entry{math.h}{306}{\code {math.h}} +\entry{stdlib.h}{307}{\code {stdlib.h}} +\entry{stdlib.h}{308}{\code {stdlib.h}} +\entry{stdlib.h}{312}{\code {stdlib.h}} +\entry{stdlib.h}{315}{\code {stdlib.h}} +\entry{stdlib.h}{316}{\code {stdlib.h}} +\entry{fnmatch.h}{321}{\code {fnmatch.h}} +\entry{time.h}{337}{\code {time.h}} +\entry{sys/times.h}{338}{\code {sys/times.h}} +\entry{time.h}{340}{\code {time.h}} +\entry{sys/time.h}{340}{\code {sys/time.h}} +\entry{time.h}{345}{\code {time.h}} +\entry{time.h}{350}{\code {time.h}} +\entry{/etc/localtime}{352}{\code {/etc/localtime}} +\entry{localtime}{352}{\code {localtime}} +\entry{/share/lib/zoneinfo}{352}{\code {/share/lib/zoneinfo}} +\entry{zoneinfo}{352}{\code {zoneinfo}} +\entry{unistd.h}{355}{\code {unistd.h}} +\entry{sys/time.h}{355}{\code {sys/time.h}} \entry{sys/resource.h}{358}{\code {sys/resource.h}} \entry{sys/resource.h}{360}{\code {sys/resource.h}} -\entry{limits.h}{366}{\code {limits.h}} -\entry{stdlib.h}{366}{\code {stdlib.h}} -\entry{stddef.h}{367}{\code {stddef.h}} +\entry{sys/resource.h}{362}{\code {sys/resource.h}} +\entry{limits.h}{368}{\code {limits.h}} \entry{stdlib.h}{368}{\code {stdlib.h}} -\entry{stdlib.h}{369}{\code {stdlib.h}} +\entry{stddef.h}{369}{\code {stddef.h}} \entry{stdlib.h}{370}{\code {stdlib.h}} -\entry{locale.h}{377}{\code {locale.h}} +\entry{stdlib.h}{371}{\code {stdlib.h}} +\entry{stdlib.h}{372}{\code {stdlib.h}} \entry{locale.h}{379}{\code {locale.h}} -\entry{setjmp.h}{387}{\code {setjmp.h}} -\entry{setjmp.h}{388}{\code {setjmp.h}} -\entry{signal.h}{391}{\code {signal.h}} -\entry{kill}{395}{\code {kill}} -\entry{string.h}{401}{\code {string.h}} -\entry{stdio.h}{402}{\code {stdio.h}} -\entry{signal.h}{402}{\code {signal.h}} +\entry{locale.h}{381}{\code {locale.h}} +\entry{setjmp.h}{389}{\code {setjmp.h}} +\entry{setjmp.h}{390}{\code {setjmp.h}} +\entry{signal.h}{393}{\code {signal.h}} +\entry{kill}{397}{\code {kill}} +\entry{string.h}{403}{\code {string.h}} +\entry{stdio.h}{404}{\code {stdio.h}} \entry{signal.h}{404}{\code {signal.h}} -\entry{signal.h}{408}{\code {signal.h}} -\entry{signal.h}{422}{\code {signal.h}} +\entry{signal.h}{406}{\code {signal.h}} +\entry{signal.h}{410}{\code {signal.h}} \entry{signal.h}{424}{\code {signal.h}} -\entry{signal.h}{428}{\code {signal.h}} +\entry{signal.h}{426}{\code {signal.h}} \entry{signal.h}{430}{\code {signal.h}} -\entry{signal.h}{433}{\code {signal.h}} -\entry{signal.h}{441}{\code {signal.h}} -\entry{unistd.h}{445}{\code {unistd.h}} -\entry{stdlib.h}{455}{\code {stdlib.h}} -\entry{stdlib.h}{459}{\code {stdlib.h}} +\entry{signal.h}{432}{\code {signal.h}} +\entry{signal.h}{435}{\code {signal.h}} +\entry{signal.h}{443}{\code {signal.h}} +\entry{unistd.h}{447}{\code {unistd.h}} +\entry{stdlib.h}{457}{\code {stdlib.h}} \entry{stdlib.h}{461}{\code {stdlib.h}} -\entry{unistd.h}{461}{\code {unistd.h}} -\entry{sh}{463}{\code {sh}} \entry{stdlib.h}{463}{\code {stdlib.h}} -\entry{sys/types.h}{464}{\code {sys/types.h}} -\entry{unistd.h}{464}{\code {unistd.h}} -\entry{unistd.h}{465}{\code {unistd.h}} +\entry{unistd.h}{463}{\code {unistd.h}} +\entry{sh}{465}{\code {sh}} +\entry{stdlib.h}{465}{\code {stdlib.h}} +\entry{sys/types.h}{466}{\code {sys/types.h}} \entry{unistd.h}{466}{\code {unistd.h}} -\entry{sys/wait.h}{469}{\code {sys/wait.h}} -\entry{sys/wait.h}{472}{\code {sys/wait.h}} -\entry{sys/wait.h}{472}{\code {sys/wait.h}} -\entry{stdio.h}{493}{\code {stdio.h}} -\entry{unistd.h}{494}{\code {unistd.h}} -\entry{sys/types.h}{494}{\code {sys/types.h}} -\entry{-lbsd-compat}{494}{\code {-lbsd-compat}} -\entry{bsd-compat}{494}{\code {bsd-compat}} -\entry{unistd.h}{495}{\code {unistd.h}} -\entry{sys/types.h}{495}{\code {sys/types.h}} -\entry{unistd.h}{509}{\code {unistd.h}} -\entry{sys/types.h}{509}{\code {sys/types.h}} -\entry{unistd.h}{510}{\code {unistd.h}} -\entry{sys/types.h}{510}{\code {sys/types.h}} +\entry{unistd.h}{467}{\code {unistd.h}} +\entry{unistd.h}{468}{\code {unistd.h}} +\entry{sys/wait.h}{471}{\code {sys/wait.h}} +\entry{sys/wait.h}{474}{\code {sys/wait.h}} +\entry{sys/wait.h}{474}{\code {sys/wait.h}} +\entry{stdio.h}{495}{\code {stdio.h}} +\entry{unistd.h}{496}{\code {unistd.h}} +\entry{sys/types.h}{496}{\code {sys/types.h}} +\entry{-lbsd-compat}{496}{\code {-lbsd-compat}} +\entry{bsd-compat}{496}{\code {bsd-compat}} +\entry{unistd.h}{497}{\code {unistd.h}} +\entry{sys/types.h}{497}{\code {sys/types.h}} \entry{unistd.h}{511}{\code {unistd.h}} \entry{sys/types.h}{511}{\code {sys/types.h}} -\entry{grp.h}{512}{\code {grp.h}} -\entry{stdio.h}{516}{\code {stdio.h}} -\entry{unistd.h}{516}{\code {unistd.h}} -\entry{/etc/passwd}{517}{\code {/etc/passwd}} -\entry{pwd.h}{517}{\code {pwd.h}} -\entry{/etc/group}{521}{\code {/etc/group}} -\entry{grp.h}{521}{\code {grp.h}} -\entry{hostname}{529}{\code {hostname}} -\entry{hostid}{529}{\code {hostid}} -\entry{unistd.h}{529}{\code {unistd.h}} -\entry{sys/param.h}{529}{\code {sys/param.h}} -\entry{sys/utsname.h}{530}{\code {sys/utsname.h}} -\entry{limits.h}{533}{\code {limits.h}} -\entry{unistd.h}{534}{\code {unistd.h}} -\entry{limits.h}{541}{\code {limits.h}} -\entry{unistd.h}{542}{\code {unistd.h}} -\entry{unistd.h}{543}{\code {unistd.h}} -\entry{assert.h}{549}{\code {assert.h}} -\entry{stdarg.h}{552}{\code {stdarg.h}} -\entry{stdarg.h}{555}{\code {stdarg.h}} -\entry{varargs.h}{556}{\code {varargs.h}} -\entry{stddef.h}{558}{\code {stddef.h}} -\entry{limits.h}{559}{\code {limits.h}} -\entry{float.h}{562}{\code {float.h}} +\entry{unistd.h}{512}{\code {unistd.h}} +\entry{sys/types.h}{512}{\code {sys/types.h}} +\entry{unistd.h}{513}{\code {unistd.h}} +\entry{sys/types.h}{513}{\code {sys/types.h}} +\entry{grp.h}{514}{\code {grp.h}} +\entry{stdio.h}{518}{\code {stdio.h}} +\entry{unistd.h}{518}{\code {unistd.h}} +\entry{/etc/passwd}{519}{\code {/etc/passwd}} +\entry{pwd.h}{519}{\code {pwd.h}} +\entry{/etc/group}{523}{\code {/etc/group}} +\entry{grp.h}{523}{\code {grp.h}} +\entry{hostname}{531}{\code {hostname}} +\entry{hostid}{531}{\code {hostid}} +\entry{unistd.h}{531}{\code {unistd.h}} +\entry{sys/param.h}{531}{\code {sys/param.h}} +\entry{sys/utsname.h}{532}{\code {sys/utsname.h}} +\entry{limits.h}{535}{\code {limits.h}} +\entry{unistd.h}{536}{\code {unistd.h}} +\entry{limits.h}{543}{\code {limits.h}} +\entry{unistd.h}{544}{\code {unistd.h}} +\entry{unistd.h}{545}{\code {unistd.h}} +\entry{assert.h}{551}{\code {assert.h}} +\entry{stdarg.h}{554}{\code {stdarg.h}} +\entry{stdarg.h}{557}{\code {stdarg.h}} +\entry{varargs.h}{558}{\code {varargs.h}} +\entry{stddef.h}{560}{\code {stddef.h}} +\entry{limits.h}{561}{\code {limits.h}} +\entry{float.h}{564}{\code {float.h}} diff -durpN glibc-2.0.2/manual/libc.pgs glibc-2.0.3/manual/libc.pgs --- glibc-2.0.2/manual/libc.pgs Tue Mar 18 22:30:15 1997 +++ glibc-2.0.3/manual/libc.pgs Sun Apr 20 18:25:21 1997 @@ -1,85 +1,84 @@ \initial {-} -\entry {\code {-lbsd-compat}}{9, 494} +\entry {\code {-lbsd-compat}}{9, 496} \initial {/} -\entry {\code {/etc/group}}{521} -\entry {\code {/etc/hosts}}{231} -\entry {\code {/etc/localtime}}{350} -\entry {\code {/etc/networks}}{265} -\entry {\code {/etc/passwd}}{517} -\entry {\code {/etc/protocols}}{237} -\entry {\code {/etc/services}}{234} -\entry {\code {/share/lib/zoneinfo}}{350} +\entry {\code {/etc/group}}{523} +\entry {\code {/etc/hosts}}{233} +\entry {\code {/etc/localtime}}{352} +\entry {\code {/etc/networks}}{267} +\entry {\code {/etc/passwd}}{519} +\entry {\code {/etc/protocols}}{239} +\entry {\code {/etc/services}}{236} +\entry {\code {/share/lib/zoneinfo}}{352} \initial {A} -\entry {\code {arpa/inet.h}}{230} -\entry {\code {assert.h}}{549} +\entry {\code {arpa/inet.h}}{232} +\entry {\code {assert.h}}{551} \initial {B} -\entry {\code {bsd-compat}}{9, 494} +\entry {\code {bsd-compat}}{9, 496} \initial {C} -\entry {\code {cd}}{179} -\entry {\code {chgrp}}{199} -\entry {\code {chown}}{199} -\entry {\code {ctype.h}}{59, 61} +\entry {\code {cd}}{181} +\entry {\code {chgrp}}{201} +\entry {\code {chown}}{201} +\entry {\code {ctype.h}}{61, 63} \initial {D} -\entry {\code {dirent.h}}{7, 181, 182, 183, 185} +\entry {\code {dirent.h}}{7, 183, 184, 185, 187} \initial {E} \entry {\code {errno.h}}{15, 16} \initial {F} -\entry {\code {fcntl.h}}{8, 149, 163, 164, 166, 168, 174, 177} -\entry {\code {float.h}}{562} -\entry {\code {fnmatch.h}}{319} +\entry {\code {fcntl.h}}{8, 151, 165, 166, 168, 170, 176, 179} +\entry {\code {float.h}}{564} +\entry {\code {fnmatch.h}}{321} \initial {G} \entry {\code {gcc}}{2} -\entry {\code {grp.h}}{8, 512, 521} +\entry {\code {grp.h}}{8, 514, 523} \initial {H} -\entry {\code {hostid}}{529} -\entry {\code {hostname}}{529} +\entry {\code {hostid}}{531} +\entry {\code {hostname}}{531} \initial {K} -\entry {\code {kill}}{395} +\entry {\code {kill}}{397} \initial {L} -\entry {\code {limits.h}}{8, 366, 533, 541, 559} -\entry {\code {locale.h}}{377, 379} -\entry {\code {localtime}}{350} -\entry {\code {ls}}{193} +\entry {\code {limits.h}}{8, 368, 535, 543, 561} +\entry {\code {locale.h}}{379, 381} +\entry {\code {localtime}}{352} +\entry {\code {ls}}{195} \initial {M} -\entry {\code {malloc.c}}{58} -\entry {\code {malloc.h}}{38, 39, 40, 57} -\entry {\code {math.h}}{293, 301, 302, 303, 304} -\entry {\code {mkdir}}{192} +\entry {\code {malloc.h}}{38, 40, 41, 58} +\entry {\code {math.h}}{295, 303, 304, 305, 306} +\entry {\code {mkdir}}{194} \initial {N} -\entry {\code {netdb.h}}{231, 234, 237, 265} -\entry {\code {netinet/in.h}}{227, 229, 234, 236} +\entry {\code {netdb.h}}{233, 236, 239, 267} +\entry {\code {netinet/in.h}}{229, 231, 236, 238} \initial {O} -\entry {\code {obstack.h}}{42} +\entry {\code {obstack.h}}{43} \initial {P} -\entry {\code {printf.h}}{119, 120} -\entry {\code {pwd.h}}{8, 517} +\entry {\code {printf.h}}{121, 122} +\entry {\code {pwd.h}}{8, 519} \initial {S} -\entry {\code {setjmp.h}}{387, 388} -\entry {\code {sh}}{463} -\entry {\code {signal.h}}{8, 391, 402, 404, 408, 422, 424, 428, 430, 433, 441} -\entry {\code {stdarg.h}}{552, 555} -\entry {\code {stddef.h}}{367, 558} -\entry {\code {stdio.h}}{91, 92, 95, 96, 102, 111, 114, 132, 133, 135, 137, 139, 142, 145, 157, 191, 209, 402, 493, 516} -\entry {\code {stdlib.h}}{32, 34, 35, 36, 37, 54, 298, 299, 302, 305, 306, 310, 313, 314, 366, 368, 369, 370, 455, 459, 461, 463} -\entry {\code {string.h}}{65, 71, 73, 76, 78, 401} -\entry {\code {sys/param.h}}{529} -\entry {\code {sys/resource.h}}{356, 358, 360} -\entry {\code {sys/socket.h}}{220, 222, 223, 224, 225, 227, 240, 241, 247, 248, 256, 262, 263} -\entry {\code {sys/stat.h}}{8, 193, 194, 197, 200, 203, 208, 217} -\entry {\code {sys/time.h}}{207, 338, 353} -\entry {\code {sys/times.h}}{8, 336} -\entry {\code {sys/types.h}}{160, 464, 494, 495, 509, 510, 511} -\entry {\code {sys/un.h}}{225} -\entry {\code {sys/utsname.h}}{530} -\entry {\code {sys/wait.h}}{469, 472} +\entry {\code {setjmp.h}}{389, 390} +\entry {\code {sh}}{465} +\entry {\code {signal.h}}{8, 393, 404, 406, 410, 424, 426, 430, 432, 435, 443} +\entry {\code {stdarg.h}}{554, 557} +\entry {\code {stddef.h}}{369, 560} +\entry {\code {stdio.h}}{93, 94, 97, 98, 104, 113, 116, 134, 135, 137, 139, 141, 144, 147, 159, 193, 211, 404, 495, 518} +\entry {\code {stdlib.h}}{32, 34, 35, 36, 37, 55, 300, 301, 304, 307, 308, 312, 315, 316, 368, 370, 371, 372, 457, 461, 463, 465} +\entry {\code {string.h}}{67, 73, 75, 78, 80, 403} +\entry {\code {sys/param.h}}{531} +\entry {\code {sys/resource.h}}{358, 360, 362} +\entry {\code {sys/socket.h}}{222, 224, 225, 226, 227, 229, 242, 243, 249, 250, 258, 264, 265} +\entry {\code {sys/stat.h}}{8, 195, 196, 199, 202, 205, 210, 219} +\entry {\code {sys/time.h}}{209, 340, 355} +\entry {\code {sys/times.h}}{8, 338} +\entry {\code {sys/types.h}}{162, 466, 496, 497, 511, 512, 513} +\entry {\code {sys/un.h}}{227} +\entry {\code {sys/utsname.h}}{532} +\entry {\code {sys/wait.h}}{471, 474} \initial {T} -\entry {\code {termios.h}}{8, 269} -\entry {\code {time.h}}{206, 335, 338, 343, 348} +\entry {\code {termios.h}}{8, 271} +\entry {\code {time.h}}{208, 337, 340, 345, 350} \initial {U} -\entry {\code {umask}}{203} -\entry {\code {unistd.h}}{149, 151, 157, 164, 179, 187, 189, 190, 191, 199, 205, 213, 267, 353, 445, 461, 464, 465, 466, 494, 495, 509, 510, 511, 516, 529, 534, 542, 543} -\entry {\code {utime.h}}{206} +\entry {\code {umask}}{205} +\entry {\code {unistd.h}}{151, 153, 159, 166, 181, 189, 191, 192, 193, 201, 207, 215, 269, 355, 447, 463, 466, 467, 468, 496, 497, 511, 512, 513, 518, 531, 536, 544, 545} +\entry {\code {utime.h}}{208} \initial {V} -\entry {\code {varargs.h}}{556} +\entry {\code {varargs.h}}{558} \initial {Z} -\entry {\code {zoneinfo}}{350} +\entry {\code {zoneinfo}}{352} diff -durpN glibc-2.0.2/manual/libc.texinfo glibc-2.0.3/manual/libc.texinfo --- glibc-2.0.2/manual/libc.texinfo Thu Dec 19 20:32:47 1996 +++ glibc-2.0.3/manual/libc.texinfo Thu Apr 17 16:27:01 1997 @@ -210,7 +210,6 @@ Memory Allocation calling function returns. * Relocating Allocator:: Waste less memory, if you can tolerate automatic relocation of the blocks you get. -* Memory Warnings:: Getting warnings when memory is nearly full. Unconstrained Allocation diff -durpN glibc-2.0.2/manual/libc.tp glibc-2.0.3/manual/libc.tp --- glibc-2.0.2/manual/libc.tp Tue Mar 18 22:31:15 1997 +++ glibc-2.0.3/manual/libc.tp Sun Apr 20 18:26:20 1997 @@ -1,77 +1,77 @@ -\entry{enum mcheck{\_}status}{38}{\code {enum mcheck_status}} -\entry{struct mstats}{40}{\code {struct mstats}} -\entry{struct obstack}{42}{\code {struct obstack}} -\entry{FILE}{91}{\code {FILE}} -\entry{struct printf{\_}info}{120}{\code {struct printf_info}} -\entry{printf{\_}function}{122}{\code {printf_function}} -\entry{printf{\_}arginfo{\_}function}{122}{\code {printf_arginfo_function}} -\entry{fpos{\_}t}{137}{\code {fpos_t}} -\entry{cookie{\_}io{\_}functions{\_}t}{145}{\code {cookie_io_functions_t}} -\entry{cookie{\_}read{\_}function}{147}{\code {cookie_read_function}} -\entry{cookie{\_}write{\_}function}{147}{\code {cookie_write_function}} -\entry{cookie{\_}seek{\_}function}{147}{\code {cookie_seek_function}} -\entry{cookie{\_}close{\_}function}{147}{\code {cookie_close_function}} -\entry{ssize{\_}t}{151}{\code {ssize_t}} -\entry{off{\_}t}{156}{\code {off_t}} -\entry{fd{\_}set}{160}{\code {fd_set}} -\entry{struct flock}{174}{\code {struct flock}} -\entry{struct dirent}{181}{\code {struct dirent}} -\entry{DIR}{182}{\code {DIR}} -\entry{struct stat}{194}{\code {struct stat}} -\entry{mode{\_}t}{195}{\code {mode_t}} -\entry{ino{\_}t}{196}{\code {ino_t}} -\entry{dev{\_}t}{196}{\code {dev_t}} -\entry{nlink{\_}t}{196}{\code {nlink_t}} -\entry{struct utimbuf}{206}{\code {struct utimbuf}} -\entry{struct sockaddr}{222}{\code {struct sockaddr}} -\entry{struct sockaddr{\_}un}{225}{\code {struct sockaddr_un}} -\entry{struct sockaddr{\_}in}{227}{\code {struct sockaddr_in}} -\entry{struct in{\_}addr}{229}{\code {struct in_addr}} -\entry{struct hostent}{231}{\code {struct hostent}} -\entry{struct servent}{234}{\code {struct servent}} -\entry{struct protoent}{237}{\code {struct protoent}} -\entry{struct linger}{264}{\code {struct linger}} -\entry{struct netent}{265}{\code {struct netent}} -\entry{struct termios}{269}{\code {struct termios}} -\entry{tcflag{\_}t}{270}{\code {tcflag_t}} -\entry{cc{\_}t}{270}{\code {cc_t}} -\entry{speed{\_}t}{282}{\code {speed_t}} -\entry{div{\_}t}{305}{\code {div_t}} -\entry{ldiv{\_}t}{306}{\code {ldiv_t}} -\entry{comparison{\_}fn{\_}t}{313}{\code {comparison_fn_t}} -\entry{glob{\_}t}{320}{\code {glob_t}} -\entry{regex{\_}t}{324}{\code {regex_t}} -\entry{regmatch{\_}t}{327}{\code {regmatch_t}} -\entry{regoff{\_}t}{327}{\code {regoff_t}} -\entry{wordexp{\_}t}{331}{\code {wordexp_t}} -\entry{clock{\_}t}{336}{\code {clock_t}} -\entry{struct tms}{336}{\code {struct tms}} -\entry{time{\_}t}{338}{\code {time_t}} -\entry{struct timeval}{338}{\code {struct timeval}} -\entry{struct timezone}{339}{\code {struct timezone}} -\entry{struct tm}{341}{\code {struct tm}} -\entry{struct itimerval}{353}{\code {struct itimerval}} -\entry{struct rusage}{356}{\code {struct rusage}} -\entry{struct rlimit}{358}{\code {struct rlimit}} -\entry{wchar{\_}t}{367}{\code {wchar_t}} -\entry{struct lconv}{380}{\code {struct lconv}} -\entry{jmp{\_}buf}{387}{\code {jmp_buf}} -\entry{sigjmp{\_}buf}{388}{\code {sigjmp_buf}} -\entry{sighandler{\_}t}{402}{\code {sighandler_t}} -\entry{struct sigaction}{404}{\code {struct sigaction}} -\entry{sig{\_}atomic{\_}t}{420}{\code {sig_atomic_t}} -\entry{sigset{\_}t}{428}{\code {sigset_t}} -\entry{struct sigaltstack}{438}{\code {struct sigaltstack}} -\entry{struct sigstack}{440}{\code {struct sigstack}} -\entry{struct sigvec}{441}{\code {struct sigvec}} -\entry{struct option}{448}{\code {struct option}} -\entry{pid{\_}t}{464}{\code {pid_t}} -\entry{union wait}{472}{\code {union wait}} -\entry{uid{\_}t}{509}{\code {uid_t}} -\entry{gid{\_}t}{509}{\code {gid_t}} -\entry{struct passwd}{517}{\code {struct passwd}} -\entry{struct group}{521}{\code {struct group}} -\entry{struct utsname}{530}{\code {struct utsname}} -\entry{va{\_}list}{555}{\code {va_list}} -\entry{ptrdiff{\_}t}{558}{\code {ptrdiff_t}} -\entry{size{\_}t}{558}{\code {size_t}} +\entry{enum mcheck{\_}status}{39}{\code {enum mcheck_status}} +\entry{struct mallinfo}{41}{\code {struct mallinfo}} +\entry{struct obstack}{43}{\code {struct obstack}} +\entry{FILE}{93}{\code {FILE}} +\entry{struct printf{\_}info}{122}{\code {struct printf_info}} +\entry{printf{\_}function}{124}{\code {printf_function}} +\entry{printf{\_}arginfo{\_}function}{124}{\code {printf_arginfo_function}} +\entry{fpos{\_}t}{139}{\code {fpos_t}} +\entry{cookie{\_}io{\_}functions{\_}t}{147}{\code {cookie_io_functions_t}} +\entry{cookie{\_}read{\_}function}{149}{\code {cookie_read_function}} +\entry{cookie{\_}write{\_}function}{149}{\code {cookie_write_function}} +\entry{cookie{\_}seek{\_}function}{149}{\code {cookie_seek_function}} +\entry{cookie{\_}close{\_}function}{149}{\code {cookie_close_function}} +\entry{ssize{\_}t}{153}{\code {ssize_t}} +\entry{off{\_}t}{158}{\code {off_t}} +\entry{fd{\_}set}{162}{\code {fd_set}} +\entry{struct flock}{176}{\code {struct flock}} +\entry{struct dirent}{183}{\code {struct dirent}} +\entry{DIR}{184}{\code {DIR}} +\entry{struct stat}{196}{\code {struct stat}} +\entry{mode{\_}t}{197}{\code {mode_t}} +\entry{ino{\_}t}{198}{\code {ino_t}} +\entry{dev{\_}t}{198}{\code {dev_t}} +\entry{nlink{\_}t}{198}{\code {nlink_t}} +\entry{struct utimbuf}{208}{\code {struct utimbuf}} +\entry{struct sockaddr}{224}{\code {struct sockaddr}} +\entry{struct sockaddr{\_}un}{227}{\code {struct sockaddr_un}} +\entry{struct sockaddr{\_}in}{229}{\code {struct sockaddr_in}} +\entry{struct in{\_}addr}{231}{\code {struct in_addr}} +\entry{struct hostent}{233}{\code {struct hostent}} +\entry{struct servent}{236}{\code {struct servent}} +\entry{struct protoent}{239}{\code {struct protoent}} +\entry{struct linger}{266}{\code {struct linger}} +\entry{struct netent}{267}{\code {struct netent}} +\entry{struct termios}{271}{\code {struct termios}} +\entry{tcflag{\_}t}{272}{\code {tcflag_t}} +\entry{cc{\_}t}{272}{\code {cc_t}} +\entry{speed{\_}t}{284}{\code {speed_t}} +\entry{div{\_}t}{307}{\code {div_t}} +\entry{ldiv{\_}t}{308}{\code {ldiv_t}} +\entry{comparison{\_}fn{\_}t}{315}{\code {comparison_fn_t}} +\entry{glob{\_}t}{322}{\code {glob_t}} +\entry{regex{\_}t}{326}{\code {regex_t}} +\entry{regmatch{\_}t}{329}{\code {regmatch_t}} +\entry{regoff{\_}t}{329}{\code {regoff_t}} +\entry{wordexp{\_}t}{333}{\code {wordexp_t}} +\entry{clock{\_}t}{338}{\code {clock_t}} +\entry{struct tms}{338}{\code {struct tms}} +\entry{time{\_}t}{340}{\code {time_t}} +\entry{struct timeval}{340}{\code {struct timeval}} +\entry{struct timezone}{341}{\code {struct timezone}} +\entry{struct tm}{343}{\code {struct tm}} +\entry{struct itimerval}{355}{\code {struct itimerval}} +\entry{struct rusage}{358}{\code {struct rusage}} +\entry{struct rlimit}{360}{\code {struct rlimit}} +\entry{wchar{\_}t}{369}{\code {wchar_t}} +\entry{struct lconv}{382}{\code {struct lconv}} +\entry{jmp{\_}buf}{389}{\code {jmp_buf}} +\entry{sigjmp{\_}buf}{390}{\code {sigjmp_buf}} +\entry{sighandler{\_}t}{404}{\code {sighandler_t}} +\entry{struct sigaction}{406}{\code {struct sigaction}} +\entry{sig{\_}atomic{\_}t}{422}{\code {sig_atomic_t}} +\entry{sigset{\_}t}{430}{\code {sigset_t}} +\entry{struct sigaltstack}{440}{\code {struct sigaltstack}} +\entry{struct sigstack}{442}{\code {struct sigstack}} +\entry{struct sigvec}{443}{\code {struct sigvec}} +\entry{struct option}{450}{\code {struct option}} +\entry{pid{\_}t}{466}{\code {pid_t}} +\entry{union wait}{474}{\code {union wait}} +\entry{uid{\_}t}{511}{\code {uid_t}} +\entry{gid{\_}t}{511}{\code {gid_t}} +\entry{struct passwd}{519}{\code {struct passwd}} +\entry{struct group}{523}{\code {struct group}} +\entry{struct utsname}{532}{\code {struct utsname}} +\entry{va{\_}list}{557}{\code {va_list}} +\entry{ptrdiff{\_}t}{560}{\code {ptrdiff_t}} +\entry{size{\_}t}{560}{\code {size_t}} diff -durpN glibc-2.0.2/manual/libc.tps glibc-2.0.3/manual/libc.tps --- glibc-2.0.2/manual/libc.tps Tue Mar 18 22:30:15 1997 +++ glibc-2.0.3/manual/libc.tps Sun Apr 20 18:25:21 1997 @@ -1,95 +1,95 @@ \initial {C} -\entry {\code {cc_t}}{270} -\entry {\code {clock_t}}{336} -\entry {\code {comparison_fn_t}}{313} -\entry {\code {cookie_close_function}}{147} -\entry {\code {cookie_io_functions_t}}{145} -\entry {\code {cookie_read_function}}{147} -\entry {\code {cookie_seek_function}}{147} -\entry {\code {cookie_write_function}}{147} +\entry {\code {cc_t}}{272} +\entry {\code {clock_t}}{338} +\entry {\code {comparison_fn_t}}{315} +\entry {\code {cookie_close_function}}{149} +\entry {\code {cookie_io_functions_t}}{147} +\entry {\code {cookie_read_function}}{149} +\entry {\code {cookie_seek_function}}{149} +\entry {\code {cookie_write_function}}{149} \initial {D} -\entry {\code {dev_t}}{196} -\entry {\code {DIR}}{182} -\entry {\code {div_t}}{305} +\entry {\code {dev_t}}{198} +\entry {\code {DIR}}{184} +\entry {\code {div_t}}{307} \initial {E} -\entry {\code {enum mcheck_status}}{38} +\entry {\code {enum mcheck_status}}{39} \initial {F} -\entry {\code {fd_set}}{160} -\entry {\code {FILE}}{91} -\entry {\code {fpos_t}}{137} +\entry {\code {fd_set}}{162} +\entry {\code {FILE}}{93} +\entry {\code {fpos_t}}{139} \initial {G} -\entry {\code {gid_t}}{509} -\entry {\code {glob_t}}{320} +\entry {\code {gid_t}}{511} +\entry {\code {glob_t}}{322} \initial {I} -\entry {\code {ino_t}}{196} +\entry {\code {ino_t}}{198} \initial {J} -\entry {\code {jmp_buf}}{387} +\entry {\code {jmp_buf}}{389} \initial {L} -\entry {\code {ldiv_t}}{306} +\entry {\code {ldiv_t}}{308} \initial {M} -\entry {\code {mode_t}}{195} +\entry {\code {mode_t}}{197} \initial {N} -\entry {\code {nlink_t}}{196} +\entry {\code {nlink_t}}{198} \initial {O} -\entry {\code {off_t}}{156} +\entry {\code {off_t}}{158} \initial {P} -\entry {\code {pid_t}}{464} -\entry {\code {printf_arginfo_function}}{122} -\entry {\code {printf_function}}{122} -\entry {\code {ptrdiff_t}}{558} +\entry {\code {pid_t}}{466} +\entry {\code {printf_arginfo_function}}{124} +\entry {\code {printf_function}}{124} +\entry {\code {ptrdiff_t}}{560} \initial {R} -\entry {\code {regex_t}}{324} -\entry {\code {regmatch_t}}{327} -\entry {\code {regoff_t}}{327} +\entry {\code {regex_t}}{326} +\entry {\code {regmatch_t}}{329} +\entry {\code {regoff_t}}{329} \initial {S} -\entry {\code {sig_atomic_t}}{420} -\entry {\code {sighandler_t}}{402} -\entry {\code {sigjmp_buf}}{388} -\entry {\code {sigset_t}}{428} -\entry {\code {size_t}}{558} -\entry {\code {speed_t}}{282} -\entry {\code {ssize_t}}{151} -\entry {\code {struct dirent}}{181} -\entry {\code {struct flock}}{174} -\entry {\code {struct group}}{521} -\entry {\code {struct hostent}}{231} -\entry {\code {struct in_addr}}{229} -\entry {\code {struct itimerval}}{353} -\entry {\code {struct lconv}}{380} -\entry {\code {struct linger}}{264} -\entry {\code {struct mstats}}{40} -\entry {\code {struct netent}}{265} -\entry {\code {struct obstack}}{42} -\entry {\code {struct option}}{448} -\entry {\code {struct passwd}}{517} -\entry {\code {struct printf_info}}{120} -\entry {\code {struct protoent}}{237} -\entry {\code {struct rlimit}}{358} -\entry {\code {struct rusage}}{356} -\entry {\code {struct servent}}{234} -\entry {\code {struct sigaction}}{404} -\entry {\code {struct sigaltstack}}{438} -\entry {\code {struct sigstack}}{440} -\entry {\code {struct sigvec}}{441} -\entry {\code {struct sockaddr}}{222} -\entry {\code {struct sockaddr_in}}{227} -\entry {\code {struct sockaddr_un}}{225} -\entry {\code {struct stat}}{194} -\entry {\code {struct termios}}{269} -\entry {\code {struct timeval}}{338} -\entry {\code {struct timezone}}{339} -\entry {\code {struct tm}}{341} -\entry {\code {struct tms}}{336} -\entry {\code {struct utimbuf}}{206} -\entry {\code {struct utsname}}{530} +\entry {\code {sig_atomic_t}}{422} +\entry {\code {sighandler_t}}{404} +\entry {\code {sigjmp_buf}}{390} +\entry {\code {sigset_t}}{430} +\entry {\code {size_t}}{560} +\entry {\code {speed_t}}{284} +\entry {\code {ssize_t}}{153} +\entry {\code {struct dirent}}{183} +\entry {\code {struct flock}}{176} +\entry {\code {struct group}}{523} +\entry {\code {struct hostent}}{233} +\entry {\code {struct in_addr}}{231} +\entry {\code {struct itimerval}}{355} +\entry {\code {struct lconv}}{382} +\entry {\code {struct linger}}{266} +\entry {\code {struct mallinfo}}{41} +\entry {\code {struct netent}}{267} +\entry {\code {struct obstack}}{43} +\entry {\code {struct option}}{450} +\entry {\code {struct passwd}}{519} +\entry {\code {struct printf_info}}{122} +\entry {\code {struct protoent}}{239} +\entry {\code {struct rlimit}}{360} +\entry {\code {struct rusage}}{358} +\entry {\code {struct servent}}{236} +\entry {\code {struct sigaction}}{406} +\entry {\code {struct sigaltstack}}{440} +\entry {\code {struct sigstack}}{442} +\entry {\code {struct sigvec}}{443} +\entry {\code {struct sockaddr}}{224} +\entry {\code {struct sockaddr_in}}{229} +\entry {\code {struct sockaddr_un}}{227} +\entry {\code {struct stat}}{196} +\entry {\code {struct termios}}{271} +\entry {\code {struct timeval}}{340} +\entry {\code {struct timezone}}{341} +\entry {\code {struct tm}}{343} +\entry {\code {struct tms}}{338} +\entry {\code {struct utimbuf}}{208} +\entry {\code {struct utsname}}{532} \initial {T} -\entry {\code {tcflag_t}}{270} -\entry {\code {time_t}}{338} +\entry {\code {tcflag_t}}{272} +\entry {\code {time_t}}{340} \initial {U} -\entry {\code {uid_t}}{509} -\entry {\code {union wait}}{472} +\entry {\code {uid_t}}{511} +\entry {\code {union wait}}{474} \initial {V} -\entry {\code {va_list}}{555} +\entry {\code {va_list}}{557} \initial {W} -\entry {\code {wchar_t}}{367} -\entry {\code {wordexp_t}}{331} +\entry {\code {wchar_t}}{369} +\entry {\code {wordexp_t}}{333} diff -durpN glibc-2.0.2/manual/libc.vr glibc-2.0.3/manual/libc.vr --- glibc-2.0.2/manual/libc.vr Tue Mar 18 22:31:15 1997 +++ glibc-2.0.3/manual/libc.vr Sun Apr 20 18:26:20 1997 @@ -144,413 +144,417 @@ \entry{ENAVAIL}{27}{\code {ENAVAIL}} \entry{EISNAM}{27}{\code {EISNAM}} \entry{EREMOTEIO}{27}{\code {EREMOTEIO}} +\entry{ENOMEDIUM}{27}{\code {ENOMEDIUM}} +\entry{EMEDIUMTYPE}{27}{\code {EMEDIUMTYPE}} \entry{program{\_}invocation{\_}name}{28}{\code {program_invocation_name}} \entry{program{\_}invocation{\_}short{\_}name}{28}{\code {program_invocation_short_name}} -\entry{{\_}{\_}malloc{\_}hook}{39}{\code {__malloc_hook}} -\entry{{\_}{\_}realloc{\_}hook}{39}{\code {__realloc_hook}} -\entry{{\_}{\_}free{\_}hook}{39}{\code {__free_hook}} -\entry{stdin}{91}{\code {stdin}} -\entry{stdout}{91}{\code {stdout}} -\entry{stderr}{92}{\code {stderr}} -\entry{FOPEN{\_}MAX}{94}{\code {FOPEN_MAX}} -\entry{PA{\_}FLAG{\_}MASK}{116}{\code {PA_FLAG_MASK}} -\entry{PA{\_}INT}{116}{\code {PA_INT}} -\entry{PA{\_}CHAR}{116}{\code {PA_CHAR}} -\entry{PA{\_}STRING}{116}{\code {PA_STRING}} -\entry{PA{\_}POINTER}{116}{\code {PA_POINTER}} -\entry{PA{\_}FLOAT}{116}{\code {PA_FLOAT}} -\entry{PA{\_}DOUBLE}{117}{\code {PA_DOUBLE}} -\entry{PA{\_}LAST}{117}{\code {PA_LAST}} -\entry{PA{\_}FLAG{\_}PTR}{117}{\code {PA_FLAG_PTR}} -\entry{PA{\_}FLAG{\_}SHORT}{117}{\code {PA_FLAG_SHORT}} -\entry{PA{\_}FLAG{\_}LONG}{117}{\code {PA_FLAG_LONG}} -\entry{PA{\_}FLAG{\_}LONG{\_}LONG}{117}{\code {PA_FLAG_LONG_LONG}} -\entry{PA{\_}FLAG{\_}LONG{\_}DOUBLE}{117}{\code {PA_FLAG_LONG_DOUBLE}} -\entry{EOF}{133}{\code {EOF}} -\entry{SEEK{\_}SET}{136}{\code {SEEK_SET}} -\entry{SEEK{\_}CUR}{136}{\code {SEEK_CUR}} -\entry{SEEK{\_}END}{136}{\code {SEEK_END}} -\entry{L{\_}SET}{136}{\code {L_SET}} -\entry{L{\_}INCR}{136}{\code {L_INCR}} -\entry{L{\_}XTND}{136}{\code {L_XTND}} -\entry{{\_}IOFBF}{140}{\code {_IOFBF}} -\entry{{\_}IOLBF}{140}{\code {_IOLBF}} -\entry{{\_}IONBF}{140}{\code {_IONBF}} -\entry{BUFSIZ}{140}{\code {BUFSIZ}} -\entry{STDIN{\_}FILENO}{157}{\code {STDIN_FILENO}} -\entry{STDOUT{\_}FILENO}{158}{\code {STDOUT_FILENO}} -\entry{STDERR{\_}FILENO}{158}{\code {STDERR_FILENO}} -\entry{FD{\_}SETSIZE}{161}{\code {FD_SETSIZE}} -\entry{F{\_}DUPFD}{165}{\code {F_DUPFD}} -\entry{F{\_}GETFD}{166}{\code {F_GETFD}} -\entry{F{\_}SETFD}{167}{\code {F_SETFD}} -\entry{FD{\_}CLOEXEC}{167}{\code {FD_CLOEXEC}} -\entry{O{\_}RDONLY}{168}{\code {O_RDONLY}} -\entry{O{\_}WRONLY}{168}{\code {O_WRONLY}} -\entry{O{\_}RDWR}{168}{\code {O_RDWR}} -\entry{O{\_}READ}{169}{\code {O_READ}} -\entry{O{\_}WRITE}{169}{\code {O_WRITE}} -\entry{O{\_}EXEC}{169}{\code {O_EXEC}} -\entry{O{\_}ACCMODE}{169}{\code {O_ACCMODE}} -\entry{O{\_}CREAT}{169}{\code {O_CREAT}} -\entry{O{\_}EXCL}{169}{\code {O_EXCL}} -\entry{O{\_}NONBLOCK}{169}{\code {O_NONBLOCK}} -\entry{O{\_}NOCTTY}{170}{\code {O_NOCTTY}} -\entry{O{\_}IGNORE{\_}CTTY}{170}{\code {O_IGNORE_CTTY}} -\entry{O{\_}NOLINK}{170}{\code {O_NOLINK}} -\entry{O{\_}NOTRANS}{170}{\code {O_NOTRANS}} -\entry{O{\_}TRUNC}{170}{\code {O_TRUNC}} -\entry{O{\_}SHLOCK}{171}{\code {O_SHLOCK}} -\entry{O{\_}EXLOCK}{171}{\code {O_EXLOCK}} -\entry{O{\_}APPEND}{171}{\code {O_APPEND}} +\entry{{\_}{\_}malloc{\_}hook}{40}{\code {__malloc_hook}} +\entry{{\_}{\_}realloc{\_}hook}{40}{\code {__realloc_hook}} +\entry{{\_}{\_}free{\_}hook}{40}{\code {__free_hook}} +\entry{stdin}{93}{\code {stdin}} +\entry{stdout}{93}{\code {stdout}} +\entry{stderr}{94}{\code {stderr}} +\entry{FOPEN{\_}MAX}{96}{\code {FOPEN_MAX}} +\entry{PA{\_}FLAG{\_}MASK}{118}{\code {PA_FLAG_MASK}} +\entry{PA{\_}INT}{118}{\code {PA_INT}} +\entry{PA{\_}CHAR}{118}{\code {PA_CHAR}} +\entry{PA{\_}STRING}{118}{\code {PA_STRING}} +\entry{PA{\_}POINTER}{118}{\code {PA_POINTER}} +\entry{PA{\_}FLOAT}{118}{\code {PA_FLOAT}} +\entry{PA{\_}DOUBLE}{119}{\code {PA_DOUBLE}} +\entry{PA{\_}LAST}{119}{\code {PA_LAST}} +\entry{PA{\_}FLAG{\_}PTR}{119}{\code {PA_FLAG_PTR}} +\entry{PA{\_}FLAG{\_}SHORT}{119}{\code {PA_FLAG_SHORT}} +\entry{PA{\_}FLAG{\_}LONG}{119}{\code {PA_FLAG_LONG}} +\entry{PA{\_}FLAG{\_}LONG{\_}LONG}{119}{\code {PA_FLAG_LONG_LONG}} +\entry{PA{\_}FLAG{\_}LONG{\_}DOUBLE}{119}{\code {PA_FLAG_LONG_DOUBLE}} +\entry{EOF}{135}{\code {EOF}} +\entry{SEEK{\_}SET}{138}{\code {SEEK_SET}} +\entry{SEEK{\_}CUR}{138}{\code {SEEK_CUR}} +\entry{SEEK{\_}END}{138}{\code {SEEK_END}} +\entry{L{\_}SET}{138}{\code {L_SET}} +\entry{L{\_}INCR}{138}{\code {L_INCR}} +\entry{L{\_}XTND}{138}{\code {L_XTND}} +\entry{{\_}IOFBF}{142}{\code {_IOFBF}} +\entry{{\_}IOLBF}{142}{\code {_IOLBF}} +\entry{{\_}IONBF}{142}{\code {_IONBF}} +\entry{BUFSIZ}{142}{\code {BUFSIZ}} +\entry{STDIN{\_}FILENO}{159}{\code {STDIN_FILENO}} +\entry{STDOUT{\_}FILENO}{160}{\code {STDOUT_FILENO}} +\entry{STDERR{\_}FILENO}{160}{\code {STDERR_FILENO}} +\entry{FD{\_}SETSIZE}{163}{\code {FD_SETSIZE}} +\entry{F{\_}DUPFD}{167}{\code {F_DUPFD}} +\entry{F{\_}GETFD}{168}{\code {F_GETFD}} +\entry{F{\_}SETFD}{169}{\code {F_SETFD}} +\entry{FD{\_}CLOEXEC}{169}{\code {FD_CLOEXEC}} +\entry{O{\_}RDONLY}{170}{\code {O_RDONLY}} +\entry{O{\_}WRONLY}{170}{\code {O_WRONLY}} +\entry{O{\_}RDWR}{170}{\code {O_RDWR}} +\entry{O{\_}READ}{171}{\code {O_READ}} +\entry{O{\_}WRITE}{171}{\code {O_WRITE}} +\entry{O{\_}EXEC}{171}{\code {O_EXEC}} +\entry{O{\_}ACCMODE}{171}{\code {O_ACCMODE}} +\entry{O{\_}CREAT}{171}{\code {O_CREAT}} +\entry{O{\_}EXCL}{171}{\code {O_EXCL}} \entry{O{\_}NONBLOCK}{171}{\code {O_NONBLOCK}} -\entry{O{\_}NDELAY}{171}{\code {O_NDELAY}} -\entry{O{\_}ASYNC}{172}{\code {O_ASYNC}} -\entry{O{\_}FSYNC}{172}{\code {O_FSYNC}} -\entry{O{\_}SYNC}{172}{\code {O_SYNC}} -\entry{O{\_}NOATIME}{172}{\code {O_NOATIME}} -\entry{F{\_}GETFL}{172}{\code {F_GETFL}} -\entry{F{\_}SETFL}{173}{\code {F_SETFL}} -\entry{F{\_}GETLK}{175}{\code {F_GETLK}} -\entry{F{\_}SETLK}{175}{\code {F_SETLK}} -\entry{F{\_}SETLKW}{176}{\code {F_SETLKW}} -\entry{F{\_}RDLCK}{176}{\code {F_RDLCK}} -\entry{F{\_}WRLCK}{177}{\code {F_WRLCK}} -\entry{F{\_}UNLCK}{177}{\code {F_UNLCK}} -\entry{F{\_}GETOWN}{177}{\code {F_GETOWN}} -\entry{F{\_}SETOWN}{178}{\code {F_SETOWN}} -\entry{S{\_}IFMT}{198}{\code {S_IFMT}} -\entry{S{\_}IFDIR}{198}{\code {S_IFDIR}} -\entry{S{\_}IFCHR}{198}{\code {S_IFCHR}} -\entry{S{\_}IFBLK}{198}{\code {S_IFBLK}} -\entry{S{\_}IFREG}{198}{\code {S_IFREG}} -\entry{S{\_}IFLNK}{198}{\code {S_IFLNK}} -\entry{S{\_}IFSOCK}{198}{\code {S_IFSOCK}} -\entry{S{\_}IFIFO}{198}{\code {S_IFIFO}} -\entry{S{\_}IRUSR}{200}{\code {S_IRUSR}} -\entry{S{\_}IREAD}{200}{\code {S_IREAD}} -\entry{S{\_}IWUSR}{200}{\code {S_IWUSR}} -\entry{S{\_}IWRITE}{200}{\code {S_IWRITE}} -\entry{S{\_}IXUSR}{200}{\code {S_IXUSR}} -\entry{S{\_}IEXEC}{200}{\code {S_IEXEC}} -\entry{S{\_}IRWXU}{200}{\code {S_IRWXU}} -\entry{S{\_}IRGRP}{200}{\code {S_IRGRP}} -\entry{S{\_}IWGRP}{200}{\code {S_IWGRP}} -\entry{S{\_}IXGRP}{200}{\code {S_IXGRP}} -\entry{S{\_}IRWXG}{200}{\code {S_IRWXG}} -\entry{S{\_}IROTH}{200}{\code {S_IROTH}} -\entry{S{\_}IWOTH}{200}{\code {S_IWOTH}} -\entry{S{\_}IXOTH}{200}{\code {S_IXOTH}} -\entry{S{\_}IRWXO}{200}{\code {S_IRWXO}} -\entry{S{\_}ISUID}{201}{\code {S_ISUID}} -\entry{S{\_}ISGID}{201}{\code {S_ISGID}} -\entry{S{\_}ISVTX}{201}{\code {S_ISVTX}} -\entry{R{\_}OK}{205}{\code {R_OK}} -\entry{W{\_}OK}{205}{\code {W_OK}} -\entry{X{\_}OK}{206}{\code {X_OK}} -\entry{F{\_}OK}{206}{\code {F_OK}} -\entry{L{\_}tmpnam}{209}{\code {L_tmpnam}} -\entry{TMP{\_}MAX}{209}{\code {TMP_MAX}} -\entry{P{\_}tmpdir}{210}{\code {P_tmpdir}} -\entry{SOCK{\_}STREAM}{220}{\code {SOCK_STREAM}} -\entry{SOCK{\_}DGRAM}{220}{\code {SOCK_DGRAM}} -\entry{SOCK{\_}RAW}{221}{\code {SOCK_RAW}} -\entry{AF{\_}FILE}{222}{\code {AF_FILE}} -\entry{AF{\_}UNIX}{222}{\code {AF_UNIX}} -\entry{AF{\_}INET}{222}{\code {AF_INET}} -\entry{AF{\_}UNSPEC}{222}{\code {AF_UNSPEC}} -\entry{PF{\_}FILE}{225}{\code {PF_FILE}} -\entry{PF{\_}UNIX}{225}{\code {PF_UNIX}} -\entry{PF{\_}INET}{227}{\code {PF_INET}} -\entry{INADDR{\_}LOOPBACK}{230}{\code {INADDR_LOOPBACK}} -\entry{INADDR{\_}ANY}{230}{\code {INADDR_ANY}} -\entry{INADDR{\_}BROADCAST}{230}{\code {INADDR_BROADCAST}} -\entry{INADDR{\_}NONE}{230}{\code {INADDR_NONE}} -\entry{h{\_}errno}{232}{\code {h_errno}} -\entry{HOST{\_}NOT{\_}FOUND}{233}{\code {HOST_NOT_FOUND}} -\entry{TRY{\_}AGAIN}{233}{\code {TRY_AGAIN}} -\entry{NO{\_}RECOVERY}{233}{\code {NO_RECOVERY}} -\entry{NO{\_}ADDRESS}{233}{\code {NO_ADDRESS}} -\entry{IPPORT{\_}RESERVED}{234}{\code {IPPORT_RESERVED}} -\entry{IPPORT{\_}USERRESERVED}{234}{\code {IPPORT_USERRESERVED}} -\entry{PF{\_}NS}{239}{\code {PF_NS}} -\entry{PF{\_}ISO}{239}{\code {PF_ISO}} -\entry{PF{\_}CCITT}{239}{\code {PF_CCITT}} -\entry{PF{\_}IMPLINK}{239}{\code {PF_IMPLINK}} -\entry{PF{\_}ROUTE}{239}{\code {PF_ROUTE}} -\entry{MSG{\_}OOB}{248}{\code {MSG_OOB}} -\entry{MSG{\_}PEEK}{248}{\code {MSG_PEEK}} -\entry{MSG{\_}DONTROUTE}{248}{\code {MSG_DONTROUTE}} -\entry{SOL{\_}SOCKET}{263}{\code {SOL_SOCKET}} -\entry{NCCS}{270}{\code {NCCS}} -\entry{TCSANOW}{270}{\code {TCSANOW}} -\entry{TCSADRAIN}{270}{\code {TCSADRAIN}} -\entry{TCSAFLUSH}{271}{\code {TCSAFLUSH}} -\entry{TCSASOFT}{271}{\code {TCSASOFT}} -\entry{INPCK}{273}{\code {INPCK}} -\entry{IGNPAR}{273}{\code {IGNPAR}} -\entry{PARMRK}{273}{\code {PARMRK}} -\entry{ISTRIP}{273}{\code {ISTRIP}} -\entry{IGNBRK}{274}{\code {IGNBRK}} -\entry{BRKINT}{274}{\code {BRKINT}} -\entry{IGNCR}{274}{\code {IGNCR}} -\entry{ICRNL}{274}{\code {ICRNL}} -\entry{INLCR}{274}{\code {INLCR}} -\entry{IXOFF}{274}{\code {IXOFF}} -\entry{IXON}{274}{\code {IXON}} -\entry{IXANY}{274}{\code {IXANY}} -\entry{IMAXBEL}{275}{\code {IMAXBEL}} -\entry{OPOST}{275}{\code {OPOST}} -\entry{ONLCR}{275}{\code {ONLCR}} -\entry{OXTABS}{275}{\code {OXTABS}} -\entry{ONOEOT}{275}{\code {ONOEOT}} -\entry{CLOCAL}{276}{\code {CLOCAL}} -\entry{HUPCL}{276}{\code {HUPCL}} -\entry{CREAD}{276}{\code {CREAD}} -\entry{CSTOPB}{276}{\code {CSTOPB}} -\entry{PARENB}{276}{\code {PARENB}} -\entry{PARODD}{277}{\code {PARODD}} -\entry{CSIZE}{277}{\code {CSIZE}} -\entry{CS5}{277}{\code {CS5}} -\entry{CS6}{277}{\code {CS6}} -\entry{CS7}{277}{\code {CS7}} -\entry{CS8}{277}{\code {CS8}} -\entry{CCTS{\_}OFLOW}{277}{\code {CCTS_OFLOW}} -\entry{CRTS{\_}IFLOW}{277}{\code {CRTS_IFLOW}} -\entry{MDMBUF}{277}{\code {MDMBUF}} -\entry{CIGNORE}{277}{\code {CIGNORE}} -\entry{ICANON}{278}{\code {ICANON}} -\entry{ECHO}{278}{\code {ECHO}} -\entry{ECHOE}{278}{\code {ECHOE}} -\entry{ECHOPRT}{278}{\code {ECHOPRT}} -\entry{ECHOK}{278}{\code {ECHOK}} -\entry{ECHOKE}{279}{\code {ECHOKE}} -\entry{ECHONL}{279}{\code {ECHONL}} -\entry{ECHOCTL}{279}{\code {ECHOCTL}} -\entry{ISIG}{279}{\code {ISIG}} -\entry{IEXTEN}{279}{\code {IEXTEN}} -\entry{NOFLSH}{280}{\code {NOFLSH}} -\entry{TOSTOP}{280}{\code {TOSTOP}} -\entry{ALTWERASE}{280}{\code {ALTWERASE}} -\entry{FLUSHO}{280}{\code {FLUSHO}} -\entry{NOKERNINFO}{280}{\code {NOKERNINFO}} -\entry{PENDIN}{280}{\code {PENDIN}} -\entry{B0}{282}{\code {B0}} -\entry{B50}{282}{\code {B50}} -\entry{B75}{282}{\code {B75}} -\entry{B110}{282}{\code {B110}} -\entry{B134}{282}{\code {B134}} -\entry{B150}{282}{\code {B150}} -\entry{B200}{282}{\code {B200}} -\entry{B300}{282}{\code {B300}} -\entry{B600}{282}{\code {B600}} -\entry{B1200}{282}{\code {B1200}} -\entry{B1800}{282}{\code {B1800}} -\entry{B2400}{282}{\code {B2400}} -\entry{B4800}{282}{\code {B4800}} -\entry{B9600}{282}{\code {B9600}} -\entry{B19200}{282}{\code {B19200}} -\entry{B38400}{282}{\code {B38400}} -\entry{EXTA}{282}{\code {EXTA}} -\entry{EXTB}{282}{\code {EXTB}} -\entry{{\_}POSIX{\_}VDISABLE}{282}{\code {_POSIX_VDISABLE}} -\entry{VEOF}{283}{\code {VEOF}} -\entry{VEOL}{283}{\code {VEOL}} -\entry{VEOL2}{283}{\code {VEOL2}} -\entry{VERASE}{283}{\code {VERASE}} -\entry{VWERASE}{284}{\code {VWERASE}} -\entry{VKILL}{284}{\code {VKILL}} -\entry{VREPRINT}{284}{\code {VREPRINT}} -\entry{VINTR}{284}{\code {VINTR}} -\entry{VQUIT}{285}{\code {VQUIT}} -\entry{VSUSP}{285}{\code {VSUSP}} -\entry{VDSUSP}{285}{\code {VDSUSP}} -\entry{VSTART}{286}{\code {VSTART}} -\entry{VSTOP}{286}{\code {VSTOP}} -\entry{VLNEXT}{286}{\code {VLNEXT}} -\entry{VDISCARD}{287}{\code {VDISCARD}} -\entry{VSTATUS}{287}{\code {VSTATUS}} -\entry{VMIN}{287}{\code {VMIN}} -\entry{VTIME}{287}{\code {VTIME}} -\entry{TCIFLUSH}{290}{\code {TCIFLUSH}} -\entry{TCOFLUSH}{290}{\code {TCOFLUSH}} -\entry{TCIOFLUSH}{290}{\code {TCIOFLUSH}} -\entry{TCOOFF}{290}{\code {TCOOFF}} -\entry{TCOON}{290}{\code {TCOON}} -\entry{TCIOFF}{290}{\code {TCIOFF}} -\entry{TCION}{290}{\code {TCION}} -\entry{EBADF}{291}{\code {EBADF}} -\entry{ENOTTY}{291}{\code {ENOTTY}} -\entry{EINVAL}{291}{\code {EINVAL}} -\entry{HUGE{\_}VAL}{294}{\code {HUGE_VAL}} -\entry{HUGE{\_}VALf}{294}{\code {HUGE_VALf}} -\entry{HUGE{\_}VALl}{294}{\code {HUGE_VALl}} -\entry{RAND{\_}MAX}{298}{\code {RAND_MAX}} -\entry{NAN}{301}{\code {NAN}} -\entry{CLOCKS{\_}PER{\_}SEC}{336}{\code {CLOCKS_PER_SEC}} -\entry{CLK{\_}TCK}{336}{\code {CLK_TCK}} -\entry{tzname}{350}{\code {tzname}} -\entry{timezone}{351}{\code {timezone}} -\entry{daylight}{351}{\code {daylight}} -\entry{RLIMIT{\_}CPU}{358}{\code {RLIMIT_CPU}} -\entry{RLIMIT{\_}FSIZE}{359}{\code {RLIMIT_FSIZE}} -\entry{RLIMIT{\_}DATA}{359}{\code {RLIMIT_DATA}} -\entry{RLIMIT{\_}STACK}{359}{\code {RLIMIT_STACK}} -\entry{RLIMIT{\_}CORE}{359}{\code {RLIMIT_CORE}} -\entry{RLIMIT{\_}RSS}{359}{\code {RLIMIT_RSS}} -\entry{RLIMIT{\_}NOFILE}{359}{\code {RLIMIT_NOFILE}} -\entry{RLIMIT{\_}OFILE}{359}{\code {RLIMIT_OFILE}} -\entry{RLIM{\_}NLIMITS}{359}{\code {RLIM_NLIMITS}} -\entry{int}{359}{\code {int}} -\entry{PRIO{\_}MIN}{360}{\code {PRIO_MIN}} -\entry{PRIO{\_}MAX}{360}{\code {PRIO_MAX}} -\entry{PRIO{\_}PROCESS}{361}{\code {PRIO_PROCESS}} -\entry{PRIO{\_}PGRP}{361}{\code {PRIO_PGRP}} -\entry{PRIO{\_}USER}{361}{\code {PRIO_USER}} -\entry{MB{\_}LEN{\_}MAX}{366}{\code {MB_LEN_MAX}} -\entry{MB{\_}CUR{\_}MAX}{366}{\code {MB_CUR_MAX}} -\entry{LC{\_}COLLATE}{376}{\code {LC_COLLATE}} -\entry{LC{\_}CTYPE}{376}{\code {LC_CTYPE}} -\entry{LC{\_}MONETARY}{377}{\code {LC_MONETARY}} -\entry{LC{\_}NUMERIC}{377}{\code {LC_NUMERIC}} -\entry{LC{\_}TIME}{377}{\code {LC_TIME}} -\entry{LC{\_}MESSAGES}{377}{\code {LC_MESSAGES}} -\entry{LC{\_}ALL}{377}{\code {LC_ALL}} -\entry{LANG}{377}{\code {LANG}} -\entry{NSIG}{392}{\code {NSIG}} -\entry{COREFILE}{392}{\code {COREFILE}} -\entry{SIGFPE}{392}{\code {SIGFPE}} -\entry{FPE{\_}INTOVF{\_}TRAP}{393}{\code {FPE_INTOVF_TRAP}} -\entry{FPE{\_}INTDIV{\_}TRAP}{393}{\code {FPE_INTDIV_TRAP}} -\entry{FPE{\_}SUBRNG{\_}TRAP}{393}{\code {FPE_SUBRNG_TRAP}} -\entry{FPE{\_}FLTOVF{\_}TRAP}{393}{\code {FPE_FLTOVF_TRAP}} -\entry{FPE{\_}FLTDIV{\_}TRAP}{393}{\code {FPE_FLTDIV_TRAP}} -\entry{FPE{\_}FLTUND{\_}TRAP}{393}{\code {FPE_FLTUND_TRAP}} -\entry{FPE{\_}DECOVF{\_}TRAP}{393}{\code {FPE_DECOVF_TRAP}} -\entry{SIGILL}{394}{\code {SIGILL}} -\entry{SIGSEGV}{394}{\code {SIGSEGV}} -\entry{SIGBUS}{394}{\code {SIGBUS}} -\entry{SIGABRT}{394}{\code {SIGABRT}} -\entry{SIGIOT}{394}{\code {SIGIOT}} -\entry{SIGTRAP}{395}{\code {SIGTRAP}} -\entry{SIGEMT}{395}{\code {SIGEMT}} -\entry{SIGSYS}{395}{\code {SIGSYS}} -\entry{SIGTERM}{395}{\code {SIGTERM}} -\entry{SIGINT}{395}{\code {SIGINT}} -\entry{SIGQUIT}{396}{\code {SIGQUIT}} -\entry{SIGKILL}{396}{\code {SIGKILL}} -\entry{SIGHUP}{396}{\code {SIGHUP}} -\entry{SIGALRM}{397}{\code {SIGALRM}} -\entry{SIGVTALRM}{397}{\code {SIGVTALRM}} -\entry{SIGPROF}{397}{\code {SIGPROF}} -\entry{SIGIO}{397}{\code {SIGIO}} -\entry{SIGURG}{397}{\code {SIGURG}} -\entry{SIGPOLL}{398}{\code {SIGPOLL}} -\entry{SIGCHLD}{398}{\code {SIGCHLD}} -\entry{SIGCLD}{398}{\code {SIGCLD}} -\entry{SIGCONT}{398}{\code {SIGCONT}} -\entry{SIGSTOP}{398}{\code {SIGSTOP}} -\entry{SIGTSTP}{398}{\code {SIGTSTP}} -\entry{SIGTTIN}{399}{\code {SIGTTIN}} -\entry{SIGTTOU}{399}{\code {SIGTTOU}} -\entry{SIGPIPE}{400}{\code {SIGPIPE}} -\entry{SIGLOST}{400}{\code {SIGLOST}} -\entry{SIGXCPU}{400}{\code {SIGXCPU}} -\entry{SIGXFSZ}{400}{\code {SIGXFSZ}} -\entry{SIGUSR1}{400}{\code {SIGUSR1}} -\entry{SIGUSR2}{400}{\code {SIGUSR2}} -\entry{SIGWINCH}{401}{\code {SIGWINCH}} -\entry{SIGINFO}{401}{\code {SIGINFO}} -\entry{sys{\_}siglist}{402}{\code {sys_siglist}} -\entry{SIG{\_}DFL}{403}{\code {SIG_DFL}} -\entry{SIG{\_}IGN}{403}{\code {SIG_IGN}} -\entry{SIG{\_}ERR}{404}{\code {SIG_ERR}} -\entry{SA{\_}NOCLDSTOP}{408}{\code {SA_NOCLDSTOP}} -\entry{SA{\_}ONSTACK}{408}{\code {SA_ONSTACK}} -\entry{SA{\_}RESTART}{408}{\code {SA_RESTART}} -\entry{SIG{\_}BLOCK}{430}{\code {SIG_BLOCK}} -\entry{SIG{\_}UNBLOCK}{430}{\code {SIG_UNBLOCK}} -\entry{SIG{\_}SETMASK}{430}{\code {SIG_SETMASK}} -\entry{SIGSTKSZ}{438}{\code {SIGSTKSZ}} -\entry{MINSIGSTKSZ}{438}{\code {MINSIGSTKSZ}} -\entry{SA{\_}DISABLE}{438}{\code {SA_DISABLE}} -\entry{SA{\_}ONSTACK}{438}{\code {SA_ONSTACK}} -\entry{SIGSTKSZ}{439}{\code {SIGSTKSZ}} -\entry{MINSIGSTKSZ}{439}{\code {MINSIGSTKSZ}} -\entry{SA{\_}DISABLE}{439}{\code {SA_DISABLE}} -\entry{SA{\_}ONSTACK}{439}{\code {SA_ONSTACK}} -\entry{SV{\_}ONSTACK}{441}{\code {SV_ONSTACK}} -\entry{SV{\_}INTERRUPT}{441}{\code {SV_INTERRUPT}} -\entry{SV{\_}RESETHAND}{442}{\code {SV_RESETHAND}} -\entry{opterr}{445}{\code {opterr}} -\entry{optopt}{445}{\code {optopt}} -\entry{optind}{445}{\code {optind}} -\entry{optarg}{445}{\code {optarg}} -\entry{environ}{456}{\code {environ}} -\entry{EXIT{\_}SUCCESS}{459}{\code {EXIT_SUCCESS}} -\entry{EXIT{\_}FAILURE}{459}{\code {EXIT_FAILURE}} -\entry{L{\_}ctermid}{494}{\code {L_ctermid}} -\entry{ethers}{497}{\code {ethers}} -\entry{group}{497}{\code {group}} -\entry{hosts}{497}{\code {hosts}} -\entry{netgroup}{497}{\code {netgroup}} -\entry{network}{497}{\code {network}} -\entry{protocols}{497}{\code {protocols}} -\entry{passwd}{497}{\code {passwd}} -\entry{rpc}{497}{\code {rpc}} -\entry{services}{497}{\code {services}} -\entry{shadow}{497}{\code {shadow}} -\entry{ethers}{497}{\code {ethers}} -\entry{group}{497}{\code {group}} -\entry{hosts}{497}{\code {hosts}} -\entry{netgroup}{497}{\code {netgroup}} -\entry{network}{497}{\code {network}} -\entry{protocols}{498}{\code {protocols}} -\entry{passwd}{498}{\code {passwd}} -\entry{rpc}{498}{\code {rpc}} -\entry{services}{498}{\code {services}} -\entry{shadow}{498}{\code {shadow}} -\entry{NSS{\_}STATUS{\_}TRYAGAIN}{502}{\code {NSS_STATUS_TRYAGAIN}} -\entry{NSS{\_}STATUS{\_}UNAVAIL}{502}{\code {NSS_STATUS_UNAVAIL}} -\entry{NSS{\_}STATUS{\_}NOTFOUND}{502}{\code {NSS_STATUS_NOTFOUND}} -\entry{NSS{\_}STATUS{\_}SUCCESS}{502}{\code {NSS_STATUS_SUCCESS}} -\entry{L{\_}cuserid}{517}{\code {L_cuserid}} -\entry{ARG{\_}MAX}{533}{\code {ARG_MAX}} -\entry{CHILD{\_}MAX}{533}{\code {CHILD_MAX}} -\entry{OPEN{\_}MAX}{533}{\code {OPEN_MAX}} -\entry{STREAM{\_}MAX}{533}{\code {STREAM_MAX}} -\entry{TZNAME{\_}MAX}{534}{\code {TZNAME_MAX}} -\entry{NGROUPS{\_}MAX}{534}{\code {NGROUPS_MAX}} -\entry{SSIZE{\_}MAX}{534}{\code {SSIZE_MAX}} -\entry{RE{\_}DUP{\_}MAX}{534}{\code {RE_DUP_MAX}} -\entry{{\_}POSIX{\_}JOB{\_}CONTROL}{535}{\code {_POSIX_JOB_CONTROL}} -\entry{{\_}POSIX{\_}SAVED{\_}IDS}{535}{\code {_POSIX_SAVED_IDS}} -\entry{{\_}POSIX2{\_}C{\_}DEV}{535}{\code {_POSIX2_C_DEV}} -\entry{{\_}POSIX2{\_}FORT{\_}DEV}{535}{\code {_POSIX2_FORT_DEV}} -\entry{{\_}POSIX2{\_}FORT{\_}RUN}{535}{\code {_POSIX2_FORT_RUN}} -\entry{{\_}POSIX2{\_}LOCALEDEF}{535}{\code {_POSIX2_LOCALEDEF}} -\entry{{\_}POSIX2{\_}SW{\_}DEV}{536}{\code {_POSIX2_SW_DEV}} -\entry{{\_}POSIX{\_}VERSION}{536}{\code {_POSIX_VERSION}} -\entry{{\_}POSIX2{\_}C{\_}VERSION}{536}{\code {_POSIX2_C_VERSION}} -\entry{LINK{\_}MAX}{541}{\code {LINK_MAX}} -\entry{MAX{\_}CANON}{541}{\code {MAX_CANON}} -\entry{MAX{\_}INPUT}{541}{\code {MAX_INPUT}} -\entry{NAME{\_}MAX}{541}{\code {NAME_MAX}} -\entry{PATH{\_}MAX}{542}{\code {PATH_MAX}} -\entry{PIPE{\_}BUF}{542}{\code {PIPE_BUF}} -\entry{MAXNAMLEN}{542}{\code {MAXNAMLEN}} -\entry{FILENAME{\_}MAX}{542}{\code {FILENAME_MAX}} -\entry{{\_}POSIX{\_}CHOWN{\_}RESTRICTED}{543}{\code {_POSIX_CHOWN_RESTRICTED}} -\entry{{\_}POSIX{\_}NO{\_}TRUNC}{543}{\code {_POSIX_NO_TRUNC}} -\entry{{\_}POSIX{\_}VDISABLE}{543}{\code {_POSIX_VDISABLE}} -\entry{BC{\_}BASE{\_}MAX}{545}{\code {BC_BASE_MAX}} -\entry{BC{\_}SCALE{\_}MAX}{545}{\code {BC_SCALE_MAX}} -\entry{BC{\_}DIM{\_}MAX}{546}{\code {BC_DIM_MAX}} -\entry{BC{\_}STRING{\_}MAX}{546}{\code {BC_STRING_MAX}} -\entry{BC{\_}DIM{\_}MAX}{546}{\code {BC_DIM_MAX}} -\entry{COLL{\_}WEIGHTS{\_}MAX}{546}{\code {COLL_WEIGHTS_MAX}} -\entry{EXPR{\_}NEST{\_}MAX}{546}{\code {EXPR_NEST_MAX}} -\entry{LINE{\_}MAX}{546}{\code {LINE_MAX}} -\entry{EQUIV{\_}CLASS{\_}MAX}{546}{\code {EQUIV_CLASS_MAX}} -\entry{NDEBUG}{549}{\code {NDEBUG}} -\entry{NULL}{557}{\code {NULL}} +\entry{O{\_}NOCTTY}{172}{\code {O_NOCTTY}} +\entry{O{\_}IGNORE{\_}CTTY}{172}{\code {O_IGNORE_CTTY}} +\entry{O{\_}NOLINK}{172}{\code {O_NOLINK}} +\entry{O{\_}NOTRANS}{172}{\code {O_NOTRANS}} +\entry{O{\_}TRUNC}{172}{\code {O_TRUNC}} +\entry{O{\_}SHLOCK}{173}{\code {O_SHLOCK}} +\entry{O{\_}EXLOCK}{173}{\code {O_EXLOCK}} +\entry{O{\_}APPEND}{173}{\code {O_APPEND}} +\entry{O{\_}NONBLOCK}{173}{\code {O_NONBLOCK}} +\entry{O{\_}NDELAY}{173}{\code {O_NDELAY}} +\entry{O{\_}ASYNC}{174}{\code {O_ASYNC}} +\entry{O{\_}FSYNC}{174}{\code {O_FSYNC}} +\entry{O{\_}SYNC}{174}{\code {O_SYNC}} +\entry{O{\_}NOATIME}{174}{\code {O_NOATIME}} +\entry{F{\_}GETFL}{174}{\code {F_GETFL}} +\entry{F{\_}SETFL}{175}{\code {F_SETFL}} +\entry{F{\_}GETLK}{177}{\code {F_GETLK}} +\entry{F{\_}SETLK}{177}{\code {F_SETLK}} +\entry{F{\_}SETLKW}{178}{\code {F_SETLKW}} +\entry{F{\_}RDLCK}{178}{\code {F_RDLCK}} +\entry{F{\_}WRLCK}{179}{\code {F_WRLCK}} +\entry{F{\_}UNLCK}{179}{\code {F_UNLCK}} +\entry{F{\_}GETOWN}{179}{\code {F_GETOWN}} +\entry{F{\_}SETOWN}{180}{\code {F_SETOWN}} +\entry{S{\_}IFMT}{200}{\code {S_IFMT}} +\entry{S{\_}IFDIR}{200}{\code {S_IFDIR}} +\entry{S{\_}IFCHR}{200}{\code {S_IFCHR}} +\entry{S{\_}IFBLK}{200}{\code {S_IFBLK}} +\entry{S{\_}IFREG}{200}{\code {S_IFREG}} +\entry{S{\_}IFLNK}{200}{\code {S_IFLNK}} +\entry{S{\_}IFSOCK}{200}{\code {S_IFSOCK}} +\entry{S{\_}IFIFO}{200}{\code {S_IFIFO}} +\entry{S{\_}IRUSR}{202}{\code {S_IRUSR}} +\entry{S{\_}IREAD}{202}{\code {S_IREAD}} +\entry{S{\_}IWUSR}{202}{\code {S_IWUSR}} +\entry{S{\_}IWRITE}{202}{\code {S_IWRITE}} +\entry{S{\_}IXUSR}{202}{\code {S_IXUSR}} +\entry{S{\_}IEXEC}{202}{\code {S_IEXEC}} +\entry{S{\_}IRWXU}{202}{\code {S_IRWXU}} +\entry{S{\_}IRGRP}{202}{\code {S_IRGRP}} +\entry{S{\_}IWGRP}{202}{\code {S_IWGRP}} +\entry{S{\_}IXGRP}{202}{\code {S_IXGRP}} +\entry{S{\_}IRWXG}{202}{\code {S_IRWXG}} +\entry{S{\_}IROTH}{202}{\code {S_IROTH}} +\entry{S{\_}IWOTH}{202}{\code {S_IWOTH}} +\entry{S{\_}IXOTH}{202}{\code {S_IXOTH}} +\entry{S{\_}IRWXO}{202}{\code {S_IRWXO}} +\entry{S{\_}ISUID}{203}{\code {S_ISUID}} +\entry{S{\_}ISGID}{203}{\code {S_ISGID}} +\entry{S{\_}ISVTX}{203}{\code {S_ISVTX}} +\entry{R{\_}OK}{207}{\code {R_OK}} +\entry{W{\_}OK}{207}{\code {W_OK}} +\entry{X{\_}OK}{208}{\code {X_OK}} +\entry{F{\_}OK}{208}{\code {F_OK}} +\entry{L{\_}tmpnam}{211}{\code {L_tmpnam}} +\entry{TMP{\_}MAX}{211}{\code {TMP_MAX}} +\entry{P{\_}tmpdir}{212}{\code {P_tmpdir}} +\entry{SOCK{\_}STREAM}{222}{\code {SOCK_STREAM}} +\entry{SOCK{\_}DGRAM}{222}{\code {SOCK_DGRAM}} +\entry{SOCK{\_}RAW}{223}{\code {SOCK_RAW}} +\entry{AF{\_}FILE}{224}{\code {AF_FILE}} +\entry{AF{\_}UNIX}{224}{\code {AF_UNIX}} +\entry{AF{\_}INET}{224}{\code {AF_INET}} +\entry{AF{\_}UNSPEC}{224}{\code {AF_UNSPEC}} +\entry{PF{\_}FILE}{227}{\code {PF_FILE}} +\entry{PF{\_}UNIX}{227}{\code {PF_UNIX}} +\entry{PF{\_}INET}{229}{\code {PF_INET}} +\entry{INADDR{\_}LOOPBACK}{232}{\code {INADDR_LOOPBACK}} +\entry{INADDR{\_}ANY}{232}{\code {INADDR_ANY}} +\entry{INADDR{\_}BROADCAST}{232}{\code {INADDR_BROADCAST}} +\entry{INADDR{\_}NONE}{232}{\code {INADDR_NONE}} +\entry{h{\_}errno}{234}{\code {h_errno}} +\entry{HOST{\_}NOT{\_}FOUND}{235}{\code {HOST_NOT_FOUND}} +\entry{TRY{\_}AGAIN}{235}{\code {TRY_AGAIN}} +\entry{NO{\_}RECOVERY}{235}{\code {NO_RECOVERY}} +\entry{NO{\_}ADDRESS}{235}{\code {NO_ADDRESS}} +\entry{IPPORT{\_}RESERVED}{236}{\code {IPPORT_RESERVED}} +\entry{IPPORT{\_}USERRESERVED}{236}{\code {IPPORT_USERRESERVED}} +\entry{PF{\_}NS}{241}{\code {PF_NS}} +\entry{PF{\_}ISO}{241}{\code {PF_ISO}} +\entry{PF{\_}CCITT}{241}{\code {PF_CCITT}} +\entry{PF{\_}IMPLINK}{241}{\code {PF_IMPLINK}} +\entry{PF{\_}ROUTE}{241}{\code {PF_ROUTE}} +\entry{MSG{\_}OOB}{250}{\code {MSG_OOB}} +\entry{MSG{\_}PEEK}{250}{\code {MSG_PEEK}} +\entry{MSG{\_}DONTROUTE}{250}{\code {MSG_DONTROUTE}} +\entry{SOL{\_}SOCKET}{265}{\code {SOL_SOCKET}} +\entry{NCCS}{272}{\code {NCCS}} +\entry{TCSANOW}{272}{\code {TCSANOW}} +\entry{TCSADRAIN}{272}{\code {TCSADRAIN}} +\entry{TCSAFLUSH}{273}{\code {TCSAFLUSH}} +\entry{TCSASOFT}{273}{\code {TCSASOFT}} +\entry{INPCK}{275}{\code {INPCK}} +\entry{IGNPAR}{275}{\code {IGNPAR}} +\entry{PARMRK}{275}{\code {PARMRK}} +\entry{ISTRIP}{275}{\code {ISTRIP}} +\entry{IGNBRK}{276}{\code {IGNBRK}} +\entry{BRKINT}{276}{\code {BRKINT}} +\entry{IGNCR}{276}{\code {IGNCR}} +\entry{ICRNL}{276}{\code {ICRNL}} +\entry{INLCR}{276}{\code {INLCR}} +\entry{IXOFF}{276}{\code {IXOFF}} +\entry{IXON}{276}{\code {IXON}} +\entry{IXANY}{276}{\code {IXANY}} +\entry{IMAXBEL}{277}{\code {IMAXBEL}} +\entry{OPOST}{277}{\code {OPOST}} +\entry{ONLCR}{277}{\code {ONLCR}} +\entry{OXTABS}{277}{\code {OXTABS}} +\entry{ONOEOT}{277}{\code {ONOEOT}} +\entry{CLOCAL}{278}{\code {CLOCAL}} +\entry{HUPCL}{278}{\code {HUPCL}} +\entry{CREAD}{278}{\code {CREAD}} +\entry{CSTOPB}{278}{\code {CSTOPB}} +\entry{PARENB}{278}{\code {PARENB}} +\entry{PARODD}{279}{\code {PARODD}} +\entry{CSIZE}{279}{\code {CSIZE}} +\entry{CS5}{279}{\code {CS5}} +\entry{CS6}{279}{\code {CS6}} +\entry{CS7}{279}{\code {CS7}} +\entry{CS8}{279}{\code {CS8}} +\entry{CCTS{\_}OFLOW}{279}{\code {CCTS_OFLOW}} +\entry{CRTS{\_}IFLOW}{279}{\code {CRTS_IFLOW}} +\entry{MDMBUF}{279}{\code {MDMBUF}} +\entry{CIGNORE}{279}{\code {CIGNORE}} +\entry{ICANON}{280}{\code {ICANON}} +\entry{ECHO}{280}{\code {ECHO}} +\entry{ECHOE}{280}{\code {ECHOE}} +\entry{ECHOPRT}{280}{\code {ECHOPRT}} +\entry{ECHOK}{280}{\code {ECHOK}} +\entry{ECHOKE}{281}{\code {ECHOKE}} +\entry{ECHONL}{281}{\code {ECHONL}} +\entry{ECHOCTL}{281}{\code {ECHOCTL}} +\entry{ISIG}{281}{\code {ISIG}} +\entry{IEXTEN}{281}{\code {IEXTEN}} +\entry{NOFLSH}{282}{\code {NOFLSH}} +\entry{TOSTOP}{282}{\code {TOSTOP}} +\entry{ALTWERASE}{282}{\code {ALTWERASE}} +\entry{FLUSHO}{282}{\code {FLUSHO}} +\entry{NOKERNINFO}{282}{\code {NOKERNINFO}} +\entry{PENDIN}{282}{\code {PENDIN}} +\entry{B0}{284}{\code {B0}} +\entry{B50}{284}{\code {B50}} +\entry{B75}{284}{\code {B75}} +\entry{B110}{284}{\code {B110}} +\entry{B134}{284}{\code {B134}} +\entry{B150}{284}{\code {B150}} +\entry{B200}{284}{\code {B200}} +\entry{B300}{284}{\code {B300}} +\entry{B600}{284}{\code {B600}} +\entry{B1200}{284}{\code {B1200}} +\entry{B1800}{284}{\code {B1800}} +\entry{B2400}{284}{\code {B2400}} +\entry{B4800}{284}{\code {B4800}} +\entry{B9600}{284}{\code {B9600}} +\entry{B19200}{284}{\code {B19200}} +\entry{B38400}{284}{\code {B38400}} +\entry{EXTA}{284}{\code {EXTA}} +\entry{EXTB}{284}{\code {EXTB}} +\entry{{\_}POSIX{\_}VDISABLE}{284}{\code {_POSIX_VDISABLE}} +\entry{VEOF}{285}{\code {VEOF}} +\entry{VEOL}{285}{\code {VEOL}} +\entry{VEOL2}{285}{\code {VEOL2}} +\entry{VERASE}{285}{\code {VERASE}} +\entry{VWERASE}{286}{\code {VWERASE}} +\entry{VKILL}{286}{\code {VKILL}} +\entry{VREPRINT}{286}{\code {VREPRINT}} +\entry{VINTR}{286}{\code {VINTR}} +\entry{VQUIT}{287}{\code {VQUIT}} +\entry{VSUSP}{287}{\code {VSUSP}} +\entry{VDSUSP}{287}{\code {VDSUSP}} +\entry{VSTART}{288}{\code {VSTART}} +\entry{VSTOP}{288}{\code {VSTOP}} +\entry{VLNEXT}{288}{\code {VLNEXT}} +\entry{VDISCARD}{289}{\code {VDISCARD}} +\entry{VSTATUS}{289}{\code {VSTATUS}} +\entry{VMIN}{289}{\code {VMIN}} +\entry{VTIME}{289}{\code {VTIME}} +\entry{TCIFLUSH}{292}{\code {TCIFLUSH}} +\entry{TCOFLUSH}{292}{\code {TCOFLUSH}} +\entry{TCIOFLUSH}{292}{\code {TCIOFLUSH}} +\entry{TCOOFF}{292}{\code {TCOOFF}} +\entry{TCOON}{292}{\code {TCOON}} +\entry{TCIOFF}{292}{\code {TCIOFF}} +\entry{TCION}{292}{\code {TCION}} +\entry{EBADF}{293}{\code {EBADF}} +\entry{ENOTTY}{293}{\code {ENOTTY}} +\entry{EINVAL}{293}{\code {EINVAL}} +\entry{HUGE{\_}VAL}{296}{\code {HUGE_VAL}} +\entry{HUGE{\_}VALf}{296}{\code {HUGE_VALf}} +\entry{HUGE{\_}VALl}{296}{\code {HUGE_VALl}} +\entry{RAND{\_}MAX}{300}{\code {RAND_MAX}} +\entry{NAN}{303}{\code {NAN}} +\entry{CLOCKS{\_}PER{\_}SEC}{338}{\code {CLOCKS_PER_SEC}} +\entry{CLK{\_}TCK}{338}{\code {CLK_TCK}} +\entry{tzname}{352}{\code {tzname}} +\entry{timezone}{353}{\code {timezone}} +\entry{daylight}{353}{\code {daylight}} +\entry{RLIMIT{\_}CPU}{360}{\code {RLIMIT_CPU}} +\entry{RLIMIT{\_}FSIZE}{361}{\code {RLIMIT_FSIZE}} +\entry{RLIMIT{\_}DATA}{361}{\code {RLIMIT_DATA}} +\entry{RLIMIT{\_}STACK}{361}{\code {RLIMIT_STACK}} +\entry{RLIMIT{\_}CORE}{361}{\code {RLIMIT_CORE}} +\entry{RLIMIT{\_}RSS}{361}{\code {RLIMIT_RSS}} +\entry{RLIMIT{\_}NOFILE}{361}{\code {RLIMIT_NOFILE}} +\entry{RLIMIT{\_}OFILE}{361}{\code {RLIMIT_OFILE}} +\entry{RLIM{\_}NLIMITS}{361}{\code {RLIM_NLIMITS}} +\entry{int}{361}{\code {int}} +\entry{PRIO{\_}MIN}{362}{\code {PRIO_MIN}} +\entry{PRIO{\_}MAX}{362}{\code {PRIO_MAX}} +\entry{PRIO{\_}PROCESS}{363}{\code {PRIO_PROCESS}} +\entry{PRIO{\_}PGRP}{363}{\code {PRIO_PGRP}} +\entry{PRIO{\_}USER}{363}{\code {PRIO_USER}} +\entry{MB{\_}LEN{\_}MAX}{368}{\code {MB_LEN_MAX}} +\entry{MB{\_}CUR{\_}MAX}{368}{\code {MB_CUR_MAX}} +\entry{LC{\_}COLLATE}{378}{\code {LC_COLLATE}} +\entry{LC{\_}CTYPE}{378}{\code {LC_CTYPE}} +\entry{LC{\_}MONETARY}{379}{\code {LC_MONETARY}} +\entry{LC{\_}NUMERIC}{379}{\code {LC_NUMERIC}} +\entry{LC{\_}TIME}{379}{\code {LC_TIME}} +\entry{LC{\_}MESSAGES}{379}{\code {LC_MESSAGES}} +\entry{LC{\_}ALL}{379}{\code {LC_ALL}} +\entry{LANG}{379}{\code {LANG}} +\entry{NSIG}{394}{\code {NSIG}} +\entry{COREFILE}{394}{\code {COREFILE}} +\entry{SIGFPE}{394}{\code {SIGFPE}} +\entry{FPE{\_}INTOVF{\_}TRAP}{395}{\code {FPE_INTOVF_TRAP}} +\entry{FPE{\_}INTDIV{\_}TRAP}{395}{\code {FPE_INTDIV_TRAP}} +\entry{FPE{\_}SUBRNG{\_}TRAP}{395}{\code {FPE_SUBRNG_TRAP}} +\entry{FPE{\_}FLTOVF{\_}TRAP}{395}{\code {FPE_FLTOVF_TRAP}} +\entry{FPE{\_}FLTDIV{\_}TRAP}{395}{\code {FPE_FLTDIV_TRAP}} +\entry{FPE{\_}FLTUND{\_}TRAP}{395}{\code {FPE_FLTUND_TRAP}} +\entry{FPE{\_}DECOVF{\_}TRAP}{395}{\code {FPE_DECOVF_TRAP}} +\entry{SIGILL}{396}{\code {SIGILL}} +\entry{SIGSEGV}{396}{\code {SIGSEGV}} +\entry{SIGBUS}{396}{\code {SIGBUS}} +\entry{SIGABRT}{396}{\code {SIGABRT}} +\entry{SIGIOT}{396}{\code {SIGIOT}} +\entry{SIGTRAP}{397}{\code {SIGTRAP}} +\entry{SIGEMT}{397}{\code {SIGEMT}} +\entry{SIGSYS}{397}{\code {SIGSYS}} +\entry{SIGTERM}{397}{\code {SIGTERM}} +\entry{SIGINT}{397}{\code {SIGINT}} +\entry{SIGQUIT}{398}{\code {SIGQUIT}} +\entry{SIGKILL}{398}{\code {SIGKILL}} +\entry{SIGHUP}{398}{\code {SIGHUP}} +\entry{SIGALRM}{399}{\code {SIGALRM}} +\entry{SIGVTALRM}{399}{\code {SIGVTALRM}} +\entry{SIGPROF}{399}{\code {SIGPROF}} +\entry{SIGIO}{399}{\code {SIGIO}} +\entry{SIGURG}{399}{\code {SIGURG}} +\entry{SIGPOLL}{400}{\code {SIGPOLL}} +\entry{SIGCHLD}{400}{\code {SIGCHLD}} +\entry{SIGCLD}{400}{\code {SIGCLD}} +\entry{SIGCONT}{400}{\code {SIGCONT}} +\entry{SIGSTOP}{400}{\code {SIGSTOP}} +\entry{SIGTSTP}{400}{\code {SIGTSTP}} +\entry{SIGTTIN}{401}{\code {SIGTTIN}} +\entry{SIGTTOU}{401}{\code {SIGTTOU}} +\entry{SIGPIPE}{402}{\code {SIGPIPE}} +\entry{SIGLOST}{402}{\code {SIGLOST}} +\entry{SIGXCPU}{402}{\code {SIGXCPU}} +\entry{SIGXFSZ}{402}{\code {SIGXFSZ}} +\entry{SIGUSR1}{402}{\code {SIGUSR1}} +\entry{SIGUSR2}{402}{\code {SIGUSR2}} +\entry{SIGWINCH}{403}{\code {SIGWINCH}} +\entry{SIGINFO}{403}{\code {SIGINFO}} +\entry{sys{\_}siglist}{404}{\code {sys_siglist}} +\entry{SIG{\_}DFL}{405}{\code {SIG_DFL}} +\entry{SIG{\_}IGN}{405}{\code {SIG_IGN}} +\entry{SIG{\_}ERR}{406}{\code {SIG_ERR}} +\entry{SA{\_}NOCLDSTOP}{410}{\code {SA_NOCLDSTOP}} +\entry{SA{\_}ONSTACK}{410}{\code {SA_ONSTACK}} +\entry{SA{\_}RESTART}{410}{\code {SA_RESTART}} +\entry{SIG{\_}BLOCK}{432}{\code {SIG_BLOCK}} +\entry{SIG{\_}UNBLOCK}{432}{\code {SIG_UNBLOCK}} +\entry{SIG{\_}SETMASK}{432}{\code {SIG_SETMASK}} +\entry{SIGSTKSZ}{440}{\code {SIGSTKSZ}} +\entry{MINSIGSTKSZ}{440}{\code {MINSIGSTKSZ}} +\entry{SA{\_}DISABLE}{440}{\code {SA_DISABLE}} +\entry{SA{\_}ONSTACK}{440}{\code {SA_ONSTACK}} +\entry{SIGSTKSZ}{441}{\code {SIGSTKSZ}} +\entry{MINSIGSTKSZ}{441}{\code {MINSIGSTKSZ}} +\entry{SA{\_}DISABLE}{441}{\code {SA_DISABLE}} +\entry{SA{\_}ONSTACK}{441}{\code {SA_ONSTACK}} +\entry{SV{\_}ONSTACK}{443}{\code {SV_ONSTACK}} +\entry{SV{\_}INTERRUPT}{443}{\code {SV_INTERRUPT}} +\entry{SV{\_}RESETHAND}{444}{\code {SV_RESETHAND}} +\entry{opterr}{447}{\code {opterr}} +\entry{optopt}{447}{\code {optopt}} +\entry{optind}{447}{\code {optind}} +\entry{optarg}{447}{\code {optarg}} +\entry{environ}{458}{\code {environ}} +\entry{EXIT{\_}SUCCESS}{461}{\code {EXIT_SUCCESS}} +\entry{EXIT{\_}FAILURE}{461}{\code {EXIT_FAILURE}} +\entry{L{\_}ctermid}{496}{\code {L_ctermid}} +\entry{aliases}{499}{\code {aliases}} +\entry{ethers}{499}{\code {ethers}} +\entry{group}{499}{\code {group}} +\entry{hosts}{499}{\code {hosts}} +\entry{netgroup}{499}{\code {netgroup}} +\entry{network}{499}{\code {network}} +\entry{protocols}{499}{\code {protocols}} +\entry{passwd}{499}{\code {passwd}} +\entry{rpc}{499}{\code {rpc}} +\entry{services}{499}{\code {services}} +\entry{shadow}{499}{\code {shadow}} +\entry{aliases}{499}{\code {aliases}} +\entry{ethers}{499}{\code {ethers}} +\entry{group}{499}{\code {group}} +\entry{hosts}{499}{\code {hosts}} +\entry{netgroup}{499}{\code {netgroup}} +\entry{network}{500}{\code {network}} +\entry{protocols}{500}{\code {protocols}} +\entry{passwd}{500}{\code {passwd}} +\entry{rpc}{500}{\code {rpc}} +\entry{services}{500}{\code {services}} +\entry{shadow}{500}{\code {shadow}} +\entry{NSS{\_}STATUS{\_}TRYAGAIN}{505}{\code {NSS_STATUS_TRYAGAIN}} +\entry{NSS{\_}STATUS{\_}UNAVAIL}{505}{\code {NSS_STATUS_UNAVAIL}} +\entry{NSS{\_}STATUS{\_}NOTFOUND}{505}{\code {NSS_STATUS_NOTFOUND}} +\entry{NSS{\_}STATUS{\_}SUCCESS}{505}{\code {NSS_STATUS_SUCCESS}} +\entry{L{\_}cuserid}{519}{\code {L_cuserid}} +\entry{ARG{\_}MAX}{535}{\code {ARG_MAX}} +\entry{CHILD{\_}MAX}{535}{\code {CHILD_MAX}} +\entry{OPEN{\_}MAX}{535}{\code {OPEN_MAX}} +\entry{STREAM{\_}MAX}{535}{\code {STREAM_MAX}} +\entry{TZNAME{\_}MAX}{536}{\code {TZNAME_MAX}} +\entry{NGROUPS{\_}MAX}{536}{\code {NGROUPS_MAX}} +\entry{SSIZE{\_}MAX}{536}{\code {SSIZE_MAX}} +\entry{RE{\_}DUP{\_}MAX}{536}{\code {RE_DUP_MAX}} +\entry{{\_}POSIX{\_}JOB{\_}CONTROL}{537}{\code {_POSIX_JOB_CONTROL}} +\entry{{\_}POSIX{\_}SAVED{\_}IDS}{537}{\code {_POSIX_SAVED_IDS}} +\entry{{\_}POSIX2{\_}C{\_}DEV}{537}{\code {_POSIX2_C_DEV}} +\entry{{\_}POSIX2{\_}FORT{\_}DEV}{537}{\code {_POSIX2_FORT_DEV}} +\entry{{\_}POSIX2{\_}FORT{\_}RUN}{537}{\code {_POSIX2_FORT_RUN}} +\entry{{\_}POSIX2{\_}LOCALEDEF}{537}{\code {_POSIX2_LOCALEDEF}} +\entry{{\_}POSIX2{\_}SW{\_}DEV}{538}{\code {_POSIX2_SW_DEV}} +\entry{{\_}POSIX{\_}VERSION}{538}{\code {_POSIX_VERSION}} +\entry{{\_}POSIX2{\_}C{\_}VERSION}{538}{\code {_POSIX2_C_VERSION}} +\entry{LINK{\_}MAX}{543}{\code {LINK_MAX}} +\entry{MAX{\_}CANON}{543}{\code {MAX_CANON}} +\entry{MAX{\_}INPUT}{543}{\code {MAX_INPUT}} +\entry{NAME{\_}MAX}{543}{\code {NAME_MAX}} +\entry{PATH{\_}MAX}{544}{\code {PATH_MAX}} +\entry{PIPE{\_}BUF}{544}{\code {PIPE_BUF}} +\entry{MAXNAMLEN}{544}{\code {MAXNAMLEN}} +\entry{FILENAME{\_}MAX}{544}{\code {FILENAME_MAX}} +\entry{{\_}POSIX{\_}CHOWN{\_}RESTRICTED}{545}{\code {_POSIX_CHOWN_RESTRICTED}} +\entry{{\_}POSIX{\_}NO{\_}TRUNC}{545}{\code {_POSIX_NO_TRUNC}} +\entry{{\_}POSIX{\_}VDISABLE}{545}{\code {_POSIX_VDISABLE}} +\entry{BC{\_}BASE{\_}MAX}{547}{\code {BC_BASE_MAX}} +\entry{BC{\_}SCALE{\_}MAX}{547}{\code {BC_SCALE_MAX}} +\entry{BC{\_}DIM{\_}MAX}{548}{\code {BC_DIM_MAX}} +\entry{BC{\_}STRING{\_}MAX}{548}{\code {BC_STRING_MAX}} +\entry{BC{\_}DIM{\_}MAX}{548}{\code {BC_DIM_MAX}} +\entry{COLL{\_}WEIGHTS{\_}MAX}{548}{\code {COLL_WEIGHTS_MAX}} +\entry{EXPR{\_}NEST{\_}MAX}{548}{\code {EXPR_NEST_MAX}} +\entry{LINE{\_}MAX}{548}{\code {LINE_MAX}} +\entry{EQUIV{\_}CLASS{\_}MAX}{548}{\code {EQUIV_CLASS_MAX}} +\entry{NDEBUG}{551}{\code {NDEBUG}} +\entry{NULL}{559}{\code {NULL}} diff -durpN glibc-2.0.2/manual/libc.vrs glibc-2.0.3/manual/libc.vrs --- glibc-2.0.2/manual/libc.vrs Tue Mar 18 22:30:15 1997 +++ glibc-2.0.3/manual/libc.vrs Sun Apr 20 18:25:21 1997 @@ -1,79 +1,80 @@ \initial {{\_}} -\entry {\code {__free_hook}}{39} -\entry {\code {__malloc_hook}}{39} -\entry {\code {__realloc_hook}}{39} +\entry {\code {__free_hook}}{40} +\entry {\code {__malloc_hook}}{40} +\entry {\code {__realloc_hook}}{40} \entry {\code {_BSD_SOURCE}}{8} \entry {\code {_GNU_SOURCE}}{9} -\entry {\code {_IOFBF}}{140} -\entry {\code {_IOLBF}}{140} -\entry {\code {_IONBF}}{140} +\entry {\code {_IOFBF}}{142} +\entry {\code {_IOLBF}}{142} +\entry {\code {_IONBF}}{142} \entry {\code {_POSIX_C_SOURCE}}{8} -\entry {\code {_POSIX_CHOWN_RESTRICTED}}{543} -\entry {\code {_POSIX_JOB_CONTROL}}{535} -\entry {\code {_POSIX_NO_TRUNC}}{543} -\entry {\code {_POSIX_SAVED_IDS}}{535} +\entry {\code {_POSIX_CHOWN_RESTRICTED}}{545} +\entry {\code {_POSIX_JOB_CONTROL}}{537} +\entry {\code {_POSIX_NO_TRUNC}}{545} +\entry {\code {_POSIX_SAVED_IDS}}{537} \entry {\code {_POSIX_SOURCE}}{8} -\entry {\code {_POSIX_VDISABLE}}{282, 543} -\entry {\code {_POSIX_VERSION}}{536} -\entry {\code {_POSIX2_C_DEV}}{535} -\entry {\code {_POSIX2_C_VERSION}}{536} -\entry {\code {_POSIX2_FORT_DEV}}{535} -\entry {\code {_POSIX2_FORT_RUN}}{535} -\entry {\code {_POSIX2_LOCALEDEF}}{535} -\entry {\code {_POSIX2_SW_DEV}}{536} +\entry {\code {_POSIX_VDISABLE}}{284, 545} +\entry {\code {_POSIX_VERSION}}{538} +\entry {\code {_POSIX2_C_DEV}}{537} +\entry {\code {_POSIX2_C_VERSION}}{538} +\entry {\code {_POSIX2_FORT_DEV}}{537} +\entry {\code {_POSIX2_FORT_RUN}}{537} +\entry {\code {_POSIX2_LOCALEDEF}}{537} +\entry {\code {_POSIX2_SW_DEV}}{538} \entry {\code {_REENTRANT}}{10} \entry {\code {_SVID_SOURCE}}{9} \entry {\code {_THREAD_SAFE}}{10} \entry {\code {_XOPEN_SOURCE}}{9} \initial {A} -\entry {\code {AF_FILE}}{222} -\entry {\code {AF_INET}}{222} -\entry {\code {AF_UNIX}}{222} -\entry {\code {AF_UNSPEC}}{222} -\entry {\code {ALTWERASE}}{280} -\entry {\code {ARG_MAX}}{533} +\entry {\code {AF_FILE}}{224} +\entry {\code {AF_INET}}{224} +\entry {\code {AF_UNIX}}{224} +\entry {\code {AF_UNSPEC}}{224} +\entry {\code {aliases}}{499} +\entry {\code {ALTWERASE}}{282} +\entry {\code {ARG_MAX}}{535} \initial {B} -\entry {\code {B0}}{282} -\entry {\code {B110}}{282} -\entry {\code {B1200}}{282} -\entry {\code {B134}}{282} -\entry {\code {B150}}{282} -\entry {\code {B1800}}{282} -\entry {\code {B19200}}{282} -\entry {\code {B200}}{282} -\entry {\code {B2400}}{282} -\entry {\code {B300}}{282} -\entry {\code {B38400}}{282} -\entry {\code {B4800}}{282} -\entry {\code {B50}}{282} -\entry {\code {B600}}{282} -\entry {\code {B75}}{282} -\entry {\code {B9600}}{282} -\entry {\code {BC_BASE_MAX}}{545} -\entry {\code {BC_DIM_MAX}}{546} -\entry {\code {BC_SCALE_MAX}}{545} -\entry {\code {BC_STRING_MAX}}{546} -\entry {\code {BRKINT}}{274} -\entry {\code {BUFSIZ}}{140} +\entry {\code {B0}}{284} +\entry {\code {B110}}{284} +\entry {\code {B1200}}{284} +\entry {\code {B134}}{284} +\entry {\code {B150}}{284} +\entry {\code {B1800}}{284} +\entry {\code {B19200}}{284} +\entry {\code {B200}}{284} +\entry {\code {B2400}}{284} +\entry {\code {B300}}{284} +\entry {\code {B38400}}{284} +\entry {\code {B4800}}{284} +\entry {\code {B50}}{284} +\entry {\code {B600}}{284} +\entry {\code {B75}}{284} +\entry {\code {B9600}}{284} +\entry {\code {BC_BASE_MAX}}{547} +\entry {\code {BC_DIM_MAX}}{548} +\entry {\code {BC_SCALE_MAX}}{547} +\entry {\code {BC_STRING_MAX}}{548} +\entry {\code {BRKINT}}{276} +\entry {\code {BUFSIZ}}{142} \initial {C} -\entry {\code {CCTS_OFLOW}}{277} -\entry {\code {CHILD_MAX}}{533} -\entry {\code {CIGNORE}}{277} -\entry {\code {CLK_TCK}}{336} -\entry {\code {CLOCAL}}{276} -\entry {\code {CLOCKS_PER_SEC}}{336} -\entry {\code {COLL_WEIGHTS_MAX}}{546} -\entry {\code {COREFILE}}{392} -\entry {\code {CREAD}}{276} -\entry {\code {CRTS_IFLOW}}{277} -\entry {\code {CS5}}{277} -\entry {\code {CS6}}{277} -\entry {\code {CS7}}{277} -\entry {\code {CS8}}{277} -\entry {\code {CSIZE}}{277} -\entry {\code {CSTOPB}}{276} +\entry {\code {CCTS_OFLOW}}{279} +\entry {\code {CHILD_MAX}}{535} +\entry {\code {CIGNORE}}{279} +\entry {\code {CLK_TCK}}{338} +\entry {\code {CLOCAL}}{278} +\entry {\code {CLOCKS_PER_SEC}}{338} +\entry {\code {COLL_WEIGHTS_MAX}}{548} +\entry {\code {COREFILE}}{394} +\entry {\code {CREAD}}{278} +\entry {\code {CRTS_IFLOW}}{279} +\entry {\code {CS5}}{279} +\entry {\code {CS6}}{279} +\entry {\code {CS7}}{279} +\entry {\code {CS8}}{279} +\entry {\code {CSIZE}}{279} +\entry {\code {CSTOPB}}{278} \initial {D} -\entry {\code {daylight}}{351} +\entry {\code {daylight}}{353} \initial {E} \entry {\code {E2BIG}}{17} \entry {\code {EACCES}}{18} @@ -86,7 +87,7 @@ \entry {\code {EAUTH}}{24} \entry {\code {EBACKGROUND}}{25} \entry {\code {EBADE}}{26} -\entry {\code {EBADF}}{17, 291} +\entry {\code {EBADF}}{17, 293} \entry {\code {EBADFD}}{26} \entry {\code {EBADMSG}}{25} \entry {\code {EBADR}}{26} @@ -96,13 +97,13 @@ \entry {\code {EBFONT}}{26} \entry {\code {EBUSY}}{18} \entry {\code {ECHILD}}{17} -\entry {\code {ECHO}}{278} -\entry {\code {ECHOCTL}}{279} -\entry {\code {ECHOE}}{278} -\entry {\code {ECHOK}}{278} -\entry {\code {ECHOKE}}{279} -\entry {\code {ECHONL}}{279} -\entry {\code {ECHOPRT}}{278} +\entry {\code {ECHO}}{280} +\entry {\code {ECHOCTL}}{281} +\entry {\code {ECHOE}}{280} +\entry {\code {ECHOK}}{280} +\entry {\code {ECHOKE}}{281} +\entry {\code {ECHONL}}{281} +\entry {\code {ECHOPRT}}{280} \entry {\code {ECHRNG}}{26} \entry {\code {ECOMM}}{26} \entry {\code {ECONNABORTED}}{22} @@ -129,7 +130,7 @@ \entry {\code {EILSEQ}}{25} \entry {\code {EINPROGRESS}}{20} \entry {\code {EINTR}}{17} -\entry {\code {EINVAL}}{18, 291} +\entry {\code {EINVAL}}{18, 293} \entry {\code {EIO}}{17} \entry {\code {EISCONN}}{22} \entry {\code {EISDIR}}{18} @@ -145,6 +146,7 @@ \entry {\code {ELIBSCN}}{27} \entry {\code {ELNRNG}}{26} \entry {\code {ELOOP}}{23} +\entry {\code {EMEDIUMTYPE}}{27} \entry {\code {EMFILE}}{19} \entry {\code {EMLINK}}{19} \entry {\code {EMSGSIZE}}{21} @@ -165,6 +167,7 @@ \entry {\code {ENOEXEC}}{17} \entry {\code {ENOLCK}}{24} \entry {\code {ENOLINK}}{25} +\entry {\code {ENOMEDIUM}}{27} \entry {\code {ENOMEM}}{18} \entry {\code {ENOMSG}}{25} \entry {\code {ENONET}}{26} @@ -180,11 +183,11 @@ \entry {\code {ENOTEMPTY}}{23} \entry {\code {ENOTNAM}}{27} \entry {\code {ENOTSOCK}}{21} -\entry {\code {ENOTTY}}{19, 291} +\entry {\code {ENOTTY}}{19, 293} \entry {\code {ENOTUNIQ}}{26} -\entry {\code {environ}}{456} +\entry {\code {environ}}{458} \entry {\code {ENXIO}}{17} -\entry {\code {EOF}}{133} +\entry {\code {EOF}}{135} \entry {\code {EOPNOTSUPP}}{21} \entry {\code {EOVERFLOW}}{25} \entry {\code {EPERM}}{16} @@ -197,7 +200,7 @@ \entry {\code {EPROTO}}{25} \entry {\code {EPROTONOSUPPORT}}{21} \entry {\code {EPROTOTYPE}}{21} -\entry {\code {EQUIV_CLASS_MAX}}{546} +\entry {\code {EQUIV_CLASS_MAX}}{548} \entry {\code {ERANGE}}{20} \entry {\code {EREMCHG}}{26} \entry {\code {EREMOTE}}{24} @@ -213,7 +216,7 @@ \entry {\code {ESRMNT}}{26} \entry {\code {ESTALE}}{24} \entry {\code {ESTRPIPE}}{27} -\entry {\code {ethers}}{497} +\entry {\code {ethers}}{499} \entry {\code {ETIME}}{26} \entry {\code {ETIMEDOUT}}{23} \entry {\code {ETOOMANYREFS}}{23} @@ -224,333 +227,333 @@ \entry {\code {EWOULDBLOCK}}{20} \entry {\code {EXDEV}}{18} \entry {\code {EXFULL}}{26} -\entry {\code {EXIT_FAILURE}}{459} -\entry {\code {EXIT_SUCCESS}}{459} -\entry {\code {EXPR_NEST_MAX}}{546} -\entry {\code {EXTA}}{282} -\entry {\code {EXTB}}{282} +\entry {\code {EXIT_FAILURE}}{461} +\entry {\code {EXIT_SUCCESS}}{461} +\entry {\code {EXPR_NEST_MAX}}{548} +\entry {\code {EXTA}}{284} +\entry {\code {EXTB}}{284} \initial {F} -\entry {\code {F_DUPFD}}{165} -\entry {\code {F_GETFD}}{166} -\entry {\code {F_GETFL}}{172} -\entry {\code {F_GETLK}}{175} -\entry {\code {F_GETOWN}}{177} -\entry {\code {F_OK}}{206} -\entry {\code {F_RDLCK}}{176} -\entry {\code {F_SETFD}}{167} -\entry {\code {F_SETFL}}{173} -\entry {\code {F_SETLK}}{175} -\entry {\code {F_SETLKW}}{176} -\entry {\code {F_SETOWN}}{178} -\entry {\code {F_UNLCK}}{177} -\entry {\code {F_WRLCK}}{177} -\entry {\code {FD_CLOEXEC}}{167} -\entry {\code {FD_SETSIZE}}{161} -\entry {\code {FILENAME_MAX}}{542} -\entry {\code {FLUSHO}}{280} -\entry {\code {FOPEN_MAX}}{94} -\entry {\code {FPE_DECOVF_TRAP}}{393} -\entry {\code {FPE_FLTDIV_TRAP}}{393} -\entry {\code {FPE_FLTOVF_TRAP}}{393} -\entry {\code {FPE_FLTUND_TRAP}}{393} -\entry {\code {FPE_INTDIV_TRAP}}{393} -\entry {\code {FPE_INTOVF_TRAP}}{393} -\entry {\code {FPE_SUBRNG_TRAP}}{393} +\entry {\code {F_DUPFD}}{167} +\entry {\code {F_GETFD}}{168} +\entry {\code {F_GETFL}}{174} +\entry {\code {F_GETLK}}{177} +\entry {\code {F_GETOWN}}{179} +\entry {\code {F_OK}}{208} +\entry {\code {F_RDLCK}}{178} +\entry {\code {F_SETFD}}{169} +\entry {\code {F_SETFL}}{175} +\entry {\code {F_SETLK}}{177} +\entry {\code {F_SETLKW}}{178} +\entry {\code {F_SETOWN}}{180} +\entry {\code {F_UNLCK}}{179} +\entry {\code {F_WRLCK}}{179} +\entry {\code {FD_CLOEXEC}}{169} +\entry {\code {FD_SETSIZE}}{163} +\entry {\code {FILENAME_MAX}}{544} +\entry {\code {FLUSHO}}{282} +\entry {\code {FOPEN_MAX}}{96} +\entry {\code {FPE_DECOVF_TRAP}}{395} +\entry {\code {FPE_FLTDIV_TRAP}}{395} +\entry {\code {FPE_FLTOVF_TRAP}}{395} +\entry {\code {FPE_FLTUND_TRAP}}{395} +\entry {\code {FPE_INTDIV_TRAP}}{395} +\entry {\code {FPE_INTOVF_TRAP}}{395} +\entry {\code {FPE_SUBRNG_TRAP}}{395} \initial {G} -\entry {\code {group}}{497} +\entry {\code {group}}{499} \initial {H} -\entry {\code {h_errno}}{232} -\entry {\code {HOST_NOT_FOUND}}{233} -\entry {\code {hosts}}{497} -\entry {\code {HUGE_VAL}}{294} -\entry {\code {HUGE_VALf}}{294} -\entry {\code {HUGE_VALl}}{294} -\entry {\code {HUPCL}}{276} +\entry {\code {h_errno}}{234} +\entry {\code {HOST_NOT_FOUND}}{235} +\entry {\code {hosts}}{499} +\entry {\code {HUGE_VAL}}{296} +\entry {\code {HUGE_VALf}}{296} +\entry {\code {HUGE_VALl}}{296} +\entry {\code {HUPCL}}{278} \initial {I} -\entry {\code {ICANON}}{278} -\entry {\code {ICRNL}}{274} -\entry {\code {IEXTEN}}{279} -\entry {\code {IGNBRK}}{274} -\entry {\code {IGNCR}}{274} -\entry {\code {IGNPAR}}{273} -\entry {\code {IMAXBEL}}{275} -\entry {\code {INADDR_ANY}}{230} -\entry {\code {INADDR_BROADCAST}}{230} -\entry {\code {INADDR_LOOPBACK}}{230} -\entry {\code {INADDR_NONE}}{230} -\entry {\code {INLCR}}{274} -\entry {\code {INPCK}}{273} -\entry {\code {int}}{359} -\entry {\code {IPPORT_RESERVED}}{234} -\entry {\code {IPPORT_USERRESERVED}}{234} -\entry {\code {ISIG}}{279} -\entry {\code {ISTRIP}}{273} -\entry {\code {IXANY}}{274} -\entry {\code {IXOFF}}{274} -\entry {\code {IXON}}{274} +\entry {\code {ICANON}}{280} +\entry {\code {ICRNL}}{276} +\entry {\code {IEXTEN}}{281} +\entry {\code {IGNBRK}}{276} +\entry {\code {IGNCR}}{276} +\entry {\code {IGNPAR}}{275} +\entry {\code {IMAXBEL}}{277} +\entry {\code {INADDR_ANY}}{232} +\entry {\code {INADDR_BROADCAST}}{232} +\entry {\code {INADDR_LOOPBACK}}{232} +\entry {\code {INADDR_NONE}}{232} +\entry {\code {INLCR}}{276} +\entry {\code {INPCK}}{275} +\entry {\code {int}}{361} +\entry {\code {IPPORT_RESERVED}}{236} +\entry {\code {IPPORT_USERRESERVED}}{236} +\entry {\code {ISIG}}{281} +\entry {\code {ISTRIP}}{275} +\entry {\code {IXANY}}{276} +\entry {\code {IXOFF}}{276} +\entry {\code {IXON}}{276} \initial {L} -\entry {\code {L_ctermid}}{494} -\entry {\code {L_cuserid}}{517} -\entry {\code {L_INCR}}{136} -\entry {\code {L_SET}}{136} -\entry {\code {L_tmpnam}}{209} -\entry {\code {L_XTND}}{136} -\entry {\code {LANG}}{377} -\entry {\code {LC_ALL}}{377} -\entry {\code {LC_COLLATE}}{376} -\entry {\code {LC_CTYPE}}{376} -\entry {\code {LC_MESSAGES}}{377} -\entry {\code {LC_MONETARY}}{377} -\entry {\code {LC_NUMERIC}}{377} -\entry {\code {LC_TIME}}{377} -\entry {\code {LINE_MAX}}{546} -\entry {\code {LINK_MAX}}{541} +\entry {\code {L_ctermid}}{496} +\entry {\code {L_cuserid}}{519} +\entry {\code {L_INCR}}{138} +\entry {\code {L_SET}}{138} +\entry {\code {L_tmpnam}}{211} +\entry {\code {L_XTND}}{138} +\entry {\code {LANG}}{379} +\entry {\code {LC_ALL}}{379} +\entry {\code {LC_COLLATE}}{378} +\entry {\code {LC_CTYPE}}{378} +\entry {\code {LC_MESSAGES}}{379} +\entry {\code {LC_MONETARY}}{379} +\entry {\code {LC_NUMERIC}}{379} +\entry {\code {LC_TIME}}{379} +\entry {\code {LINE_MAX}}{548} +\entry {\code {LINK_MAX}}{543} \initial {M} -\entry {\code {MAX_CANON}}{541} -\entry {\code {MAX_INPUT}}{541} -\entry {\code {MAXNAMLEN}}{542} -\entry {\code {MB_CUR_MAX}}{366} -\entry {\code {MB_LEN_MAX}}{366} -\entry {\code {MDMBUF}}{277} -\entry {\code {MINSIGSTKSZ}}{438, 439} -\entry {\code {MSG_DONTROUTE}}{248} -\entry {\code {MSG_OOB}}{248} -\entry {\code {MSG_PEEK}}{248} +\entry {\code {MAX_CANON}}{543} +\entry {\code {MAX_INPUT}}{543} +\entry {\code {MAXNAMLEN}}{544} +\entry {\code {MB_CUR_MAX}}{368} +\entry {\code {MB_LEN_MAX}}{368} +\entry {\code {MDMBUF}}{279} +\entry {\code {MINSIGSTKSZ}}{440, 441} +\entry {\code {MSG_DONTROUTE}}{250} +\entry {\code {MSG_OOB}}{250} +\entry {\code {MSG_PEEK}}{250} \initial {N} -\entry {\code {NAME_MAX}}{541} -\entry {\code {NAN}}{301} -\entry {\code {NCCS}}{270} -\entry {\code {NDEBUG}}{549} -\entry {\code {netgroup}}{497} -\entry {\code {network}}{497} -\entry {\code {NGROUPS_MAX}}{534} -\entry {\code {NO_ADDRESS}}{233} -\entry {\code {NO_RECOVERY}}{233} -\entry {\code {NOFLSH}}{280} -\entry {\code {NOKERNINFO}}{280} -\entry {\code {NSIG}}{392} -\entry {\code {NSS_STATUS_NOTFOUND}}{502} -\entry {\code {NSS_STATUS_SUCCESS}}{502} -\entry {\code {NSS_STATUS_TRYAGAIN}}{502} -\entry {\code {NSS_STATUS_UNAVAIL}}{502} -\entry {\code {NULL}}{557} +\entry {\code {NAME_MAX}}{543} +\entry {\code {NAN}}{303} +\entry {\code {NCCS}}{272} +\entry {\code {NDEBUG}}{551} +\entry {\code {netgroup}}{499} +\entry {\code {network}}{499, 500} +\entry {\code {NGROUPS_MAX}}{536} +\entry {\code {NO_ADDRESS}}{235} +\entry {\code {NO_RECOVERY}}{235} +\entry {\code {NOFLSH}}{282} +\entry {\code {NOKERNINFO}}{282} +\entry {\code {NSIG}}{394} +\entry {\code {NSS_STATUS_NOTFOUND}}{505} +\entry {\code {NSS_STATUS_SUCCESS}}{505} +\entry {\code {NSS_STATUS_TRYAGAIN}}{505} +\entry {\code {NSS_STATUS_UNAVAIL}}{505} +\entry {\code {NULL}}{559} \initial {O} -\entry {\code {O_ACCMODE}}{169} -\entry {\code {O_APPEND}}{171} -\entry {\code {O_ASYNC}}{172} -\entry {\code {O_CREAT}}{169} -\entry {\code {O_EXCL}}{169} -\entry {\code {O_EXEC}}{169} -\entry {\code {O_EXLOCK}}{171} -\entry {\code {O_FSYNC}}{172} -\entry {\code {O_IGNORE_CTTY}}{170} -\entry {\code {O_NDELAY}}{171} -\entry {\code {O_NOATIME}}{172} -\entry {\code {O_NOCTTY}}{170} -\entry {\code {O_NOLINK}}{170} -\entry {\code {O_NONBLOCK}}{169, 171} -\entry {\code {O_NOTRANS}}{170} -\entry {\code {O_RDONLY}}{168} -\entry {\code {O_RDWR}}{168} -\entry {\code {O_READ}}{169} -\entry {\code {O_SHLOCK}}{171} -\entry {\code {O_SYNC}}{172} -\entry {\code {O_TRUNC}}{170} -\entry {\code {O_WRITE}}{169} -\entry {\code {O_WRONLY}}{168} -\entry {\code {ONLCR}}{275} -\entry {\code {ONOEOT}}{275} -\entry {\code {OPEN_MAX}}{533} -\entry {\code {OPOST}}{275} -\entry {\code {optarg}}{445} -\entry {\code {opterr}}{445} -\entry {\code {optind}}{445} -\entry {\code {optopt}}{445} -\entry {\code {OXTABS}}{275} +\entry {\code {O_ACCMODE}}{171} +\entry {\code {O_APPEND}}{173} +\entry {\code {O_ASYNC}}{174} +\entry {\code {O_CREAT}}{171} +\entry {\code {O_EXCL}}{171} +\entry {\code {O_EXEC}}{171} +\entry {\code {O_EXLOCK}}{173} +\entry {\code {O_FSYNC}}{174} +\entry {\code {O_IGNORE_CTTY}}{172} +\entry {\code {O_NDELAY}}{173} +\entry {\code {O_NOATIME}}{174} +\entry {\code {O_NOCTTY}}{172} +\entry {\code {O_NOLINK}}{172} +\entry {\code {O_NONBLOCK}}{171, 173} +\entry {\code {O_NOTRANS}}{172} +\entry {\code {O_RDONLY}}{170} +\entry {\code {O_RDWR}}{170} +\entry {\code {O_READ}}{171} +\entry {\code {O_SHLOCK}}{173} +\entry {\code {O_SYNC}}{174} +\entry {\code {O_TRUNC}}{172} +\entry {\code {O_WRITE}}{171} +\entry {\code {O_WRONLY}}{170} +\entry {\code {ONLCR}}{277} +\entry {\code {ONOEOT}}{277} +\entry {\code {OPEN_MAX}}{535} +\entry {\code {OPOST}}{277} +\entry {\code {optarg}}{447} +\entry {\code {opterr}}{447} +\entry {\code {optind}}{447} +\entry {\code {optopt}}{447} +\entry {\code {OXTABS}}{277} \initial {P} -\entry {\code {P_tmpdir}}{210} -\entry {\code {PA_CHAR}}{116} -\entry {\code {PA_DOUBLE}}{117} -\entry {\code {PA_FLAG_LONG}}{117} -\entry {\code {PA_FLAG_LONG_DOUBLE}}{117} -\entry {\code {PA_FLAG_LONG_LONG}}{117} -\entry {\code {PA_FLAG_MASK}}{116} -\entry {\code {PA_FLAG_PTR}}{117} -\entry {\code {PA_FLAG_SHORT}}{117} -\entry {\code {PA_FLOAT}}{116} -\entry {\code {PA_INT}}{116} -\entry {\code {PA_LAST}}{117} -\entry {\code {PA_POINTER}}{116} -\entry {\code {PA_STRING}}{116} -\entry {\code {PARENB}}{276} -\entry {\code {PARMRK}}{273} -\entry {\code {PARODD}}{277} -\entry {\code {passwd}}{497, 498} -\entry {\code {PATH_MAX}}{542} -\entry {\code {PENDIN}}{280} -\entry {\code {PF_CCITT}}{239} -\entry {\code {PF_FILE}}{225} -\entry {\code {PF_IMPLINK}}{239} -\entry {\code {PF_INET}}{227} -\entry {\code {PF_ISO}}{239} -\entry {\code {PF_NS}}{239} -\entry {\code {PF_ROUTE}}{239} -\entry {\code {PF_UNIX}}{225} -\entry {\code {PIPE_BUF}}{542} -\entry {\code {PRIO_MAX}}{360} -\entry {\code {PRIO_MIN}}{360} -\entry {\code {PRIO_PGRP}}{361} -\entry {\code {PRIO_PROCESS}}{361} -\entry {\code {PRIO_USER}}{361} +\entry {\code {P_tmpdir}}{212} +\entry {\code {PA_CHAR}}{118} +\entry {\code {PA_DOUBLE}}{119} +\entry {\code {PA_FLAG_LONG}}{119} +\entry {\code {PA_FLAG_LONG_DOUBLE}}{119} +\entry {\code {PA_FLAG_LONG_LONG}}{119} +\entry {\code {PA_FLAG_MASK}}{118} +\entry {\code {PA_FLAG_PTR}}{119} +\entry {\code {PA_FLAG_SHORT}}{119} +\entry {\code {PA_FLOAT}}{118} +\entry {\code {PA_INT}}{118} +\entry {\code {PA_LAST}}{119} +\entry {\code {PA_POINTER}}{118} +\entry {\code {PA_STRING}}{118} +\entry {\code {PARENB}}{278} +\entry {\code {PARMRK}}{275} +\entry {\code {PARODD}}{279} +\entry {\code {passwd}}{499, 500} +\entry {\code {PATH_MAX}}{544} +\entry {\code {PENDIN}}{282} +\entry {\code {PF_CCITT}}{241} +\entry {\code {PF_FILE}}{227} +\entry {\code {PF_IMPLINK}}{241} +\entry {\code {PF_INET}}{229} +\entry {\code {PF_ISO}}{241} +\entry {\code {PF_NS}}{241} +\entry {\code {PF_ROUTE}}{241} +\entry {\code {PF_UNIX}}{227} +\entry {\code {PIPE_BUF}}{544} +\entry {\code {PRIO_MAX}}{362} +\entry {\code {PRIO_MIN}}{362} +\entry {\code {PRIO_PGRP}}{363} +\entry {\code {PRIO_PROCESS}}{363} +\entry {\code {PRIO_USER}}{363} \entry {\code {program_invocation_name}}{28} \entry {\code {program_invocation_short_name}}{28} -\entry {\code {protocols}}{497, 498} +\entry {\code {protocols}}{499, 500} \initial {R} -\entry {\code {R_OK}}{205} -\entry {\code {RAND_MAX}}{298} -\entry {\code {RE_DUP_MAX}}{534} -\entry {\code {RLIM_NLIMITS}}{359} -\entry {\code {RLIMIT_CORE}}{359} -\entry {\code {RLIMIT_CPU}}{358} -\entry {\code {RLIMIT_DATA}}{359} -\entry {\code {RLIMIT_FSIZE}}{359} -\entry {\code {RLIMIT_NOFILE}}{359} -\entry {\code {RLIMIT_OFILE}}{359} -\entry {\code {RLIMIT_RSS}}{359} -\entry {\code {RLIMIT_STACK}}{359} -\entry {\code {rpc}}{497, 498} +\entry {\code {R_OK}}{207} +\entry {\code {RAND_MAX}}{300} +\entry {\code {RE_DUP_MAX}}{536} +\entry {\code {RLIM_NLIMITS}}{361} +\entry {\code {RLIMIT_CORE}}{361} +\entry {\code {RLIMIT_CPU}}{360} +\entry {\code {RLIMIT_DATA}}{361} +\entry {\code {RLIMIT_FSIZE}}{361} +\entry {\code {RLIMIT_NOFILE}}{361} +\entry {\code {RLIMIT_OFILE}}{361} +\entry {\code {RLIMIT_RSS}}{361} +\entry {\code {RLIMIT_STACK}}{361} +\entry {\code {rpc}}{499, 500} \initial {S} -\entry {\code {S_IEXEC}}{200} -\entry {\code {S_IFBLK}}{198} -\entry {\code {S_IFCHR}}{198} -\entry {\code {S_IFDIR}}{198} -\entry {\code {S_IFIFO}}{198} -\entry {\code {S_IFLNK}}{198} -\entry {\code {S_IFMT}}{198} -\entry {\code {S_IFREG}}{198} -\entry {\code {S_IFSOCK}}{198} -\entry {\code {S_IREAD}}{200} -\entry {\code {S_IRGRP}}{200} -\entry {\code {S_IROTH}}{200} -\entry {\code {S_IRUSR}}{200} -\entry {\code {S_IRWXG}}{200} -\entry {\code {S_IRWXO}}{200} -\entry {\code {S_IRWXU}}{200} -\entry {\code {S_ISGID}}{201} -\entry {\code {S_ISUID}}{201} -\entry {\code {S_ISVTX}}{201} -\entry {\code {S_IWGRP}}{200} -\entry {\code {S_IWOTH}}{200} -\entry {\code {S_IWRITE}}{200} -\entry {\code {S_IWUSR}}{200} -\entry {\code {S_IXGRP}}{200} -\entry {\code {S_IXOTH}}{200} -\entry {\code {S_IXUSR}}{200} -\entry {\code {SA_DISABLE}}{438, 439} -\entry {\code {SA_NOCLDSTOP}}{408} -\entry {\code {SA_ONSTACK}}{408, 438, 439} -\entry {\code {SA_RESTART}}{408} -\entry {\code {SEEK_CUR}}{136} -\entry {\code {SEEK_END}}{136} -\entry {\code {SEEK_SET}}{136} -\entry {\code {services}}{497, 498} -\entry {\code {shadow}}{497, 498} -\entry {\code {SIG_BLOCK}}{430} -\entry {\code {SIG_DFL}}{403} -\entry {\code {SIG_ERR}}{404} -\entry {\code {SIG_IGN}}{403} -\entry {\code {SIG_SETMASK}}{430} -\entry {\code {SIG_UNBLOCK}}{430} -\entry {\code {SIGABRT}}{394} -\entry {\code {SIGALRM}}{397} -\entry {\code {SIGBUS}}{394} -\entry {\code {SIGCHLD}}{398} -\entry {\code {SIGCLD}}{398} -\entry {\code {SIGCONT}}{398} -\entry {\code {SIGEMT}}{395} -\entry {\code {SIGFPE}}{392} -\entry {\code {SIGHUP}}{396} -\entry {\code {SIGILL}}{394} -\entry {\code {SIGINFO}}{401} -\entry {\code {SIGINT}}{395} -\entry {\code {SIGIO}}{397} -\entry {\code {SIGIOT}}{394} -\entry {\code {SIGKILL}}{396} -\entry {\code {SIGLOST}}{400} -\entry {\code {SIGPIPE}}{400} -\entry {\code {SIGPOLL}}{398} -\entry {\code {SIGPROF}}{397} -\entry {\code {SIGQUIT}}{396} -\entry {\code {SIGSEGV}}{394} -\entry {\code {SIGSTKSZ}}{438, 439} -\entry {\code {SIGSTOP}}{398} -\entry {\code {SIGSYS}}{395} -\entry {\code {SIGTERM}}{395} -\entry {\code {SIGTRAP}}{395} -\entry {\code {SIGTSTP}}{398} -\entry {\code {SIGTTIN}}{399} -\entry {\code {SIGTTOU}}{399} -\entry {\code {SIGURG}}{397} -\entry {\code {SIGUSR1}}{400} -\entry {\code {SIGUSR2}}{400} -\entry {\code {SIGVTALRM}}{397} -\entry {\code {SIGWINCH}}{401} -\entry {\code {SIGXCPU}}{400} -\entry {\code {SIGXFSZ}}{400} -\entry {\code {SOCK_DGRAM}}{220} -\entry {\code {SOCK_RAW}}{221} -\entry {\code {SOCK_STREAM}}{220} -\entry {\code {SOL_SOCKET}}{263} -\entry {\code {SSIZE_MAX}}{534} -\entry {\code {stderr}}{92} -\entry {\code {STDERR_FILENO}}{158} -\entry {\code {stdin}}{91} -\entry {\code {STDIN_FILENO}}{157} -\entry {\code {stdout}}{91} -\entry {\code {STDOUT_FILENO}}{158} -\entry {\code {STREAM_MAX}}{533} -\entry {\code {SV_INTERRUPT}}{441} -\entry {\code {SV_ONSTACK}}{441} -\entry {\code {SV_RESETHAND}}{442} -\entry {\code {sys_siglist}}{402} +\entry {\code {S_IEXEC}}{202} +\entry {\code {S_IFBLK}}{200} +\entry {\code {S_IFCHR}}{200} +\entry {\code {S_IFDIR}}{200} +\entry {\code {S_IFIFO}}{200} +\entry {\code {S_IFLNK}}{200} +\entry {\code {S_IFMT}}{200} +\entry {\code {S_IFREG}}{200} +\entry {\code {S_IFSOCK}}{200} +\entry {\code {S_IREAD}}{202} +\entry {\code {S_IRGRP}}{202} +\entry {\code {S_IROTH}}{202} +\entry {\code {S_IRUSR}}{202} +\entry {\code {S_IRWXG}}{202} +\entry {\code {S_IRWXO}}{202} +\entry {\code {S_IRWXU}}{202} +\entry {\code {S_ISGID}}{203} +\entry {\code {S_ISUID}}{203} +\entry {\code {S_ISVTX}}{203} +\entry {\code {S_IWGRP}}{202} +\entry {\code {S_IWOTH}}{202} +\entry {\code {S_IWRITE}}{202} +\entry {\code {S_IWUSR}}{202} +\entry {\code {S_IXGRP}}{202} +\entry {\code {S_IXOTH}}{202} +\entry {\code {S_IXUSR}}{202} +\entry {\code {SA_DISABLE}}{440, 441} +\entry {\code {SA_NOCLDSTOP}}{410} +\entry {\code {SA_ONSTACK}}{410, 440, 441} +\entry {\code {SA_RESTART}}{410} +\entry {\code {SEEK_CUR}}{138} +\entry {\code {SEEK_END}}{138} +\entry {\code {SEEK_SET}}{138} +\entry {\code {services}}{499, 500} +\entry {\code {shadow}}{499, 500} +\entry {\code {SIG_BLOCK}}{432} +\entry {\code {SIG_DFL}}{405} +\entry {\code {SIG_ERR}}{406} +\entry {\code {SIG_IGN}}{405} +\entry {\code {SIG_SETMASK}}{432} +\entry {\code {SIG_UNBLOCK}}{432} +\entry {\code {SIGABRT}}{396} +\entry {\code {SIGALRM}}{399} +\entry {\code {SIGBUS}}{396} +\entry {\code {SIGCHLD}}{400} +\entry {\code {SIGCLD}}{400} +\entry {\code {SIGCONT}}{400} +\entry {\code {SIGEMT}}{397} +\entry {\code {SIGFPE}}{394} +\entry {\code {SIGHUP}}{398} +\entry {\code {SIGILL}}{396} +\entry {\code {SIGINFO}}{403} +\entry {\code {SIGINT}}{397} +\entry {\code {SIGIO}}{399} +\entry {\code {SIGIOT}}{396} +\entry {\code {SIGKILL}}{398} +\entry {\code {SIGLOST}}{402} +\entry {\code {SIGPIPE}}{402} +\entry {\code {SIGPOLL}}{400} +\entry {\code {SIGPROF}}{399} +\entry {\code {SIGQUIT}}{398} +\entry {\code {SIGSEGV}}{396} +\entry {\code {SIGSTKSZ}}{440, 441} +\entry {\code {SIGSTOP}}{400} +\entry {\code {SIGSYS}}{397} +\entry {\code {SIGTERM}}{397} +\entry {\code {SIGTRAP}}{397} +\entry {\code {SIGTSTP}}{400} +\entry {\code {SIGTTIN}}{401} +\entry {\code {SIGTTOU}}{401} +\entry {\code {SIGURG}}{399} +\entry {\code {SIGUSR1}}{402} +\entry {\code {SIGUSR2}}{402} +\entry {\code {SIGVTALRM}}{399} +\entry {\code {SIGWINCH}}{403} +\entry {\code {SIGXCPU}}{402} +\entry {\code {SIGXFSZ}}{402} +\entry {\code {SOCK_DGRAM}}{222} +\entry {\code {SOCK_RAW}}{223} +\entry {\code {SOCK_STREAM}}{222} +\entry {\code {SOL_SOCKET}}{265} +\entry {\code {SSIZE_MAX}}{536} +\entry {\code {stderr}}{94} +\entry {\code {STDERR_FILENO}}{160} +\entry {\code {stdin}}{93} +\entry {\code {STDIN_FILENO}}{159} +\entry {\code {stdout}}{93} +\entry {\code {STDOUT_FILENO}}{160} +\entry {\code {STREAM_MAX}}{535} +\entry {\code {SV_INTERRUPT}}{443} +\entry {\code {SV_ONSTACK}}{443} +\entry {\code {SV_RESETHAND}}{444} +\entry {\code {sys_siglist}}{404} \initial {T} -\entry {\code {TCIFLUSH}}{290} -\entry {\code {TCIOFF}}{290} -\entry {\code {TCIOFLUSH}}{290} -\entry {\code {TCION}}{290} -\entry {\code {TCOFLUSH}}{290} -\entry {\code {TCOOFF}}{290} -\entry {\code {TCOON}}{290} -\entry {\code {TCSADRAIN}}{270} -\entry {\code {TCSAFLUSH}}{271} -\entry {\code {TCSANOW}}{270} -\entry {\code {TCSASOFT}}{271} -\entry {\code {timezone}}{351} -\entry {\code {TMP_MAX}}{209} -\entry {\code {TOSTOP}}{280} -\entry {\code {TRY_AGAIN}}{233} -\entry {\code {tzname}}{350} -\entry {\code {TZNAME_MAX}}{534} +\entry {\code {TCIFLUSH}}{292} +\entry {\code {TCIOFF}}{292} +\entry {\code {TCIOFLUSH}}{292} +\entry {\code {TCION}}{292} +\entry {\code {TCOFLUSH}}{292} +\entry {\code {TCOOFF}}{292} +\entry {\code {TCOON}}{292} +\entry {\code {TCSADRAIN}}{272} +\entry {\code {TCSAFLUSH}}{273} +\entry {\code {TCSANOW}}{272} +\entry {\code {TCSASOFT}}{273} +\entry {\code {timezone}}{353} +\entry {\code {TMP_MAX}}{211} +\entry {\code {TOSTOP}}{282} +\entry {\code {TRY_AGAIN}}{235} +\entry {\code {tzname}}{352} +\entry {\code {TZNAME_MAX}}{536} \initial {V} -\entry {\code {VDISCARD}}{287} -\entry {\code {VDSUSP}}{285} -\entry {\code {VEOF}}{283} -\entry {\code {VEOL}}{283} -\entry {\code {VEOL2}}{283} -\entry {\code {VERASE}}{283} -\entry {\code {VINTR}}{284} -\entry {\code {VKILL}}{284} -\entry {\code {VLNEXT}}{286} -\entry {\code {VMIN}}{287} -\entry {\code {VQUIT}}{285} -\entry {\code {VREPRINT}}{284} -\entry {\code {VSTART}}{286} -\entry {\code {VSTATUS}}{287} -\entry {\code {VSTOP}}{286} -\entry {\code {VSUSP}}{285} -\entry {\code {VTIME}}{287} -\entry {\code {VWERASE}}{284} +\entry {\code {VDISCARD}}{289} +\entry {\code {VDSUSP}}{287} +\entry {\code {VEOF}}{285} +\entry {\code {VEOL}}{285} +\entry {\code {VEOL2}}{285} +\entry {\code {VERASE}}{285} +\entry {\code {VINTR}}{286} +\entry {\code {VKILL}}{286} +\entry {\code {VLNEXT}}{288} +\entry {\code {VMIN}}{289} +\entry {\code {VQUIT}}{287} +\entry {\code {VREPRINT}}{286} +\entry {\code {VSTART}}{288} +\entry {\code {VSTATUS}}{289} +\entry {\code {VSTOP}}{288} +\entry {\code {VSUSP}}{287} +\entry {\code {VTIME}}{289} +\entry {\code {VWERASE}}{286} \initial {W} -\entry {\code {W_OK}}{205} +\entry {\code {W_OK}}{207} \initial {X} -\entry {\code {X_OK}}{206} +\entry {\code {X_OK}}{208} diff -durpN glibc-2.0.2/manual/memory.texi glibc-2.0.3/manual/memory.texi --- glibc-2.0.2/manual/memory.texi Sun Feb 9 22:18:26 1997 +++ glibc-2.0.3/manual/memory.texi Thu Apr 17 16:27:08 1997 @@ -38,7 +38,6 @@ will be freed automatically. @xref{Vari calling function returns. * Relocating Allocator:: Waste less memory, if you can tolerate automatic relocation of the blocks you get. -* Memory Warnings:: Getting warnings when memory is nearly full. @end menu @node Memory Concepts @@ -140,6 +139,8 @@ any time (or never). these functions. * Aligned Memory Blocks:: Allocating specially aligned memory: @code{memalign} and @code{valloc}. +* Malloc Tunable Parameters:: Use @code{mallopt} to adjust allocation + parameters. * Heap Consistency Checking:: Automatic checking for errors. * Hooks for Malloc:: You can use these hooks for debugging programs that use @code{malloc}. @@ -238,10 +239,10 @@ savestring (const char *ptr, size_t len) The block that @code{malloc} gives you is guaranteed to be aligned so that it can hold any type of data. In the GNU system, the address is -always a multiple of eight; if the size of block is 16 or more, then the -address is always a multiple of 16. Only rarely is any higher boundary -(such as a page boundary) necessary; for those cases, use -@code{memalign} or @code{valloc} (@pxref{Aligned Memory Blocks}). +always a multiple of eight on most systems, and a multiple of 16 on +64-bit systems. Only rarely is any higher boundary (such as a page +boundary) necessary; for those cases, use @code{memalign} or +@code{valloc} (@pxref{Aligned Memory Blocks}). Note that the memory located after the end of the block is likely to be in use for something else; perhaps a block already allocated by another @@ -368,9 +369,11 @@ xrealloc (void *ptr, size_t size) @end smallexample You can also use @code{realloc} to make a block smaller. The reason you -would do this is to avoid tying up a lot of memory space when only a little -is needed. Making a block smaller sometimes necessitates copying it, so it -can fail if no other space is available. +is needed. +@comment The following is no longer true with the new malloc. +@comment But it seems wise to keep the warning for other implementations. +In several allocation implementations, making a block smaller sometimes +necessitates copying it, so it can fail if no other space is available. If the new size you specify is the same as the old size, @code{realloc} is guaranteed to change nothing and return the same address that you gave. @@ -404,10 +407,18 @@ calloc (size_t count, size_t eltsize) @} @end smallexample +But in general, it is not guaranteed that @code{calloc} calls +@code{malloc} internally. Therefore, if an application provides its own +@code{malloc}/@code{realloc}/@code{free} outside the C library, it +should always define @code{calloc}, too. + @node Efficiency and Malloc @subsection Efficiency Considerations for @code{malloc} @cindex efficiency and @code{malloc} +@ignore + +@c No longer true, see below instead. To make the best use of @code{malloc}, it helps to know that the GNU version of @code{malloc} always dispenses small amounts of memory in blocks whose sizes are powers of two. It keeps separate pools for each @@ -433,6 +444,24 @@ time using it. Also, large blocks are n Therefore, for large blocks, it makes sense to use a method which takes more time to minimize the wasted space. +@end ignore + +As apposed to other versions, the @code{malloc} in GNU libc does not +round up block sizes to powers of two, neither for large nor for small +sizes. Neighboring chunks can be coalesced on a @code{free} no matter +what their size is. This makes the implementation suitable for all +kinds of allocation patterns without generally incurring high memory +waste through fragmentation. + +Very large blocks (much larger than a page) are allocated with +@code{mmap} (anonymous or via @code{/dev/zero}) by this implementation. +This has the great advantage that these chunks are returned to the +system immediately when they are freed. Therefore, it cannot happen +that a large chunk becomes ``locked'' in between smaller ones and even +after calling @code{free} wastes memory. The size threshold for +@code{mmap} to be used can be adjusted with @code{mallopt}. The use of +@code{mmap} can also be disabled completely. + @node Aligned Memory Blocks @subsection Allocating Aligned Memory Blocks @@ -440,10 +469,10 @@ more time to minimize the wasted space. @cindex alignment (with @code{malloc}) @pindex stdlib.h The address of a block returned by @code{malloc} or @code{realloc} in -the GNU system is always a multiple of eight. If you need a block whose -address is a multiple of a higher power of two than that, use -@code{memalign} or @code{valloc}. These functions are declared in -@file{stdlib.h}. +the GNU system is always a multiple of eight (or sixteen on 64-bit +systems). If you need a block whose address is a multiple of a higher +power of two than that, use @code{memalign} or @code{valloc}. These +functions are declared in @file{stdlib.h}. With the GNU library, you can use @code{free} to free the blocks that @code{memalign} and @code{valloc} return. That does not work in BSD, @@ -454,9 +483,9 @@ however---BSD does not provide any way t @deftypefun {void *} memalign (size_t @var{boundary}, size_t @var{size}) The @code{memalign} function allocates a block of @var{size} bytes whose address is a multiple of @var{boundary}. The @var{boundary} must be a -power of two! The function @code{memalign} works by calling -@code{malloc} to allocate a somewhat larger block, and then returning an -address within the block that is on the specified boundary. +power of two! The function @code{memalign} works by allocating a +somewhat larger block, and then returning an address within the block +that is on the specified boundary. @end deftypefun @comment malloc.h stdlib.h @@ -475,6 +504,42 @@ valloc (size_t size) @c !!! xref getpagesize @end deftypefun +@node Malloc Tunable Parameters +@subsection Malloc Tunable Parameters + +You can adjust some parameters for dynamic memory allocation with the +@code{mallopt} function. This function is the general SVID/XPG +interface, defined in @file{malloc.h}. +@pindex malloc.h + +@deftypefun int mallopt (int @var{param}, int @var{value}) +When calling @code{mallopt}, the @var{param} argument specifies the +parameter to be set, and @var{value} the new value to be set. Possible +choices for @var{param}, as defined in @file{malloc.h}, are: + +@table @code +@item M_TRIM_THRESHOLD +This is the minimum size (in bytes) of the top-most, releaseable chunk +that will cause @code{sbrk} to be called with a negative argument in +order to return memory to the system. +@item M_TOP_PAD +This parameter determines the amount of extra memory to obtain from the +system when a call to @code{sbrk} is required. It also specifies the +number of bytes to retain when shrinking the heap by calling @code{sbrk} +with a negative argument. This provides the necessary hysteresis in +heap size such that excessive amounts of system calls can be avoided. +@item M_MMAP_THRESHOLD +All chunks larger than this value are allocated outside the normal +heap, using the @code{mmap} system call. This way it is guaranteed +that the memory for these chunks can be returned to the system on +@code{free}. +@item M_MMAP_MAX +The maximum number of chunks to allocate with @code{mmap}. Setting this +to zero disables all use of @code{mmap}. +@end table + +@end deftypefun + @node Heap Consistency Checking @subsection Heap Consistency Checking @@ -636,44 +701,62 @@ installing such hooks. @cindex allocation statistics You can get information about dynamic storage allocation by calling the -@code{mstats} function. This function and its associated data type are -declared in @file{malloc.h}; they are a GNU extension. +@code{mallinfo} function. This function and its associated data type +are declared in @file{malloc.h}; they are an extension of the standard +SVID/XPG version. @pindex malloc.h @comment malloc.h @comment GNU -@deftp {Data Type} {struct mstats} +@deftp {Data Type} {struct mallinfo} This structure type is used to return information about the dynamic storage allocator. It contains the following members: @table @code -@item size_t bytes_total -This is the total size of memory managed by @code{malloc}, in bytes. +@item int arena +This is the total size of memory allocated with @code{sbrk} by +@code{malloc}, in bytes. -@item size_t chunks_used -This is the number of chunks in use. (The storage allocator internally -gets chunks of memory from the operating system, and then carves them up -to satisfy individual @code{malloc} requests; see @ref{Efficiency and -Malloc}.) +@item int ordblks +This is the number of chunks not in use. (The storage allocator +internally gets chunks of memory from the operating system, and then +carves them up to satisfy individual @code{malloc} requests; see +@ref{Efficiency and Malloc}.) -@item size_t bytes_used -This is the number of bytes in use. +@item int smblks +This field is unused. -@item size_t chunks_free -This is the number of chunks which are free -- that is, that have been -allocated by the operating system to your program, but which are not -now being used. +@item int hblks +This is the total number of chunks allocated with @code{mmap}. + +@item int hblkhd +This is the total size of memory allocated with @code{mmap}, in bytes. + +@item int usmblks +This field is unused. + +@item int fsmblks +This field is unused. + +@item int uordblks +This is the total size of memory occupied by chunks handed out by +@code{malloc}. + +@item int fordblks +This is the total size of memory occupied by free (not in use) chunks. + +@item int keepcost +This is the size of the top-most, releaseable chunk that normally +borders the end of the heap (i.e. the ``brk'' of the process). -@item size_t bytes_free -This is the number of bytes which are free. @end table @end deftp @comment malloc.h -@comment GNU -@deftypefun {struct mstats} mstats (void) +@comment SVID +@deftypefun {struct mallinfo} mallinfo (void) This function returns information about the current dynamic memory usage -in a structure of type @code{struct mstats}. +in a structure of type @code{struct mallinfo}. @end deftypefun @node Summary of Malloc @@ -706,6 +789,9 @@ Allocate a block of @var{size} bytes, st Allocate a block of @var{size} bytes, starting on an address that is a multiple of @var{boundary}. @xref{Aligned Memory Blocks}. +@item int mallopt (int @var{param}, int @var{value}) +Adjust a tunable parameter. @xref{Malloc Tunable Parameters} + @item int mcheck (void (*@var{abortfn}) (void)) Tell @code{malloc} to perform occasional consistency checks on dynamically allocated memory, and to call @var{abortfn} when an @@ -720,7 +806,7 @@ A pointer to a function that @code{reall @item void (*__free_hook) (void *@var{ptr}) A pointer to a function that @code{free} uses whenever it is called. -@item struct mstats mstats (void) +@item struct mallinfo mallinfo (void) Return information about the current dynamic memory usage. @xref{Statistics of Malloc}. @end table @@ -1744,10 +1830,13 @@ If enough memory is not available, this and does not modify @code{*@var{handleptr}}. @end deftypefun -@node Memory Warnings -@section Memory Usage Warnings -@cindex memory usage warnings -@cindex warnings of memory almost full +@ignore +@comment No longer available... + +@comment @node Memory Warnings +@comment @section Memory Usage Warnings +@comment @cindex memory usage warnings +@comment @cindex warnings of memory almost full @pindex malloc.c You can ask for warnings as the program approaches running out of memory @@ -1757,7 +1846,7 @@ system. This is a GNU extension declare @comment malloc.h @comment GNU -@deftypefun void memory_warnings (void *@var{start}, void (*@var{warn-func}) (const char *)) +@comment @deftypefun void memory_warnings (void *@var{start}, void (*@var{warn-func}) (const char *)) Call this function to request warnings for nearing exhaustion of virtual memory. @@ -1775,3 +1864,5 @@ Normally it ought to display the string The warnings come when memory becomes 75% full, when it becomes 85% full, and when it becomes 95% full. Above 95% you get another warning each time memory usage increases. + +@end ignore diff -durpN glibc-2.0.2/manual/nss.texi glibc-2.0.3/manual/nss.texi --- glibc-2.0.2/manual/nss.texi Mon Feb 3 21:00:25 1997 +++ glibc-2.0.3/manual/nss.texi Thu Apr 17 16:12:52 1997 @@ -68,6 +68,9 @@ The databases available in the NSS are @cindex services @cindex shadow @vtable @code +@item aliases +Mail aliases +@comment @pxref{Mail Aliases}. @item ethers Ethernet numbers, @comment @pxref{Ethernet Numbers}. @@ -94,8 +97,8 @@ Shadow user passwords, @end vtable @noindent -There will be some more added later (@code{aliases}, @code{automount}, -@code{bootparams}, @code{netmasks}, and @code{publickey}). +There will be some more added later (@code{automount}, @code{bootparams}, +@code{netmasks}, and @code{publickey}). @node NSS Configuration File, NSS Module Internals, NSS Basics, Name Service Switch @section The NSS Configuration File @@ -123,7 +126,7 @@ different items: @item the service specification like @code{files}, @code{db}, or @code{nis}. @item -the reaction on lookup result line @code{[NOTFOUND=return]}. +the reaction on lookup result like @code{[NOTFOUND=return]}. @end itemize @menu @@ -346,8 +349,9 @@ functions. I.e., if the user would call function this also would end in the above function. For all user interface functions the C library maps this call to a call to the reentrant function. For reentrant functions this is trivial since the -interface is (nearly) the same. For the non-reentrant version pointers -to static buffers are used to replace the user supplied buffers. +interface is (nearly) the same. For the non-reentrant version The +library keeps internal buffers which are used to replace the user +supplied buffer. I.e., the reentrant functions @emph{can} have counterparts. No service module is forced to have functions for all databases and all kinds to @@ -399,9 +403,9 @@ enum nss_status _nss_files_gethostbyname @end smallexample I.e., the interface function is in fact the reentrant function with the -change of the return value. While the user-level function returns a -pointer to the result the reentrant function return an @code{enum -nss_status} value: +change of the return value and the omission of the @var{result} +parameter. While the user-level function returns a pointer to the +result the reentrant function return an @code{enum nss_status} value: @vindex NSS_STATUS_TRYAGAIN @vindex NSS_STATUS_UNAVAIL @@ -458,13 +462,13 @@ function; the next three arguments are: @table @code -@item STRUCT_TYPE result_buf +@item STRUCT_TYPE *result_buf pointer to buffer where the result is stored. @code{STRUCT_TYPE} is normally a struct which corresponds to the database. @item char *buffer pointer to a buffer where the function can store additional adata for the result etc. -@item int buflen +@item size_t buflen length of the buffer pointed to by @var{buffer}. @end table diff -durpN glibc-2.0.2/manual/stamp-summary glibc-2.0.3/manual/stamp-summary --- glibc-2.0.2/manual/stamp-summary Tue Mar 18 13:35:51 1997 +++ glibc-2.0.3/manual/stamp-summary Fri Apr 18 11:50:35 1997 @@ -1 +1 @@ -Die Mär 18 19:35:51 CET 1997 +Fri Apr 18 17:50:35 CEST 1997 diff -durpN glibc-2.0.2/manual/string.texi glibc-2.0.3/manual/string.texi --- glibc-2.0.2/manual/string.texi Mon Feb 3 21:00:28 1997 +++ glibc-2.0.3/manual/string.texi Thu Apr 17 16:42:40 1997 @@ -881,7 +881,7 @@ strstr ("hello, world", "wo") @comment string.h @comment GNU -@deftypefun {void *} memmem (const void *@var{needle}, size_t @var{needle-len},@*const void *@var{haystack}, size_t @var{haystack-len}) +@deftypefun {void *} memmem (const void *@var{haystack}, size_t @var{haystack-len},@*const void *@var{needle}, size_t @var{needle-len}) This is like @code{strstr}, but @var{needle} and @var{haystack} are byte arrays rather than null-terminated strings. @var{needle-len} is the length of @var{needle} and @var{haystack-len} is the length of diff -durpN glibc-2.0.2/manual/summary.texi glibc-2.0.3/manual/summary.texi --- glibc-2.0.2/manual/summary.texi Wed Mar 5 17:38:46 1997 +++ glibc-2.0.3/manual/summary.texi Fri Apr 18 11:50:35 1997 @@ -989,6 +989,11 @@ @file{errno.h} (BSD: Too many levels of symbolic links): @ref{Error Codes,}. +@comment EMEDIUMTYPE +@item int EMEDIUMTYPE + +@file{errno.h} (Linux???: Wrong medium type): @ref{Error Codes,}. + @comment EMFILE @item int EMFILE @@ -1124,6 +1129,11 @@ @file{errno.h} (XOPEN: Link has been severed): @ref{Error Codes,}. +@comment ENOMEDIUM +@item int ENOMEDIUM + +@file{errno.h} (Linux???: No medium found): @ref{Error Codes,}. + @comment ENOMEM @item int ENOMEM @@ -2849,6 +2859,11 @@ @file{sys/file.h} (BSD): @ref{File Positioning}. +@comment mallinfo +@item struct mallinfo mallinfo (void) + +@file{malloc.h} (SVID): @ref{Statistics of Malloc}. + @comment __malloc_hook @item __malloc_hook @@ -2935,7 +2950,7 @@ @file{string.h} (ISO): @ref{Copying and Concatenation,}. @comment memmem -@item void * memmem (const void *@var{needle}, size_t @var{needle-len},@*const void *@var{haystack}, size_t @var{haystack-len}) +@item void * memmem (const void *@var{haystack}, size_t @var{haystack-len},@*const void *@var{needle}, size_t @var{needle-len}) @file{string.h} (GNU): @ref{Search Functions,}. @@ -2944,11 +2959,6 @@ @file{string.h} (ISO): @ref{Copying and Concatenation,}. -@comment memory_warnings -@item void memory_warnings (void *@var{start}, void (*@var{warn-func}) (const char *)) - -@file{malloc.h} (GNU): @ref{Memory Warnings}. - @comment memset @item void * memset (void *@var{block}, int @var{c}, size_t @var{size}) @@ -3009,11 +3019,6 @@ @file{sys/socket.h} (BSD): @ref{Socket Data Options}. -@comment mstats -@item struct mstats mstats (void) - -@file{malloc.h} (GNU): @ref{Statistics of Malloc}. - @comment NAME_MAX @item int NAME_MAX @@ -5334,6 +5339,11 @@ @file{string.h} (ISO): @ref{Error Messages,}. +@comment strerror_r +@item char * strerror_r (int @var{errnum}, char *@var{buf}, size_t @var{n}) + +@file{string.h} (GNU): @ref{Error Messages,}. + @comment strftime @item size_t strftime (char *@var{s}, size_t @var{size}, const char *@var{template}, const struct tm *@var{brokentime}) @@ -5499,15 +5509,15 @@ @file{sys/socket.h} (BSD): @ref{Socket-Level Options}. +@comment struct mallinfo +@item struct mallinfo + +@file{malloc.h} (GNU): @ref{Statistics of Malloc}. + @comment struct msghdr @item struct msghdr @file{sys/socket.h} (BSD): @ref{Receiving Datagrams}. - -@comment struct mstats -@item struct mstats - -@file{malloc.h} (GNU): @ref{Statistics of Malloc}. @comment struct netent @item struct netent diff -durpN glibc-2.0.2/nss/getXXbyYY.c glibc-2.0.3/nss/getXXbyYY.c --- glibc-2.0.2/nss/getXXbyYY.c Tue Jan 7 18:29:17 1997 +++ glibc-2.0.3/nss/getXXbyYY.c Fri Apr 4 15:02:11 1997 @@ -122,6 +122,9 @@ FUNCTION_NAME (ADD_PARAMS) buffer = new_buf; } + if (buffer == NULL) + result = NULL; + #ifdef HANDLE_DIGITS_DOTS done: #endif diff -durpN glibc-2.0.2/nss/getXXent.c glibc-2.0.3/nss/getXXent.c --- glibc-2.0.2/nss/getXXent.c Sun Dec 1 22:59:24 1996 +++ glibc-2.0.3/nss/getXXent.c Fri Apr 4 15:02:16 1997 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996 Free Software Foundation, Inc. +/* Copyright (C) 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 @@ -69,7 +69,7 @@ GETFUNC_NAME (void) static char *buffer; static size_t buffer_size; static LOOKUP_TYPE resbuf; - LOOKUP_TYPE *result = NULL; + LOOKUP_TYPE *result; int save; /* Get lock. */ @@ -102,6 +102,9 @@ GETFUNC_NAME (void) } buffer = new_buf; } + + if (buffer == NULL) + result = NULL; /* Release lock. Preserve error value. */ save = errno; diff -durpN glibc-2.0.2/nss/nss_files/files-XXX.c glibc-2.0.3/nss/nss_files/files-XXX.c --- glibc-2.0.2/nss/nss_files/files-XXX.c Tue Dec 3 20:40:44 1996 +++ glibc-2.0.3/nss/nss_files/files-XXX.c Fri Apr 4 15:02:42 1997 @@ -1,5 +1,5 @@ /* Common code for file-based databases in nss_files module. - Copyright (C) 1996 Free Software Foundation, Inc. + Copyright (C) 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 @@ -146,6 +146,7 @@ internal_getent (struct STRUCTURE *resul char *p; struct parser_data *data = (void *) buffer; int linebuflen = buffer + buflen - data->linebuffer; + int parse_result; if (buflen < (int) sizeof *data + 1) { @@ -182,10 +183,10 @@ internal_getent (struct STRUCTURE *resul while (*p == '\0' || *p == '#' /* Ignore empty and comment lines. */ /* Parse the line. If it is invalid, loop to get the next line of the file to parse. */ - || ! parse_line (p, result, data, buflen)); + || ! (parse_result = parse_line (p, result, data, buflen))); /* Filled in RESULT with the next entry from the database file. */ - return NSS_STATUS_SUCCESS; + return parse_result == -1 ? NSS_STATUS_TRYAGAIN : NSS_STATUS_SUCCESS; } diff -durpN glibc-2.0.2/nss/nss_files/files-parse.c glibc-2.0.3/nss/nss_files/files-parse.c --- glibc-2.0.2/nss/nss_files/files-parse.c Wed Dec 11 22:24:17 1996 +++ glibc-2.0.3/nss/nss_files/files-parse.c Fri Apr 4 15:02:56 1997 @@ -1,5 +1,5 @@ /* Common code for file-based database parsers in nss_files module. - Copyright (C) 1996 Free Software Foundation, Inc. + Copyright (C) 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 @@ -152,7 +152,7 @@ parse_line (char *line, struct STRUCTURE if (list) \ result->TRAILING_LIST_MEMBER = list; \ else \ - return 0; \ + return -1; /* -1 indicates we ran out of space. */ \ } static inline char ** @@ -189,29 +189,26 @@ parse_list (char *line, struct parser_da if (*line == '\0') break; + /* Skip leading white space. This might not be portable but useful. */ + while (isspace (*line)) + ++line; + elt = line; while (1) { - if (TRAILING_LIST_SEPARATOR_P (*line)) - { - *p++ = elt; - *line = '\0'; - do - ++line; - while (isspace (*line)); - elt = line; - } - else if (*line == '\0') + if (*line == '\0' || TRAILING_LIST_SEPARATOR_P (*line)) { - /* End of the line. */ + /* End of the next entry. */ if (line > elt) - /* Last element. */ + /* We really found some data. */ *p++ = elt; - *line = '\0'; + + /* Terminate string if necessary. */ + if (*line != '\0') + *line++ = '\0'; break; } - else - ++line; + ++line; } } *p = NULL; Binary files glibc-2.0.2/po/fr.mo and glibc-2.0.3/po/fr.mo differ diff -durpN glibc-2.0.2/po/fr.po glibc-2.0.3/po/fr.po --- glibc-2.0.2/po/fr.po Sun Feb 2 22:17:49 1997 +++ glibc-2.0.3/po/fr.po Thu Apr 3 13:23:43 1997 @@ -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: 1997-01-24 20:13 -0500\n" +"Project-Id-Version: GNU libc 2.0.3\n" +"POT-Creation-Date: 1997-03-30 19:08+0200\n" +"PO-Revision-Date: 1997-04-02 23:02 -0500\n" "Last-Translator: Michel Robitaille \n" "Language-Team: French \n" "MIME-Version: 1.0\n" @@ -33,31 +33,31 @@ msgstr " rpcinfo [ -n no_de_port ] msgid " program vers proto port\n" msgstr " program no_version protocole no_port\n" -#: time/zic.c:424 +#: time/zic.c:419 #, c-format msgid " (rule from \"%s\", line %d)" msgstr " (règles de \"%s\", ligne %d)" -#: locale/programs/ld-collate.c:360 locale/programs/ld-ctype.c:1234 +#: locale/programs/ld-collate.c:363 locale/programs/ld-ctype.c:1242 msgid " done\n" msgstr " complété.\n" -#: time/zic.c:421 +#: time/zic.c:416 #, c-format msgid "\"%s\", line %d: %s" msgstr "\"%s\", ligne %d: %s." -#: time/zic.c:945 +#: time/zic.c:943 #, c-format msgid "\"Zone %s\" line and -l option are mutually exclusive" msgstr "La ligne \"Zone %s\" et l'option -l sont mutuellement exclusives." -#: time/zic.c:953 +#: time/zic.c:951 #, c-format msgid "\"Zone %s\" line and -p option are mutually exclusive" msgstr "La ligne \"Zone %s\" et l'option -p sont mutuellement exclusives." -#: time/zic.c:758 +#: time/zic.c:754 #, c-format msgid "%s in ruleless zone" msgstr "%s est dans une zone sans règle." @@ -77,7 +77,7 @@ msgstr "%s%s%s:%u: %s%s erreur imprévue: msgid "%s%sUnknown signal %d\n" msgstr "%s%ssignal inconnu %d.\n" -#: time/zic.c:2139 +#: time/zic.c:2172 #, c-format msgid "%s: %d did not sign extend correctly\n" msgstr "%s: %d n'a pas fait correctement l'expansion de la valeur signée.\n" @@ -87,139 +87,144 @@ msgstr "%s: %d n'a pas fait correctement msgid "%s: must be greater than \n" msgstr "%s: doit être plus grande que .\n" -#: time/zic.c:1430 +#: time/zic.c:1443 #, c-format msgid "%s: Can't create %s: %s\n" msgstr "%s: ne peut créer %s: %s.\n" -#: time/zic.c:2118 +#: time/zic.c:2150 #, c-format msgid "%s: Can't create directory %s: %s\n" msgstr "%s: ne peut créer le répertoire %s: %s.\n" -#: time/zic.c:612 +#: time/zic.c:608 #, c-format msgid "%s: Can't link from %s to %s: %s\n" msgstr "%s: ne peut établir un lien entre %s et %s: %s.\n" -#: time/zic.c:783 +#: time/zic.c:780 #, c-format msgid "%s: Can't open %s: %s\n" msgstr "%s: ne peut ouvrir %s: %s.\n" -#: time/zic.c:851 +#: time/zic.c:1433 +#, c-format +msgid "%s: Can't remove %s: %s\n" +msgstr "%s: ne peut enlever %s: %s.\n" + +#: time/zic.c:849 #, c-format msgid "%s: Error closing %s: %s\n" msgstr "%s: erreur lors de la fermeture de %s: %s.\n" -#: time/zic.c:845 +#: time/zic.c:842 #, c-format msgid "%s: Error reading %s\n" msgstr "%s: erreur de lecture de %s.\n" -#: time/zic.c:1494 +#: time/zic.c:1507 #, c-format msgid "%s: Error writing %s\n" msgstr "%s: erreur d'écriture de %s.\n" -#: time/zdump.c:258 +#: time/zdump.c:266 #, c-format msgid "%s: Error writing standard output " msgstr "%s: erreur d'écriture sur la sortie standard." -#: time/zic.c:830 +#: time/zic.c:827 #, c-format msgid "%s: Leap line in non leap seconds file %s\n" msgstr "" "%s: ligne de type `Leap' dans un fichier qui n'a pas\n" "de délai en secondes %s.\n" -#: time/zic.c:362 +#: time/zic.c:357 #, c-format msgid "%s: Memory exhausted: %s\n" msgstr "%s: mémoire épuisée: %s.\n" -#: time/zic.c:527 +#: time/zic.c:522 #, c-format msgid "%s: More than one -L option specified\n" msgstr "%s: option -L spécifiée plus d'une fois.\n" -#: time/zic.c:487 +#: time/zic.c:482 #, c-format msgid "%s: More than one -d option specified\n" msgstr "%s: option -d spécifiée plus d'une fois.\n" -#: time/zic.c:497 +#: time/zic.c:492 #, c-format msgid "%s: More than one -l option specified\n" msgstr "%s: option -l spécifiée plus d'une fois.\n" -#: time/zic.c:507 +#: time/zic.c:502 #, c-format msgid "%s: More than one -p option specified\n" msgstr "%s: option -p spécifiée plus d'une fois.\n" -#: time/zic.c:517 +#: time/zic.c:512 #, c-format msgid "%s: More than one -y option specified\n" msgstr "%s: option -y spécifiée plus d'une fois.\n" -#: time/zic.c:1845 +#: time/zic.c:1872 #, c-format msgid "%s: command was '%s', result was %d\n" msgstr "%s: la commande était '%s', le résultat était %d.\n" -#: locale/programs/charmap.c:593 locale/programs/locfile.c:878 +#: locale/programs/charmap.c:593 locale/programs/locfile.c:900 #, c-format msgid "%s: error in state machine" msgstr "%s: erreur de l'automate à états finis." -#: posix/getopt.c:687 +#: posix/getopt.c:783 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: option illégale -- %c.\n" -#: posix/getopt.c:690 +#: posix/getopt.c:786 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: option invalide -- %c.\n" -#: posix/getopt.c:611 +#: posix/getopt.c:707 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: l'option `%c%s' ne permet pas de paramètre.\n" -#: posix/getopt.c:582 +#: posix/getopt.c:678 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: l'option `%s' est ambiguë.\n" -#: posix/getopt.c:628 posix/getopt.c:801 +#: posix/getopt.c:724 posix/getopt.c:897 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: l'option `%s' requiert un paramètre.\n" -#: posix/getopt.c:606 +#: posix/getopt.c:702 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: l'option `--%s' ne permet pas de paramètre.\n" -#: posix/getopt.c:786 +#: posix/getopt.c:881 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: l'option `-W %s' ne permet pas de paramètre.\n" -#: posix/getopt.c:767 +#: posix/getopt.c:863 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: l'option `-W %s' est ambiguë.\n" -#: posix/getopt.c:721 posix/getopt.c:850 +#: posix/getopt.c:816 posix/getopt.c:946 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: l'option requiert un paramètre -- %c.\n" -#: time/zic.c:837 time/zic.c:1248 time/zic.c:1268 +#: time/zic.c:834 time/zic.c:1246 time/zic.c:1266 #, c-format msgid "%s: panic: Invalid l_value %d\n" msgstr "%s: panique: valeur %d de type `l_value' invalide.\n" @@ -229,17 +234,17 @@ msgstr "%s: panique: valeur %d de type ` msgid "%s: premature end of file" msgstr "%s: fin prématurée de fichier." -#: posix/getopt.c:661 +#: posix/getopt.c:757 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: option non reconnue `%c%s'.\n" -#: posix/getopt.c:657 +#: posix/getopt.c:753 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: option non reconnue `--%s'.\n" -#: time/zic.c:446 +#: time/zic.c:441 #, c-format msgid "" "%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d " @@ -250,7 +255,7 @@ msgstr "" "\t[ -d répertoire ]\n" "\t[ -L secondes_écoulées ] [ -y type_année ] [ fichier ... ]\n" -#: time/zdump.c:165 +#: time/zdump.c:174 #, c-format msgid "%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n" msgstr "%s: usage: %s [ -v ] [ -c seuil ] nom_de_zone ...\n" @@ -264,7 +269,7 @@ msgstr "(erreur inconnue d'authentificat msgid "(unknown)" msgstr "(inconnu)" -#: catgets/gencat.c:253 +#: catgets/gencat.c:254 msgid "*standard input*" msgstr "*entrée standard*" @@ -272,19 +277,19 @@ msgstr "*entrée standard*" msgid ".lib section in a.out corrupted" msgstr "La section .lib dans a.out est corrompue." -#: inet/rcmd.c:358 +#: inet/rcmd.c:363 msgid ".rhosts fstat failed" msgstr "Échec d'évaluation fstat() de .rhosts." -#: inet/rcmd.c:354 +#: inet/rcmd.c:359 msgid ".rhosts lstat failed" msgstr "Échec d'évaluation lstat() de .rhosts." -#: inet/rcmd.c:356 +#: inet/rcmd.c:361 msgid ".rhosts not regular file" msgstr ".rhosts n'est pas un fichier régulier." -#: inet/rcmd.c:362 +#: inet/rcmd.c:367 msgid ".rhosts writeable by other than owner" msgstr ".rhosts accessible en écriture par d'autres que le propriétaire." @@ -297,12 +302,12 @@ msgstr "; version basse = %lu, version h msgid "; why = " msgstr "; pourquoi = " -#: locale/programs/ld-ctype.c:326 +#: locale/programs/ld-ctype.c:331 #, c-format msgid " character must not be in class `%s'" msgstr "Le caractère ne doit pas être dans la classe `%s'." -#: locale/programs/ld-ctype.c:317 +#: locale/programs/ld-ctype.c:321 #, c-format msgid " character not in class `%s'" msgstr "Le caractère n'est pas dans la classe `%s'." @@ -314,6 +319,10 @@ msgstr "Le caractère n'est pas dans msgid "?" msgstr "?" +#: sysdeps/unix/sysv/linux/siglist.h:27 +msgid "Aborted" +msgstr "Abandon" + #: stdio-common/../sysdeps/gnu/errlist.c:762 msgid "Accessing a corrupted shared library" msgstr "Accès d'une librairie partagée corrompue." @@ -333,6 +342,8 @@ msgstr "Famille d'adresses non supportée msgid "Advertise error" msgstr "Erreur d'annonce." +#: stdio-common/../sysdeps/unix/siglist.c:43 +#: sysdeps/unix/sysv/linux/siglist.h:33 msgid "Alarm clock" msgstr "Minuterie d'alerte" @@ -378,6 +389,11 @@ msgstr "Mauvais format du fichier de fon msgid "Bad message" msgstr "Message invalide." +#: stdio-common/../sysdeps/unix/siglist.c:41 +#: sysdeps/unix/sysv/linux/siglist.h:56 +msgid "Bad system call" +msgstr "Appel système erroné." + #. TRANS A file that isn't a block special file was given in a situation that #. TRANS requires one. For example, trying to mount an ordinary file as a file #. TRANS system in Unix gives this error. @@ -385,7 +401,7 @@ msgstr "Message invalide." msgid "Block device required" msgstr "Bloc de périphérique requis." -#: sunrpc/pmap_rmt.c:337 +#: sunrpc/pmap_rmt.c:338 msgid "Broadcast select problem" msgstr "Problème de sélection durant la diffusion." @@ -395,12 +411,17 @@ msgstr "Problème de sélection durant la #. 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 "Relais brisé (pipe)" +#: stdio-common/../sysdeps/unix/siglist.c:39 +#: sysdeps/unix/sysv/linux/siglist.h:30 msgid "Bus error" msgstr "Erreur du BUS." +#: sysdeps/unix/sysv/linux/siglist.h:43 msgid "CPU time limit exceeded" msgstr "Temps limite expiré." @@ -408,19 +429,19 @@ msgstr "Temps limite expiré." msgid "Can not access a needed shared library" msgstr "Ne peut accéder à la librairie partagée demandée." -#: nis/ypclnt.c:637 +#: nis/ypclnt.c:695 msgid "Can't bind to server which serves this domain" msgstr "Ne peut établir un lien avec le serveur qui dessert ce domaine." -#: nis/ypclnt.c:649 +#: nis/ypclnt.c:707 msgid "Can't communicate with portmapper" msgstr "Ne peut communiquer avec le convertisseur de ports." -#: nis/ypclnt.c:651 +#: nis/ypclnt.c:709 msgid "Can't communicate with ypbind" msgstr "Ne peut communiquer par ypbind." -#: nis/ypclnt.c:653 +#: nis/ypclnt.c:711 msgid "Can't communicate with ypserv" msgstr "Ne peut communiquer par ypserv." @@ -445,7 +466,7 @@ msgstr "Ne peut créer un socket pour une msgid "Cannot exec a shared library directly" msgstr "Ne peut exécuter une librairie partagée directement." -#: sunrpc/pmap_rmt.c:349 +#: sunrpc/pmap_rmt.c:350 msgid "Cannot receive reply to broadcast" msgstr "Ne peut recevoir l'accusé réception à la requête faite par diffusion." @@ -470,6 +491,8 @@ msgstr "Ne peut initialiser l'option `SO msgid "Channel number out of range" msgstr "Numéro de canal en dehors des limites." +#: stdio-common/../sysdeps/unix/siglist.c:49 +#: sysdeps/unix/sysv/linux/siglist.h:39 msgid "Child exited" msgstr "Le processus `enfant' a terminé." @@ -486,13 +509,13 @@ msgstr "Erreur de communication lors de msgid "Computer bought the farm" msgstr "Allez à la maison et buvez un verre de lait." -#: locale/programs/ld-ctype.c:1197 +#: locale/programs/ld-ctype.c:1204 msgid "Computing table size for character classes might take a while..." msgstr "" "Le calcul de la taille de la table des classes de caractères\n" "peut prendre un certain temps..." -#: locale/programs/ld-collate.c:327 +#: locale/programs/ld-collate.c:329 msgid "Computing table size for collation information might take a while..." msgstr "" "Le calcul de la taille de la table pour le fusionnement des informations\n" @@ -517,11 +540,13 @@ msgstr "Connexion ré-initialisée par le msgid "Connection timed out" msgstr "Connexion terminée par expiration du délai d'inactivité." +#: stdio-common/../sysdeps/unix/siglist.c:48 +#: sysdeps/unix/sysv/linux/siglist.h:38 msgid "Continued" msgstr "Poursuite." #: catgets/gencat.c:169 db/makedb.c:120 locale/programs/locale.c:187 -#: locale/programs/localedef.c:177 +#: locale/programs/localedef.c:180 #, c-format msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -533,7 +558,11 @@ msgstr "" "reproduction. AUCUNE garantie n'est donnée; tant pour des raisons\n" "COMMERÇIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.\n" -#: nis/ypclnt.c:663 +#: stdio-common/../sysdeps/unix/siglist.c:53 +msgid "Cputime limit exceeded" +msgstr "Temps d'exécution CPU limite expiré." + +#: nis/ypclnt.c:721 msgid "Database is busy" msgstr "La base de données est occupée." @@ -575,10 +604,15 @@ msgstr "Le répertoire n'est pas vide." msgid "Disc quota exceeded" msgstr "Débordement du quota du disque." -#: nis/ypclnt.c:709 +#: nis/ypclnt.c:767 msgid "Domain not bound" msgstr "Le domaine n'est fixé." +#: stdio-common/../sysdeps/unix/siglist.c:36 +#: sysdeps/unix/sysv/linux/siglist.h:53 +msgid "EMT trap" +msgstr "Trappe EMT." + #: sunrpc/clnt_perr.c:254 #, c-format msgid "Error %d" @@ -602,7 +636,7 @@ msgstr "L'échangeur est plein." msgid "Exec format error" msgstr "Erreur de format pour exec()." -#: locale/programs/localedef.c:213 +#: locale/programs/localedef.c:216 msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'" msgstr "ERREUR FATALE: le système ne peut définir `_POSIX2_LOCALEDEF'" @@ -631,6 +665,7 @@ msgstr "Erreur de verrou bloquant l'accè msgid "File name too long" msgstr "Nom de fichier trop long." +#: sysdeps/unix/sysv/linux/siglist.h:44 msgid "File size limit exceeded" msgstr "Débordement de la taille permise pour un fichier." @@ -639,6 +674,12 @@ msgstr "Débordement de la taille permise msgid "File too large" msgstr "Fichier trop gros." +#: stdio-common/../sysdeps/unix/siglist.c:54 +msgid "Filesize limit exceeded" +msgstr "Taille limite de fichier débordée." + +#: stdio-common/../sysdeps/unix/siglist.c:37 +#: sysdeps/unix/sysv/linux/siglist.h:28 msgid "Floating point exception" msgstr "Exception en point flottant." @@ -654,6 +695,8 @@ msgstr "Fonction non implantée." msgid "Gratuitous error" msgstr "Erreur gratuite." +#: stdio-common/../sysdeps/unix/siglist.c:30 +#: sysdeps/unix/sysv/linux/siglist.h:22 msgid "Hangup" msgstr "Fin de la connexion (raccroché)." @@ -666,9 +709,12 @@ msgstr "L'hôte cible est arrêté ou en pa msgid "Host name lookup failure" msgstr "Erreur de repérage du nom de l'hôte cible." +#: stdio-common/../sysdeps/unix/siglist.c:52 +#: sysdeps/unix/sysv/linux/siglist.h:42 msgid "I/O possible" msgstr "E/S possible." +#: stdio-common/../sysdeps/unix/siglist.c:35 msgid "IOT trap" msgstr "Trappe IOT." @@ -676,9 +722,14 @@ msgstr "Trappe IOT." msgid "Identifier removed" msgstr "Identificateur éliminé." +#: sysdeps/unix/sysv/linux/siglist.h:25 msgid "Illegal Instruction" msgstr "Instruction illégale." +#: stdio-common/../sysdeps/unix/siglist.c:33 +msgid "Illegal instruction" +msgstr "Instruction illégale." + #. TRANS Invalid seek operation (such as on a pipe). #: stdio-common/../sysdeps/gnu/errlist.c:201 msgid "Illegal seek" @@ -709,23 +760,29 @@ msgstr "Ioctl() inappropré pour un périp msgid "Inappropriate operation for background process" msgstr "Opération inappropriée pour un processus d'arrière-plan." +#: sysdeps/unix/sysv/linux/siglist.h:62 +msgid "Information request" +msgstr "Requête d'information." + #. TRANS Input/output error; usually used for physical read or write errors. #: stdio-common/../sysdeps/gnu/errlist.c:40 msgid "Input/output error" msgstr "Erreur d'entrée/sortie." -#: nis/ypclnt.c:643 +#: nis/ypclnt.c:701 msgid "Internal NIS error" msgstr "Erreur interne de NIS." -#: nis/ypclnt.c:707 +#: nis/ypclnt.c:765 msgid "Internal ypbind error" msgstr "Erreur interne de ypbind." +#: stdio-common/../sysdeps/unix/siglist.c:31 +#: sysdeps/unix/sysv/linux/siglist.h:23 msgid "Interrupt" msgstr "Interruption." -#. 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 @@ -746,11 +803,11 @@ msgstr "Appel système interrompu, il aur msgid "Invalid argument" msgstr "Paramètre invalide." -#: posix/regex.c:946 +#: posix/regex.c:960 msgid "Invalid back reference" msgstr "Référence arrière invalide." -#: posix/regex.c:944 +#: posix/regex.c:958 msgid "Invalid character class name" msgstr "Nom de classe de caractères invalide." @@ -762,11 +819,11 @@ msgstr "Identité du client invalide." msgid "Invalid client verifier" msgstr "Vérificateur du client invalide." -#: posix/regex.c:943 +#: posix/regex.c:957 msgid "Invalid collation character" msgstr "Caractère de fusionnement invalide." -#: posix/regex.c:950 +#: posix/regex.c:964 msgid "Invalid content of \\{\\}" msgstr "Contenu invalide de \\{\\}" @@ -787,15 +844,15 @@ msgstr "Échange invalide." msgid "Invalid or incomplete multibyte or wide character" msgstr "Chaîne multi-octets ou étendue de caractères invalide ou incomplète." -#: posix/regex.c:953 +#: posix/regex.c:967 msgid "Invalid preceding regular expression" msgstr "Expression régulière précédente invalide." -#: posix/regex.c:951 +#: posix/regex.c:965 msgid "Invalid range end" msgstr "Fin d'intervalle invalide." -#: posix/regex.c:942 +#: posix/regex.c:956 msgid "Invalid regular expression" msgstr "Expression régulière invalide." @@ -825,6 +882,8 @@ msgstr "est un répertoire." msgid "Is a named type file" msgstr "est un type de fichier nommé (named)." +#: stdio-common/../sysdeps/unix/siglist.c:38 +#: sysdeps/unix/sysv/linux/siglist.h:29 msgid "Killed" msgstr "Processus arrêté." @@ -852,11 +911,11 @@ msgstr "Le lien a été endommagé." msgid "Link number out of range" msgstr "Numéro du lien hors intervalle." -#: nis/ypclnt.c:655 +#: nis/ypclnt.c:713 msgid "Local domain name not set" msgstr "Le nom du domaine local n'est pas initialisé." -#: nis/ypclnt.c:645 +#: nis/ypclnt.c:703 msgid "Local resource allocation failure" msgstr "Échec d'allocation de ressources locales." @@ -864,7 +923,7 @@ msgstr "Échec d'allocation de ressources msgid "Machine is not on the network" msgstr "La machine cible n'est pas sur le réseau." -#: posix/regex.c:952 +#: posix/regex.c:966 msgid "Memory exhausted" msgstr "Mémoire épuisée." @@ -879,11 +938,13 @@ msgstr "Message trop long." msgid "Multihop attempted" msgstr "Connexion par liens par noeuds multiples de relais tentée." -#: nis/ypclnt.c:659 +#: nis/ypclnt.c:717 msgid "NIS client/server version mismatch - can't supply service" -msgstr "Non concordance 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 +#: nis/ypclnt.c:715 msgid "NIS map data base is bad" msgstr "La table de la base de données NIS est corrompue." @@ -955,7 +1016,7 @@ msgstr "Aucune donnée disponible." msgid "No locks available" msgstr "Aucun verrou disponible." -#: posix/regex.c:941 +#: posix/regex.c:955 msgid "No match" msgstr "Pas de concordance." @@ -963,11 +1024,11 @@ msgstr "Pas de concordance." msgid "No message of desired type" msgstr "Aucun message du type désiré." -#: nis/ypclnt.c:647 +#: nis/ypclnt.c:705 msgid "No more records in map database" msgstr "Aucun autre enregistrement dans la table de la base de données." -#: posix/regex.c:5204 +#: posix/regex.c:5324 msgid "No previous regular expression" msgstr "Aucune expression régulière ne précède." @@ -993,11 +1054,11 @@ msgstr "Aucun espace disponible sur le p msgid "No such file or directory" msgstr "Aucun fichier ou répertoire de ce type." -#: nis/ypclnt.c:641 +#: nis/ypclnt.c:699 msgid "No such key in map" msgstr "Cette clé n'est pas dans la table." -#: nis/ypclnt.c:639 +#: nis/ypclnt.c:697 msgid "No such map in server's domain" msgstr "Cette table n'est pas dans le domaine du serveur." @@ -1035,7 +1096,7 @@ msgstr "Le résultat numérique est en deh msgid "Object is remote" msgstr "L'objet est télé-accessible." -#: time/zic.c:1939 +#: time/zic.c:1966 msgid "Odd number of quotation marks" msgstr "Nombre impair de caractères apostrophe." @@ -1097,17 +1158,20 @@ msgid "Package not installed" msgstr "Le package n'est pas installé." #. 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:719 stdio-common/../sysdeps/gnu/errlist.c:96 msgid "Permission denied" msgstr "Permission non accordée." +#: sysdeps/unix/sysv/linux/siglist.h:64 msgid "Power failure" msgstr "Panne d'alimentation." -#: posix/regex.c:954 +#: posix/regex.c:968 msgid "Premature end of regular expression" msgstr "Fin prématurée de l'expression régulière." +#: stdio-common/../sysdeps/unix/siglist.c:56 +#: sysdeps/unix/sysv/linux/siglist.h:46 msgid "Profiling timer expired" msgstr "Expiration de la minuterie durant l'établissement du profile." @@ -1142,6 +1206,8 @@ msgstr "Protocole non supporté." msgid "Protocol wrong type for socket" msgstr "Mauvais type pour un socket de protocole." +#: stdio-common/../sysdeps/unix/siglist.c:32 +#: sysdeps/unix/sysv/linux/siglist.h:24 msgid "Quit" msgstr "Quitter." @@ -1154,7 +1220,7 @@ msgstr "Erreur spécifique à RFS." msgid "RPC bad procedure for program" msgstr "Mauvaise procédure RPC du programme." -#: nis/ypclnt.c:635 +#: nis/ypclnt.c:693 msgid "RPC failure on NIS operation" msgstr "Échec RPC durant l'opération NIS." @@ -1263,7 +1329,7 @@ msgstr "Le RTLD_NEXT utilisé dans le cod msgid "Read-only file system" msgstr "Système de fichiers accessible en lecture seulement." -#: posix/regex.c:955 +#: posix/regex.c:969 msgid "Regular expression too big" msgstr "Expression régulière trop grosse." @@ -1281,11 +1347,13 @@ msgstr "" "Retirer le mot de passe ou rendre les fichiers illisibles par les autres." #: catgets/gencat.c:224 db/makedb.c:227 locale/programs/locale.c:257 -#: locale/programs/localedef.c:408 -msgid "Report bugs to .\n" -msgstr "Rapporter toutes anomalies à l'adresse: .\n" +#: locale/programs/localedef.c:412 +msgid "Report bugs using the `glibcbug' script to .\n" +msgstr "" +"Rapporter toutes anomalies via le script `glibcbug' à l'adresse:\n" +".\n" -#: nis/ypclnt.c:633 +#: nis/ypclnt.c:691 msgid "Request arguments bad" msgstr "Le paramètre de la requête est invalide." @@ -1305,6 +1373,10 @@ msgstr "Erreur interne du `resolver'." msgid "Resource deadlock avoided" msgstr "Blocage évité des accès aux ressources." +#: stdio-common/../sysdeps/unix/siglist.c:58 +msgid "Resource lost" +msgstr "Ressource perdue" + #. 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. @@ -1338,6 +1410,8 @@ msgstr "Blocage évité des accès aux ress msgid "Resource temporarily unavailable" msgstr "Ressource temporairement non disponible." +#: stdio-common/../sysdeps/unix/siglist.c:40 +#: sysdeps/unix/sysv/linux/siglist.h:31 msgid "Segmentation fault" msgstr "Erreur de segmentation." @@ -1349,6 +1423,10 @@ msgstr "Le serveur a rejeté l'identité." msgid "Server rejected verifier" msgstr "Le server a rejeté la vérification." +#: stdio-common/../sysdeps/unix/siglist.c:29 +msgid "Signal 0" +msgstr "Signal 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" @@ -1368,6 +1446,10 @@ msgstr "Le logiciel a provoqué l'abandon msgid "Srmount error" msgstr "Erreur srmount()." +#: sysdeps/unix/sysv/linux/siglist.h:59 +msgid "Stack fault" +msgstr "Erreur sur la pile." + #. TRANS Stale NFS file handle. This indicates an internal confusion in the NFS #. TRANS system which is due to file system rearrangements on the server host. #. TRANS Repairing this condition usually requires unmounting and remounting @@ -1376,15 +1458,23 @@ msgstr "Erreur srmount()." msgid "Stale NFS file handle" msgstr "Panne d'accès au fichier NFS." +#: stdio-common/../sysdeps/unix/siglist.c:47 +#: sysdeps/unix/sysv/linux/siglist.h:37 msgid "Stopped" msgstr "Arrêté." +#: stdio-common/../sysdeps/unix/siglist.c:46 +#: sysdeps/unix/sysv/linux/siglist.h:36 msgid "Stopped (signal)" msgstr "Signal d'arrêt." +#: stdio-common/../sysdeps/unix/siglist.c:50 +#: sysdeps/unix/sysv/linux/siglist.h:40 msgid "Stopped (tty input)" msgstr "Arrêté (via l'entrée sur tty)." +#: stdio-common/../sysdeps/unix/siglist.c:51 +#: sysdeps/unix/sysv/linux/siglist.h:41 msgid "Stopped (tty output)" msgstr "Arrêté (via la sortie sur tty)." @@ -1396,15 +1486,17 @@ msgstr "Erreur de relais de type streams msgid "Structure needs cleaning" msgstr "La structure a besoin d'un nettoyage." -#: nis/ypclnt.c:631 nis/ypclnt.c:705 posix/regex.c:940 +#: nis/ypclnt.c:689 nis/ypclnt.c:763 posix/regex.c:954 #: stdio-common/../sysdeps/gnu/errlist.c:7 msgid "Success" msgstr "Succès." -#: nis/ypclnt.c:711 +#: nis/ypclnt.c:769 msgid "System resource allocation failure" msgstr "Échec d'allocation de ressources système." +#: stdio-common/../sysdeps/unix/siglist.c:44 +#: sysdeps/unix/sysv/linux/siglist.h:34 msgid "Terminated" msgstr "Complété." @@ -1470,10 +1562,15 @@ msgstr "Trop de références: ne peut segm msgid "Too many users" msgstr "Trop d'usagers." +#: stdio-common/../sysdeps/unix/siglist.c:34 +msgid "Trace/BPT trap" +msgstr "Trappe de point d'arrêt lors de trace." + +#: sysdeps/unix/sysv/linux/siglist.h:26 msgid "Trace/breakpoint trap" msgstr "Trappe pour point d'arrêt et de trace." -#: posix/regex.c:945 +#: posix/regex.c:959 msgid "Trailing backslash" msgstr "Barre oblique en suffixe." @@ -1499,12 +1596,12 @@ msgid "Transport endpoint is not connect msgstr "Le noeud final de transport n'est pas connecté." #: catgets/gencat.c:208 db/makedb.c:209 locale/programs/locale.c:241 -#: locale/programs/localedef.c:389 +#: locale/programs/localedef.c:393 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pour en savoir davantage, faites: `%s --help'.\n" -#: inet/rcmd.c:136 +#: inet/rcmd.c:137 #, c-format msgid "Trying %s...\n" msgstr "On tente %s...\n" @@ -1514,7 +1611,7 @@ msgstr "On tente %s...\n" msgid "Unknown .netrc keyword %s" msgstr "Mot clé inconnu %s dans .netrc." -#: nis/ypclnt.c:665 +#: nis/ypclnt.c:723 msgid "Unknown NIS error code" msgstr "Code d'erreur NIS inconnu." @@ -1540,27 +1637,27 @@ msgstr "Erreur du serveur inconnu." msgid "Unknown signal %d" msgstr "Signal inconnu %d" -#: misc/error.c:95 +#: misc/error.c:100 msgid "Unknown system error" msgstr "Erreur système inconnue." -#: nis/ypclnt.c:713 +#: nis/ypclnt.c:771 msgid "Unknown ypbind error" msgstr "Erreur inconnue de ypbind." -#: posix/regex.c:948 +#: posix/regex.c:962 msgid "Unmatched ( or \\(" msgstr "Échec du pairage de ( ou de \\(" -#: posix/regex.c:956 +#: posix/regex.c:970 msgid "Unmatched ) or \\)" msgstr "Échec du pairage de ) ou de \\)" -#: posix/regex.c:947 +#: posix/regex.c:961 msgid "Unmatched [ or [^" msgstr "Échec du pairage de [ ou de [^" -#: posix/regex.c:949 +#: posix/regex.c:963 msgid "Unmatched \\{" msgstr "Échec du pairage de \\{." @@ -1569,6 +1666,8 @@ msgstr "Échec du pairage de \\{." msgid "Unrecognized variable `%s'" msgstr "Variable non reconnue `%s'." +#: stdio-common/../sysdeps/unix/siglist.c:45 +#: sysdeps/unix/sysv/linux/siglist.h:35 msgid "Urgent I/O condition" msgstr "Condition d'E/S urgente." @@ -1630,7 +1729,7 @@ msgstr "" " -V, --version afficher le nom et la version du logiciel\n" "Si le FICHIER_D_ENTRÉE est -, la lecture se fait l'entrée standard.\n" -#: locale/programs/localedef.c:393 +#: locale/programs/localedef.c:397 #, c-format msgid "" "Usage: %s [OPTION]... name\n" @@ -1704,9 +1803,13 @@ msgstr "Usage: %s nom_de_variable [chemi msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n" msgstr "Usage: rpcinfo [ -n no_port ] -u hôte no_prog [ no_version ]\n" +#: stdio-common/../sysdeps/unix/siglist.c:59 +#: sysdeps/unix/sysv/linux/siglist.h:48 msgid "User defined signal 1" msgstr "Signal #1 défini par l'usager." +#: stdio-common/../sysdeps/unix/siglist.c:60 +#: sysdeps/unix/sysv/linux/siglist.h:49 msgid "User defined signal 2" msgstr "Signal #2 défini par l'usager." @@ -1714,36 +1817,40 @@ msgstr "Signal #2 défini par l'usager." msgid "Value too large for defined data type" msgstr "Valeur trop grande pour le type défini de données." +#: stdio-common/../sysdeps/unix/siglist.c:55 +#: sysdeps/unix/sysv/linux/siglist.h:45 msgid "Virtual timer expired" msgstr "Expiration de la minuterie virtuelle." -#: time/zic.c:1844 +#: time/zic.c:1871 msgid "Wild result from command execution" msgstr "Résultat anarchique résultant de l'exécution de la commande." +#: stdio-common/../sysdeps/unix/siglist.c:57 +#: sysdeps/unix/sysv/linux/siglist.h:47 msgid "Window changed" msgstr "La fenêtre a changée." #: catgets/gencat.c:174 db/makedb.c:125 locale/programs/locale.c:192 -#: locale/programs/localedef.c:182 +#: locale/programs/localedef.c:185 #, c-format msgid "Written by %s.\n" msgstr "Écrits par %s.\n" -#: nis/ypclnt.c:146 +#: nis/ypclnt.c:142 msgid "YPBINDPROC_DOMAIN: Internal error\n" msgstr "YPBINDPROC_DOMAIN: erreur interne.\n" -#: nis/ypclnt.c:150 +#: nis/ypclnt.c:146 #, c-format msgid "YPBINDPROC_DOMAIN: No server for domain %s\n" msgstr "YPBINDPROC_DOMAIN: échec d'allocation de ressources %s.\n" -#: nis/ypclnt.c:154 +#: nis/ypclnt.c:150 msgid "YPBINDPROC_DOMAIN: Resource allocation failure\n" msgstr "YPBINDPROC_DOMAIN: échec d'allocation de ressources.\n" -#: nis/ypclnt.c:158 +#: nis/ypclnt.c:154 msgid "YPBINDPROC_DOMAIN: Unknown error\n" msgstr "YPBINDPROC_DOMAIN: erreur inconnue.\n" @@ -1752,32 +1859,32 @@ msgstr "YPBINDPROC_DOMAIN: erreur inconn msgid "You really blew it this time" msgstr "Vous avez vraiment tout gâcher cette fois-ci." -#: time/zic.c:1050 +#: time/zic.c:1048 msgid "Zone continuation line end time is not after end time of previous line" msgstr "" "Temps final de la ligne de la zone de continuation est antérieur\n" "au temps final de la ligne précédente." -#: locale/programs/charmap.c:397 locale/programs/locfile.c:341 +#: locale/programs/charmap.c:397 locale/programs/locfile.c:363 #, c-format msgid "`%1$s' definition does not end with `END %1$s'" msgstr "`%1$s' la définition ne se termine pas par `END %1$s'." -#: locale/programs/ld-monetary.c:358 locale/programs/ld-numeric.c:190 +#: locale/programs/ld-monetary.c:359 locale/programs/ld-numeric.c:190 #, c-format msgid "`-1' must be last entry in `%s' field in `%s' category" msgstr "`-1' doit être la dernière entrée du champ `%s' de catégorie `%s'." -#: locale/programs/ld-collate.c:1652 +#: locale/programs/ld-collate.c:1655 msgid "`...' must only be used in `...' and `UNDEFINED' entries" msgstr "" "`...' doit être utilisé seulement avec les entrées `...' et `UNDEFINED'." -#: locale/programs/locfile.c:538 +#: locale/programs/locfile.c:560 msgid "`from' expected after first argument to `collating-element'" msgstr "`from' attendu après le premier paramètre de `collating-element'" -#: locale/programs/ld-collate.c:1109 +#: locale/programs/ld-collate.c:1112 msgid "" "`from' string in collation element declaration contains unknown character" msgstr "" @@ -1789,36 +1896,36 @@ msgstr "" msgid "argument to <%s> must be a single character" msgstr "Le paramètre de <%s> doit être un caractère simple." -#: locale/programs/locfile.c:215 +#: locale/programs/locfile.c:237 #, c-format msgid "argument to `%s' must be a single character" msgstr "Le paramètre de `%s' doit être un caractère simple." -#: sunrpc/auth_unix.c:322 +#: sunrpc/auth_unix.c:323 msgid "auth_none.c - Fatal marshalling problem" msgstr "auth_none.c - problème fatal de mise en ordre." -#: inet/rcmd.c:360 +#: inet/rcmd.c:365 msgid "bad .rhosts owner" msgstr "Mauvais propriétaire du fichier .rhosts." -#: locale/programs/charmap.c:212 locale/programs/locfile.c:209 +#: locale/programs/charmap.c:212 locale/programs/locfile.c:231 msgid "bad argument" msgstr "Mauvais paramètre." -#: time/zic.c:1172 +#: time/zic.c:1170 msgid "blank FROM field on Link line" msgstr "Champ `FROM' vide dans la ligne de type `Link'." -#: time/zic.c:1176 +#: time/zic.c:1174 msgid "blank TO field on Link line" msgstr "Champ `TO' vide dans la ligne de type `Link'." -#: malloc/mcheck.c:189 +#: malloc/mcheck.c:191 msgid "block freed twice" msgstr "Bloc libéré deux fois." -#: malloc/mcheck.c:192 +#: malloc/mcheck.c:194 msgid "bogus mcheck_status, library is buggy" msgstr "Statut de `mcheck_status' erroné, la librarie est erronée." @@ -1834,32 +1941,32 @@ msgstr "Diffusion: ioctl (a obtenu la va msgid "cache_set: victim not found" msgstr "cache_set: victime non repérée." -#: time/zic.c:1685 -msgid "can't determine time zone abbrevation to use just after until time" +#: time/zic.c:1698 +msgid "can't determine time zone abbreviation to use just after until time" msgstr "" -"Ne peut déterminer le nom abrégé du fuseau horaire à utiliser\n" -"pour rencontrer la condition `jusqu'au temps voulue'." +"Ne peut déterminer l'abréviation du fuseau horaire à utiliser\n" +"juste après le champ date." #: sunrpc/svc_simple.c:64 #, c-format msgid "can't reassign procedure number %d\n" msgstr "Ne peut réassigner le numéro de procédure %d.\n" -#: locale/programs/localedef.c:287 +#: locale/programs/localedef.c:291 #, c-format msgid "cannot `stat' locale file `%s'" msgstr "Ne peut effectuer l'évaluation `stat' du fichier local `%s'." -#: locale/programs/ld-collate.c:1314 +#: locale/programs/ld-collate.c:1317 #, c-format msgid "cannot insert collation element `%.*s'" msgstr "Ne peut insérer l'élément de fusionnement `%.*s'." -#: locale/programs/ld-collate.c:1493 locale/programs/ld-collate.c:1498 +#: locale/programs/ld-collate.c:1496 locale/programs/ld-collate.c:1501 msgid "cannot insert into result table" msgstr "Ne peut effectuer une insertion dans la table des résultats." -#: locale/programs/ld-collate.c:1166 locale/programs/ld-collate.c:1208 +#: locale/programs/ld-collate.c:1169 locale/programs/ld-collate.c:1211 #, c-format msgid "cannot insert new collating symbol definition: %s" msgstr "" @@ -1870,86 +1977,86 @@ msgstr "" msgid "cannot open database file `%s': %s" msgstr "Ne peut ouvrir le fichier de base de données `%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 "Ne peut ouvrir le fichier d'entrée `%s'." -#: locale/programs/localedef.c:221 +#: locale/programs/localedef.c:224 #, c-format msgid "cannot open locale definition file `%s'" msgstr "Ne peut ouvrir le fichier des localisations `%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 "Ne peut ouvrir le fichier de sortie `%s'." -#: locale/programs/locfile.c:986 +#: locale/programs/locfile.c:1008 #, c-format msgid "cannot open output file `%s' for category `%s'" msgstr "Ne peut ouvrir le fichier de sortie `%s' de catégorie `%s'." -#: locale/programs/ld-collate.c:1360 +#: locale/programs/ld-collate.c:1363 msgid "cannot process order specification" msgstr "Ne peut traiter la spécification d'ordonnancement." -#: locale/programs/locale.c:303 +#: locale/programs/locale.c:304 #, c-format msgid "cannot read character map directory `%s'" msgstr "Ne peut lire via le répertoire de la table des caractères `%s'." -#: locale/programs/locale.c:278 +#: locale/programs/locale.c:279 #, c-format msgid "cannot read locale directory `%s'" msgstr "Ne peut lire via le répertoire des définitions localisées `%s'." -#: locale/programs/localedef.c:309 +#: locale/programs/localedef.c:313 #, c-format msgid "cannot read locale file `%s'" msgstr "Ne peut lire le fichier des définitions localisées `%s'." -#: locale/programs/localedef.c:334 +#: locale/programs/localedef.c:338 #, c-format msgid "cannot write output files to `%s'" msgstr "Ne peut écrire dans les fichiers de sortie vers `%s'." -#: locale/programs/localedef.c:377 +#: locale/programs/localedef.c:381 msgid "category data requested more than once: should not happen" msgstr "" "Catégorie de données requises plus d'une fois: n'aurait pas dû se produire." -#: locale/programs/ld-ctype.c:265 +#: locale/programs/ld-ctype.c:266 #, c-format msgid "character %s'%s' in class `%s' must be in class `%s'" msgstr "Caractère %s'%s' de la classe `%s' doit être dans la classe `%s'." -#: locale/programs/ld-ctype.c:289 +#: locale/programs/ld-ctype.c:291 #, c-format msgid "character %s'%s' in class `%s' must not be in class `%s'" msgstr "" "Caractère %s'%s' de la classe `%s' ne doit pas être dans la classe `%s'." -#: locale/programs/ld-ctype.c:310 +#: locale/programs/ld-ctype.c:313 msgid "character not defined in character map" msgstr "Caractère non défini dans la table des caractères." -#: locale/programs/ld-ctype.c:939 locale/programs/ld-ctype.c:1002 -#: locale/programs/ld-ctype.c:1010 locale/programs/ld-ctype.c:1018 -#: locale/programs/ld-ctype.c:1026 locale/programs/ld-ctype.c:1034 -#: locale/programs/ld-ctype.c:1042 locale/programs/ld-ctype.c:1068 -#: locale/programs/ld-ctype.c:1076 locale/programs/ld-ctype.c:1114 -#: locale/programs/ld-ctype.c:1141 locale/programs/ld-ctype.c:1152 +#: locale/programs/ld-ctype.c:944 locale/programs/ld-ctype.c:1007 +#: locale/programs/ld-ctype.c:1015 locale/programs/ld-ctype.c:1023 +#: locale/programs/ld-ctype.c:1031 locale/programs/ld-ctype.c:1039 +#: locale/programs/ld-ctype.c:1047 locale/programs/ld-ctype.c:1073 +#: locale/programs/ld-ctype.c:1081 locale/programs/ld-ctype.c:1119 +#: locale/programs/ld-ctype.c:1146 locale/programs/ld-ctype.c:1157 #, c-format msgid "character `%s' not defined while needed as default value" msgstr "Caractère `%s' non défini alors qu'attendu comme valeur par défaut." -#: locale/programs/ld-ctype.c:801 +#: locale/programs/ld-ctype.c:806 #, c-format msgid "character class `%s' already defined" msgstr "Classe de caractères `%s' déjà définie." -#: locale/programs/ld-ctype.c:833 +#: locale/programs/ld-ctype.c:838 #, c-format msgid "character map `%s' already defined" msgstr "Table de caractères `%s' déjà définie." @@ -1963,23 +2070,24 @@ msgstr "Fichier de la table des caractèr msgid "clnt_raw.c - Fatal header serialization error." msgstr "clnt_raw.c - erreur fatale de sérialisation d'en-tête." -#: locale/programs/ld-collate.c:1329 +#: locale/programs/ld-collate.c:1332 #, c-format msgid "collation element `%.*s' appears more than once: ignore line" msgstr "" "Élément de fusionnement `%.*s' apparaît plus d'une fois: ligne ignorée." -#: locale/programs/ld-collate.c:1347 +#: locale/programs/ld-collate.c:1350 #, c-format msgid "collation symbol `%.*s' appears more than once: ignore line" -msgstr "Symbole de fusionnement `%.*s' apparaît plus d'une fois: ligne ignorée." +msgstr "" +"Symbole de fusionnement `%.*s' apparaît plus d'une fois: ligne ignorée." -#: locale/programs/locfile.c:522 +#: locale/programs/locfile.c:544 #, c-format msgid "collation symbol expected after `%s'" msgstr "Symbole de fusionnement attendu après `%s'." -#: inet/rcmd.c:129 +#: inet/rcmd.c:130 #, c-format msgid "connect to address %s: " msgstr "Connexion établie à l'adresse %s: " @@ -2021,37 +2129,37 @@ msgstr "" msgid "duplicate character name `%s'" msgstr "Duplicité du nom de caractère `%s'." -#: locale/programs/ld-collate.c:1141 +#: locale/programs/ld-collate.c:1144 msgid "duplicate collating element definition" msgstr "Duplicité de la définition d'élément de fusionnement." -#: locale/programs/ld-collate.c:1287 +#: locale/programs/ld-collate.c:1290 #, c-format msgid "duplicate definition for character `%.*s'" msgstr "Duplicité de la définition du caractère `%.*s'." -#: db/makedb.c:310 +#: db/makedb.c:311 msgid "duplicate key" msgstr "Duplicité de clé." -#: catgets/gencat.c:378 +#: catgets/gencat.c:379 msgid "duplicate set definition" msgstr "Duplicité de la définition d'ensemble." -#: time/zic.c:965 +#: time/zic.c:963 #, c-format msgid "duplicate zone name %s (file \"%s\", line %d)" msgstr "Duplicité du nom de zone %s (fichier \"%s\", ligne %d)." -#: catgets/gencat.c:541 +#: catgets/gencat.c:542 msgid "duplicated message identifier" msgstr "Duplicité de l'identificateur de message." -#: catgets/gencat.c:514 +#: catgets/gencat.c:515 msgid "duplicated message number" msgstr "Duplicité du numéro de message" -#: locale/programs/ld-collate.c:1696 +#: locale/programs/ld-collate.c:1699 msgid "empty weight name: line ignored" msgstr "Nom du poids vide: ligne ignorée." @@ -2071,34 +2179,38 @@ msgstr "enablecache: ne peut allouer une msgid "enablecache: could not allocate cache fifo" msgstr "enablecache: ne peut allouer une cache de type fifo." -#: locale/programs/ld-collate.c:1419 +#: locale/programs/ld-collate.c:1422 msgid "end point of ellipsis range is bigger then start" msgstr "Le noeud final de l'intervalle d'ellipse est plus grand que l'initial." -#: locale/programs/ld-collate.c:1149 +#: locale/programs/ld-collate.c:1152 msgid "error while inserting collation element into hash table" msgstr "" "Erreur durant l'insertion d'un élément de fusionnement dans la table de " "hachage." -#: locale/programs/ld-collate.c:1161 +#: locale/programs/ld-collate.c:1164 msgid "error while inserting to hash table" msgstr "Erreur lors de l'insertion dans la table de hachage." -#: locale/programs/locfile.c:465 +#: locale/programs/locfile.c:487 msgid "expect string argument for `copy'" msgstr "Chaîne attendue pour le paramètre de `copy'." -#: time/zic.c:856 +#: time/zic.c:854 msgid "expected continuation line not found" msgstr "Ligne de continuation attendue, non repérée." -#: locale/programs/locfile.c:1010 +#: locale/programs/locfile.c:1032 #, c-format msgid "failure while writing data for category `%s'" msgstr "Échec durant l'écriture des données de catégorie `%s'." -#: locale/programs/ld-monetary.c:154 locale/programs/ld-numeric.c:95 +#: nis/ypclnt.c:187 +msgid "fcntl: F_SETFD" +msgstr "fcntl: F_SETFD" + +#: locale/programs/ld-monetary.c:155 locale/programs/ld-numeric.c:95 #, c-format msgid "field `%s' in category `%s' not defined" msgstr "Champ `%s' de catégorie `%s' n'est pas défini." @@ -2108,7 +2220,7 @@ msgstr "Champ `%s' de catégorie `%s' n'e msgid "field `%s' in category `%s' undefined" msgstr "Champ `%s' de catégorie `%s' indéfini." -#: locale/programs/locfile.c:547 +#: locale/programs/locfile.c:569 msgid "from-value of `collating-element' must be a string" msgstr "La valeur de départ de `collating-element' doit être une chaîne." @@ -2117,7 +2229,7 @@ msgid "garbage at end of character code msgstr "Rebut à la fin du caractère du code de spécification." #: locale/programs/linereader.c:214 -msgid "garbage at end of digit" +msgid "garbage at end of number" msgstr "Rebut à la fin des chiffres." #: locale/programs/ld-time.c:183 @@ -2136,7 +2248,7 @@ msgstr "" "Rebut à la fin de la date finale dans la chaîne %d du champ `era'\n" "de catégorie `%s'." -#: locale/programs/ld-time.c:310 +#: locale/programs/ld-time.c:311 #, c-format msgid "" "garbage at end of stopping date in string %d in `era' field in category `%s'" @@ -2148,19 +2260,19 @@ msgstr "" msgid "get_myaddress: ioctl (get interface configuration)" msgstr "get_myaddress: ioctl (a obtenu la configuration de l'interface)." -#: time/zic.c:1149 +#: time/zic.c:1147 msgid "illegal CORRECTION field on Leap line" msgstr "CORRECTION illégale du champ dans la ligne de type `Leap'." -#: time/zic.c:1153 +#: time/zic.c:1151 msgid "illegal Rolling/Stationary field on Leap line" msgstr "Champ `Rolling/Stationary' illégal sur la ligne de type `Leap'." -#: locale/programs/ld-collate.c:1767 +#: locale/programs/ld-collate.c:1770 msgid "illegal character constant in string" msgstr "Caractère illégal de constante dans la chaîne." -#: locale/programs/ld-collate.c:1116 +#: locale/programs/ld-collate.c:1119 msgid "illegal collation element" msgstr "Élément de fusionnement illégal." @@ -2187,7 +2299,7 @@ msgstr "" "Nombre illégal pour la valeur de saut dans la chaîne %d du champ `era'\n" "de catégorie `%s'." -#: catgets/gencat.c:351 catgets/gencat.c:428 +#: catgets/gencat.c:352 catgets/gencat.c:429 msgid "illegal set number" msgstr "Numéro d'ensemble illégal." @@ -2198,20 +2310,20 @@ msgstr "" "Date finale illégale dans la chaîne %d du champ `era'\n" "de catégorie `%s'." -#: locale/programs/ld-time.c:302 +#: locale/programs/ld-time.c:303 #, c-format msgid "illegal stopping date in string %d in `era' field in category `%s'" msgstr "" "Date finale illégale dans la chaîne %d du champ `era'\n" "de catégorie `%s'." -#: locale/programs/ld-ctype.c:807 +#: locale/programs/ld-ctype.c:812 #, c-format msgid "implementation limit: no more than %d character classes allowed" msgstr "" "Limite d'impantation: pas plus de %d classes de caractères sont permises." -#: locale/programs/ld-ctype.c:839 +#: locale/programs/ld-ctype.c:844 #, c-format msgid "implementation limit: no more than %d character maps allowed" msgstr "" @@ -2221,60 +2333,60 @@ msgstr "" msgid "incorrectly formatted file" msgstr "Fichier incorrectement formaté." -#: time/zic.c:814 +#: time/zic.c:811 msgid "input line of unknown type" msgstr "Ligne d'entrée de type inconnu." -#: time/zic.c:1733 +#: time/zic.c:1760 msgid "internal error - addtype called with bad isdst" msgstr "Erreur interne - addtype appellé avec un mauvais bloc isdst." -#: time/zic.c:1741 +#: time/zic.c:1768 msgid "internal error - addtype called with bad ttisgmt" msgstr "Erreur interne - addtype appellé avec un mauvais bloc ttisgmt." -#: time/zic.c:1737 +#: time/zic.c:1764 msgid "internal error - addtype called with bad ttisstd" msgstr "Erreur interne - addtype appellé avec un mauvais bloc ttisstd." -#: locale/programs/ld-ctype.c:301 +#: locale/programs/ld-ctype.c:304 #, c-format msgid "internal error in %s, line %u" msgstr "Erreur interne dans %s, ligne %u." -#: time/zic.c:1021 +#: time/zic.c:1019 msgid "invalid GMT offset" msgstr "Décalage relatif GMT invalide." -#: time/zic.c:1024 +#: time/zic.c:1022 msgid "invalid abbreviation format" msgstr "Format d'abréviation invalide." -#: time/zic.c:1114 time/zic.c:1313 time/zic.c:1327 +#: time/zic.c:1112 time/zic.c:1313 time/zic.c:1327 msgid "invalid day of month" msgstr "Jour du mois invalide." -#: time/zic.c:1272 +#: time/zic.c:1270 msgid "invalid ending year" msgstr "Année finale invalide." -#: time/zic.c:1086 +#: time/zic.c:1084 msgid "invalid leaping year" msgstr "Année bissextile invalide." -#: time/zic.c:1101 time/zic.c:1204 +#: time/zic.c:1099 time/zic.c:1202 msgid "invalid month name" msgstr "Nom de mois invalide." -#: time/zic.c:920 +#: time/zic.c:918 msgid "invalid saved time" msgstr "Temps sauvegardé invalide." -#: time/zic.c:1252 +#: time/zic.c:1250 msgid "invalid starting year" msgstr "Année initiale invalide." -#: time/zic.c:1130 time/zic.c:1232 +#: time/zic.c:1128 time/zic.c:1230 msgid "invalid time of day" msgstr "Heure du jour invalide." @@ -2282,68 +2394,66 @@ msgstr "Heure du jour invalide." msgid "invalid weekday name" msgstr "Nom du jour de semaine invalide." -#: locale/programs/ld-collate.c:1412 +#: locale/programs/ld-collate.c:1415 msgid "line after ellipsis must contain character definition" msgstr "La ligne après l'ellipse doit contenir la définition d'un caractère." -#: locale/programs/ld-collate.c:1391 +#: locale/programs/ld-collate.c:1394 msgid "line before ellipsis does not contain definition for character constant" msgstr "" "La ligne avant l'ellipse ne doit pas contenir la définition d'une constante " "de caractères." -#: time/zic.c:794 +#: time/zic.c:791 msgid "line too long" msgstr "Ligne trop longue." -#: locale/programs/localedef.c:281 +#: locale/programs/localedef.c:285 #, c-format msgid "locale file `%s', used in `copy' statement, not found" msgstr "" "Fichier localisé `%s', utilisé dans la déclaration de `copy', non repéré." -#: catgets/gencat.c:609 +#: catgets/gencat.c:610 msgid "malformed line ignored" msgstr "Ligne incorrecte ignorée." -#: malloc/mcheck.c:183 +#: malloc/mcheck.c:185 msgid "memory clobbered before allocated block" msgstr "Mémoire écrasée avant le bloc alloué." -#: malloc/mcheck.c:186 +#: malloc/mcheck.c:188 msgid "memory clobbered past end of allocated block" msgstr "Mémoire écrasée après la fin du bloc alloué." #: locale/programs/ld-collate.c:167 locale/programs/ld-collate.c:173 -#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1439 -#: locale/programs/ld-collate.c:1468 locale/programs/locfile.c:940 +#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1442 +#: locale/programs/ld-collate.c:1471 locale/programs/locfile.c:962 #: locale/programs/xmalloc.c:68 posix/getconf.c:250 msgid "memory exhausted" msgstr "Mémoire épuisée." -#: malloc/obstack.c:425 +#: malloc/obstack.c:462 msgid "memory exhausted\n" msgstr "Mémoire épuisée.\n" -#: malloc/mcheck.c:180 +#: malloc/mcheck.c:182 msgid "memory is consistent, library is buggy" msgstr "Mémoire consistente, la librairie est fautive." -#: locale/programs/ld-time.c:348 +#: locale/programs/ld-time.c:350 #, c-format msgid "missing era format in string %d in `era' field in category `%s'" msgstr "" "Format de type era manquant dans la chaîne %d du champ `era'\n" "de catégorie `%s'." -#: locale/programs/ld-time.c:337 +#: locale/programs/ld-time.c:339 #, c-format -msgid "missing era name in string %d in `era' fieldin category `%s'" -msgstr "" -"Nom de type era manquant dans la chaîne %d du champ `era'\n" -"de catégorie `%s'." +msgid "missing era name in string %d in `era' field in category `%s'" +msgstr "Nom manquant dans la chaîne %d du champ `era' de catégorie `%s'." -#: time/zic.c:915 +#: time/zic.c:913 msgid "nameless rule" msgstr "Règle sans nom." @@ -2357,19 +2467,19 @@ msgstr "Le programme %d n'a jamais été e msgid "no correct regular expression for field `%s' in category `%s': %s" msgstr "Expression reguliere incorrecte du champ `%s' de catégorie `%s': %s" -#: time/zic.c:2059 +#: time/zic.c:2086 msgid "no day in month matches rule" msgstr "Pas de jour dans les règles de concordance." -#: locale/programs/ld-collate.c:259 +#: locale/programs/ld-collate.c:260 msgid "no definition of `UNDEFINED'" msgstr "Pas de définition de type `UNDEFINED'." -#: locale/programs/locfile.c:479 +#: locale/programs/locfile.c:501 msgid "no other keyword shall be specified when `copy' is used" msgstr "Aucun autre mot clé ne doit être spécifié lorsque `copy' est utilisé." -#: locale/programs/localedef.c:340 +#: locale/programs/localedef.c:344 msgid "no output file produced because warning were issued" msgstr "Aucun fichier de sortie généré en raison d'un avertissement déjà émis." @@ -2394,7 +2504,7 @@ msgstr "" "Seules les définitions de type `WIDTH' sont autorisées à suivre\n" "la définition de `CHARMAP'." -#: db/makedb.c:326 +#: db/makedb.c:327 #, c-format msgid "problems while reading `%s'" msgstr "Problèmes lors de la lecture de `%s'" @@ -2415,16 +2525,16 @@ msgstr "Le programme %lu de version %lu msgid "program %lu version %lu ready and waiting\n" msgstr "Le programme %lu de version %lu est prêt et en attente.\n" -#: inet/rcmd.c:171 +#: inet/rcmd.c:172 #, c-format msgid "rcmd: select (setting up stderr): %m\n" msgstr "rcmd: sélection (configuration de stderr): %m.\n" -#: inet/rcmd.c:103 +#: inet/rcmd.c:104 msgid "rcmd: socket: All ports in use\n" msgstr "rcmd: socket: tous les ports sont occupés.\n" -#: inet/rcmd.c:159 +#: inet/rcmd.c:160 #, c-format msgid "rcmd: write (setting up stderr): %m\n" msgstr "rcmd: écriture (configuration de stderr): %m.\n" @@ -2433,7 +2543,7 @@ msgstr "rcmd: écriture (configuration de msgid "registerrpc: out of memory\n" msgstr "registerrpc: mémoire épuisée.\n" -#: time/zic.c:1794 +#: time/zic.c:1821 msgid "repeated leap second moment" msgstr "Répétition du délai une seconde fois." @@ -2466,50 +2576,50 @@ msgstr "rpcinfo: ne peut contacter le co msgid "rpcinfo: can't contact portmapper: " msgstr "rpcinfo: ne peut contacter le convertisseur de ports." -#: time/zic.c:708 time/zic.c:710 +#: time/zic.c:704 time/zic.c:706 msgid "same rule name in multiple files" msgstr "Même nom de règle dans plusieurs fichiers." -#: inet/rcmd.c:174 +#: inet/rcmd.c:175 msgid "select: protocol failure in circuit setup\n" msgstr "select: échec de protocole dans la configuration du circuit.\n" -#: inet/rcmd.c:192 +#: inet/rcmd.c:193 msgid "socket: protocol failure in circuit setup\n" msgstr "socket: échec de protocole dans la configuration du circuit.\n" -#: locale/programs/locfile.c:600 +#: locale/programs/locfile.c:622 msgid "sorting order `forward' and `backward' are mutually exclusive" msgstr "" "Les options de tri `forward' et `backward' sont mutuellement exclusives." -#: locale/programs/ld-collate.c:1568 locale/programs/ld-collate.c:1614 +#: locale/programs/ld-collate.c:1571 locale/programs/ld-collate.c:1617 msgid "" "specification of sorting weight for collation symbol does not make sense" msgstr "" "La spécification de tri par le poids des symboles de\n" "fusionnement n'a aucun sens." -#: time/zic.c:779 +#: time/zic.c:775 msgid "standard input" msgstr "entrée standard" -#: time/zdump.c:260 +#: time/zdump.c:268 msgid "standard output" msgstr "sortie standard" -#: locale/programs/ld-time.c:256 +#: locale/programs/ld-time.c:257 #, c-format msgid "starting date is illegal in string %d in `era' field in category `%s'" msgstr "" "Date initiale illégale dans la chaîne %d du champ `era'\n" "de catégorie `%s'." -#: time/zic.c:1276 +#: time/zic.c:1274 msgid "starting year greater than ending year" msgstr "Année initiale plus grande que l'année finale." -#: locale/programs/ld-time.c:328 +#: locale/programs/ld-time.c:330 #, c-format msgid "stopping date is illegal in string %d in `era' field in category `%s'" msgstr "" @@ -2541,7 +2651,7 @@ msgstr "svcudp_create - ne peut trouver msgid "svcudp_create: socket creation problem" msgstr "svcudp_create: problème de création du socket." -#: locale/programs/ld-collate.c:1191 +#: locale/programs/ld-collate.c:1194 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates element " @@ -2550,7 +2660,7 @@ msgstr "" "Le symbole d'un élément de fusionnement multi-caractères `%.*s' \n" "provoque la duplication de la définition d'un élément." -#: locale/programs/ld-collate.c:1064 +#: locale/programs/ld-collate.c:1067 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates other element " @@ -2559,7 +2669,7 @@ msgstr "" "Le symbole d'un élément de fusionnement multi-caractères `%.*s' \n" "provoque la duplication d'autres définitions d'éléments." -#: locale/programs/ld-collate.c:1200 +#: locale/programs/ld-collate.c:1203 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates other symbol " @@ -2568,7 +2678,7 @@ msgstr "" "Le symbole d'un élément de fusionnement multi-caractères `%.*s' \n" "provoque la duplication d'autres définitions de symboles." -#: locale/programs/ld-collate.c:1073 +#: locale/programs/ld-collate.c:1076 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates symbol " @@ -2577,7 +2687,7 @@ msgstr "" "Le symbole d'un élément de fusionnement multi-caractères `%.*s' \n" "provoque la duplication de la définition d'un symbole." -#: locale/programs/ld-collate.c:1055 locale/programs/ld-collate.c:1182 +#: locale/programs/ld-collate.c:1058 locale/programs/ld-collate.c:1185 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates symbolic name " @@ -2594,55 +2704,55 @@ msgstr "" msgid "syntax error in %s definition: %s" msgstr "Erreur de syntaxe dans la définition de %s: %s." -#: locale/programs/locfile.c:620 +#: locale/programs/locfile.c:642 msgid "syntax error in `order_start' directive" msgstr "Erreur de syntaxe dans la directive `order_start'." -#: locale/programs/locfile.c:362 +#: locale/programs/locfile.c:384 msgid "syntax error in character class definition" msgstr "Erreur de syntaxe dans la définition de la classe de caractères." -#: locale/programs/locfile.c:420 +#: locale/programs/locfile.c:442 msgid "syntax error in character conversion definition" msgstr "Erreur de syntaxe dans la définition du caractère de conversion." -#: locale/programs/locfile.c:662 +#: locale/programs/locfile.c:684 msgid "syntax error in collating order definition" msgstr "Erreur de syntaxe dans l'ordre de la définition du fusionnement." -#: locale/programs/locfile.c:512 +#: locale/programs/locfile.c:534 msgid "syntax error in collation definition" msgstr "Erreur de syntaxe dans la définition du fusionnement." -#: locale/programs/locfile.c:335 +#: locale/programs/locfile.c:357 msgid "syntax error in definition of LC_CTYPE category" msgstr "" "Erreur de syntaxe dans la définition d'une catégorie de type `LC_CTYPE'." -#: locale/programs/locfile.c:278 +#: locale/programs/locfile.c:300 msgid "syntax error in definition of new character class" msgstr "" "Erreur de syntaxe dans la définition d'une nouvelle classe de caractères." -#: locale/programs/locfile.c:288 +#: locale/programs/locfile.c:310 msgid "syntax error in definition of new character map" msgstr "" "Erreur de syntaxe dans la définition d'une nouvelle table de caractères." -#: locale/programs/locfile.c:873 +#: locale/programs/locfile.c:895 msgid "syntax error in message locale definition" msgstr "Erreur de syntaxe dans la définition localisée du message." -#: locale/programs/locfile.c:784 +#: locale/programs/locfile.c:806 msgid "syntax error in monetary locale definition" msgstr "Erreur de syntaxe dans la définition localisée des valeurs monétaires." -#: locale/programs/locfile.c:811 +#: locale/programs/locfile.c:833 msgid "syntax error in numeric locale definition" msgstr "" "Erreur de syntaxe dans la définition localisée de représentation numérique." -#: locale/programs/locfile.c:722 +#: locale/programs/locfile.c:744 msgid "syntax error in order specification" msgstr "Erreur de syntaxe dans la spéficication de l'ordonnancement." @@ -2651,27 +2761,27 @@ msgstr "Erreur de syntaxe dans la spéfic msgid "syntax error in prolog: %s" msgstr "Erreur de syntaxe du prologue: %s." -#: locale/programs/locfile.c:849 +#: locale/programs/locfile.c:871 msgid "syntax error in time locale definition" msgstr "" "Erreur de syntaxe dans la définition localisée de la représentation du temps." -#: locale/programs/locfile.c:255 +#: locale/programs/locfile.c:277 msgid "syntax error: not inside a locale definition section" msgstr "" "Erreur de syntaxe: pas à l'intérieur d'une section de définition localisée." -#: 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 "Ceci est la première définition." # time/zic.c:1120A # mro: à investiguer dans le code source -#: time/zic.c:1119 +#: time/zic.c:1117 msgid "time before zero" msgstr "Temps défini avant le zéro." -#: time/zic.c:1127 time/zic.c:1959 time/zic.c:1978 +#: time/zic.c:1125 time/zic.c:1986 time/zic.c:2005 msgid "time overflow" msgstr "Débordement du temps alloué." @@ -2687,23 +2797,23 @@ msgstr "Trop d'octets pour l'encodage de msgid "too many character classes defined" msgstr "Trop de définitions de classes de caractères." -#: time/zic.c:1788 +#: time/zic.c:1815 msgid "too many leap seconds" msgstr "Trop de délai en secondes." -#: time/zic.c:1760 +#: time/zic.c:1787 msgid "too many local time types" msgstr "Trop de types localisés pour la représentation du temps." -#: time/zic.c:1714 +#: time/zic.c:1741 msgid "too many transitions?!" msgstr "Trop de transitions définies?!" -#: locale/programs/ld-collate.c:1623 +#: locale/programs/ld-collate.c:1626 msgid "too many weights" msgstr "Trop de poids définis." -#: time/zic.c:2082 +#: time/zic.c:2109 msgid "too many, or too long, time zone abbreviations" msgstr "Trop ou de trop longues abréviations de fuseaux horaires." @@ -2716,11 +2826,11 @@ msgstr "Suffixe en rebut à la fin de la msgid "trouble replying to prog %d\n" msgstr "Problème à répondre au programme %d.\n" -#: locale/programs/ld-collate.c:1383 +#: locale/programs/ld-collate.c:1386 msgid "two lines in a row containing `...' are not allowed" msgstr "Deux lignes consécutives contenant `...' ne sont pas permises." -#: time/zic.c:1283 +#: time/zic.c:1281 msgid "typed single year" msgstr "Une seule année fournie." @@ -2735,39 +2845,36 @@ msgstr "Caractère inconnu `%s'." #: locale/programs/ld-messages.c:193 locale/programs/ld-messages.c:204 #: locale/programs/ld-messages.c:215 locale/programs/ld-messages.c:226 -#: locale/programs/ld-time.c:696 +#: locale/programs/ld-time.c:698 #, c-format msgid "unknown character in field `%s' of category `%s'" msgstr "Caractère inconnu dans le champ `%s' de catégorie `%s'." -#: locale/programs/locfile.c:585 +#: locale/programs/locfile.c:607 msgid "unknown collation directive" msgstr "Directive de fusionnement inconnue." -#: catgets/gencat.c:477 +#: catgets/gencat.c:478 #, c-format msgid "unknown directive `%s': line ignored" msgstr "Directive inconnue `%s': ligne ignorée." -#: catgets/gencat.c:456 +#: catgets/gencat.c:457 #, c-format msgid "unknown set `%s'" msgstr "Ensemble inconnu `%s'." -msgid "unknown signal" -msgstr "Signal inconnu." - -#: locale/programs/ld-collate.c:1367 locale/programs/ld-collate.c:1558 -#: locale/programs/ld-collate.c:1732 +#: locale/programs/ld-collate.c:1370 locale/programs/ld-collate.c:1561 +#: locale/programs/ld-collate.c:1735 #, c-format msgid "unknown symbol `%.*s': line ignored" msgstr "Symbole inconnu `%.*s': ligne ignorée." -#: time/zic.c:751 +#: time/zic.c:747 msgid "unruly zone" msgstr "Zone sans règle." -#: catgets/gencat.c:961 +#: catgets/gencat.c:962 msgid "unterminated message" msgstr "Message incomplet." @@ -2779,7 +2886,7 @@ msgstr "Chaîne incomplète." msgid "unterminated symbolic name" msgstr "Nom symbolique incomplet." -#: locale/programs/ld-collate.c:1685 +#: locale/programs/ld-collate.c:1688 msgid "unterminated weight name" msgstr "Nom de poids incomplet." @@ -2789,7 +2896,7 @@ msgstr "" "Limite supérieure de l'intervalle n'est pas plus petite que la limite " "inférieure." -#: time/zic.c:2025 +#: time/zic.c:2052 msgid "use of 2/29 in non leap-year" msgstr "Utiliser 2/29 pour les années non-bissextiles." @@ -2803,7 +2910,7 @@ msgstr "La valeur de %s doit être un ent msgid "value for <%s> must lie between 1 and 4" msgstr "La valeur de <%s> doit être comprise entre 1 et 4." -#: locale/programs/ld-monetary.c:148 locale/programs/ld-numeric.c:89 +#: locale/programs/ld-monetary.c:149 locale/programs/ld-numeric.c:89 #, c-format msgid "value for field `%s' in category `%s' must not be the empty string" msgstr "" @@ -2815,7 +2922,7 @@ msgstr "" "La valeur de doit être plus grande que la valeur de " "." -#: locale/programs/ld-monetary.c:138 +#: locale/programs/ld-monetary.c:139 msgid "" "value of field `int_curr_symbol' in category `LC_MONETARY' does not " "correspond to a valid name in ISO 4217" @@ -2830,13 +2937,13 @@ msgstr "" "La valeur du champ `int_curr_symbol' de catégorie `LC_MONETARY' n'a pas la " "bonne longueur." -#: locale/programs/ld-monetary.c:370 locale/programs/ld-numeric.c:199 +#: locale/programs/ld-monetary.c:371 locale/programs/ld-numeric.c:199 #, c-format msgid "values for field `%s' in category `%s' must be smaller than 127" msgstr "" "Les valeurs du champ `%s' de catégorie `%s' doivent être plus petite que 127." -#: locale/programs/ld-monetary.c:366 +#: locale/programs/ld-monetary.c:367 #, c-format msgid "values for field `%s' in category `%s' must not be zero" msgstr "" @@ -2846,15 +2953,15 @@ msgstr "" msgid "while opening UTMP file" msgstr "durant l'ouverture du fichier UTMP." -#: catgets/gencat.c:988 +#: catgets/gencat.c:989 msgid "while opening old catalog file" msgstr "durant l'ouverture du vieux fichier du catalogue." -#: db/makedb.c:353 +#: db/makedb.c:354 msgid "while reading database" msgstr "durant la lecture de la base de données." -#: db/makedb.c:315 +#: db/makedb.c:316 msgid "while writing data base file" msgstr "durant l'écriture dans le fichier de la base de données." @@ -2862,37 +2969,40 @@ msgstr "durant l'écriture dans le fichie msgid "wrong number of arguments" msgstr "Mauvais nombre de paramètres." -#: time/zic.c:1077 +#: time/zic.c:1075 msgid "wrong number of fields on Leap line" msgstr "Mauvais nombre de champs sur la ligne de type `Leap'." -#: time/zic.c:1168 +#: time/zic.c:1166 msgid "wrong number of fields on Link line" msgstr "Mauvais nombre de champs sur la ligne de type `Link'." -#: time/zic.c:911 +#: time/zic.c:909 msgid "wrong number of fields on Rule line" msgstr "Mauvais nombre de champs sur la ligne de type `Rule'." -#: time/zic.c:981 +#: time/zic.c:979 msgid "wrong number of fields on Zone continuation line" msgstr "Mauvais nombre de champs sur la ligne de type continuation de `Zone'." -#: time/zic.c:939 +#: time/zic.c:937 msgid "wrong number of fields on Zone line" msgstr "Mauvais nombre de champs sur la ligne de type `Zone'." -#: nis/ypclnt.c:570 -msgid "yp_all: clnttcp_create failed" -msgstr "yp_all: échec de la fonction clnttcp_create()." - -#: nis/ypclnt.c:772 +#: nis/ypclnt.c:811 msgid "yp_update: cannot convert host to netname\n" -msgstr "yp_update: ne peut convertir le nom de l'hôte à un nom réseau (netname).\n" +msgstr "" +"yp_update: ne peut convertir le nom de l'hôte à un nom réseau (netname).\n" -#: nis/ypclnt.c:784 +#: nis/ypclnt.c:823 msgid "yp_update: cannot get server address\n" msgstr "yp_update: ne peut obtenir l'adresse du serveur.\n" + +#~ msgid "unknown signal" +#~ msgstr "Signal inconnu." + +#~ msgid "yp_all: clnttcp_create failed" +#~ msgstr "yp_all: échec de la fonction clnttcp_create()." #~ msgid "character `%c' not defined while needed as default value" #~ msgstr "Caractère `%c' non défini alors qu'attendu comme valeur par défaut." diff -durpN glibc-2.0.2/po/libc.pot glibc-2.0.3/po/libc.pot --- glibc-2.0.2/po/libc.pot Sun Feb 9 22:18:31 1997 +++ glibc-2.0.3/po/libc.pot Sun Mar 30 12:08:58 1997 @@ -5,8 +5,8 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: libc 2.0.1\n" -"POT-Creation-Date: 1997-02-04 16:58+0100\n" +"Project-Id-Version: libc 2.0.3\n" +"POT-Creation-Date: 1997-03-30 19:08+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+DIST\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,31 +34,31 @@ msgstr "" msgid " program vers proto port\n" msgstr "" -#: time/zic.c:425 +#: time/zic.c:419 #, c-format msgid " (rule from \"%s\", line %d)" msgstr "" -#: locale/programs/ld-collate.c:360 locale/programs/ld-ctype.c:1235 +#: locale/programs/ld-collate.c:363 locale/programs/ld-ctype.c:1242 msgid " done\n" msgstr "" -#: time/zic.c:422 +#: time/zic.c:416 #, c-format msgid "\"%s\", line %d: %s" msgstr "" -#: time/zic.c:949 +#: time/zic.c:943 #, c-format msgid "\"Zone %s\" line and -l option are mutually exclusive" msgstr "" -#: time/zic.c:957 +#: time/zic.c:951 #, c-format msgid "\"Zone %s\" line and -p option are mutually exclusive" msgstr "" -#: time/zic.c:760 +#: time/zic.c:754 #, c-format msgid "%s in ruleless zone" msgstr "" @@ -78,7 +78,7 @@ msgstr "" msgid "%s%sUnknown signal %d\n" msgstr "" -#: time/zic.c:2155 +#: time/zic.c:2172 #, c-format msgid "%s: %d did not sign extend correctly\n" msgstr "" @@ -88,142 +88,142 @@ msgstr "" msgid "%s: must be greater than \n" msgstr "" -#: time/zic.c:1445 +#: time/zic.c:1443 #, c-format msgid "%s: Can't create %s: %s\n" msgstr "" -#: time/zic.c:2134 +#: time/zic.c:2150 #, c-format msgid "%s: Can't create directory %s: %s\n" msgstr "" -#: time/zic.c:614 +#: time/zic.c:608 #, c-format msgid "%s: Can't link from %s to %s: %s\n" msgstr "" -#: time/zic.c:786 +#: time/zic.c:780 #, c-format msgid "%s: Can't open %s: %s\n" msgstr "" -#: time/zic.c:1435 +#: time/zic.c:1433 #, c-format msgid "%s: Can't remove %s: %s\n" msgstr "" -#: time/zic.c:855 +#: time/zic.c:849 #, c-format msgid "%s: Error closing %s: %s\n" msgstr "" -#: time/zic.c:848 +#: time/zic.c:842 #, c-format msgid "%s: Error reading %s\n" msgstr "" -#: time/zic.c:1509 +#: time/zic.c:1507 #, c-format msgid "%s: Error writing %s\n" msgstr "" -#: time/zdump.c:258 +#: time/zdump.c:266 #, c-format msgid "%s: Error writing standard output " msgstr "" -#: time/zic.c:833 +#: time/zic.c:827 #, c-format msgid "%s: Leap line in non leap seconds file %s\n" msgstr "" -#: time/zic.c:363 +#: time/zic.c:357 #, c-format msgid "%s: Memory exhausted: %s\n" msgstr "" -#: time/zic.c:528 +#: time/zic.c:522 #, c-format msgid "%s: More than one -L option specified\n" msgstr "" -#: time/zic.c:488 +#: time/zic.c:482 #, c-format msgid "%s: More than one -d option specified\n" msgstr "" -#: time/zic.c:498 +#: time/zic.c:492 #, c-format msgid "%s: More than one -l option specified\n" msgstr "" -#: time/zic.c:508 +#: time/zic.c:502 #, c-format msgid "%s: More than one -p option specified\n" msgstr "" -#: time/zic.c:518 +#: time/zic.c:512 #, c-format msgid "%s: More than one -y option specified\n" msgstr "" -#: time/zic.c:1860 +#: time/zic.c:1872 #, c-format msgid "%s: command was '%s', result was %d\n" msgstr "" -#: locale/programs/charmap.c:593 locale/programs/locfile.c:878 +#: locale/programs/charmap.c:593 locale/programs/locfile.c:900 #, c-format msgid "%s: error in state machine" msgstr "" -#: posix/getopt.c:788 +#: posix/getopt.c:783 #, c-format msgid "%s: illegal option -- %c\n" msgstr "" -#: posix/getopt.c:791 +#: posix/getopt.c:786 #, c-format msgid "%s: invalid option -- %c\n" msgstr "" -#: posix/getopt.c:712 +#: posix/getopt.c:707 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "" -#: posix/getopt.c:683 +#: posix/getopt.c:678 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "" -#: posix/getopt.c:729 posix/getopt.c:902 +#: posix/getopt.c:724 posix/getopt.c:897 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "" -#: posix/getopt.c:707 +#: posix/getopt.c:702 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "" -#: posix/getopt.c:886 +#: posix/getopt.c:881 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" -#: posix/getopt.c:868 +#: posix/getopt.c:863 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "" -#: posix/getopt.c:821 posix/getopt.c:951 +#: posix/getopt.c:816 posix/getopt.c:946 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "" -#: time/zic.c:840 time/zic.c:1252 time/zic.c:1272 +#: time/zic.c:834 time/zic.c:1246 time/zic.c:1266 #, c-format msgid "%s: panic: Invalid l_value %d\n" msgstr "" @@ -233,17 +233,17 @@ msgstr "" msgid "%s: premature end of file" msgstr "" -#: posix/getopt.c:762 +#: posix/getopt.c:757 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "" -#: posix/getopt.c:758 +#: posix/getopt.c:753 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "" -#: time/zic.c:447 +#: time/zic.c:441 #, c-format msgid "" "%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d " @@ -251,7 +251,7 @@ msgid "" "\t[ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n" msgstr "" -#: time/zdump.c:165 +#: time/zdump.c:174 #, c-format msgid "%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n" msgstr "" @@ -273,19 +273,19 @@ msgstr "" msgid ".lib section in a.out corrupted" msgstr "" -#: inet/rcmd.c:359 +#: inet/rcmd.c:363 msgid ".rhosts fstat failed" msgstr "" -#: inet/rcmd.c:355 +#: inet/rcmd.c:359 msgid ".rhosts lstat failed" msgstr "" -#: inet/rcmd.c:357 +#: inet/rcmd.c:361 msgid ".rhosts not regular file" msgstr "" -#: inet/rcmd.c:363 +#: inet/rcmd.c:367 msgid ".rhosts writeable by other than owner" msgstr "" @@ -298,12 +298,12 @@ msgstr "" msgid "; why = " msgstr "" -#: locale/programs/ld-ctype.c:326 +#: locale/programs/ld-ctype.c:331 #, c-format msgid " character must not be in class `%s'" msgstr "" -#: locale/programs/ld-ctype.c:317 +#: locale/programs/ld-ctype.c:321 #, c-format msgid " character not in class `%s'" msgstr "" @@ -397,7 +397,7 @@ msgstr "" msgid "Block device required" msgstr "" -#: sunrpc/pmap_rmt.c:337 +#: sunrpc/pmap_rmt.c:338 msgid "Broadcast select problem" msgstr "" @@ -425,19 +425,19 @@ msgstr "" msgid "Can not access a needed shared library" msgstr "" -#: nis/ypclnt.c:694 +#: nis/ypclnt.c:695 msgid "Can't bind to server which serves this domain" msgstr "" -#: nis/ypclnt.c:706 +#: nis/ypclnt.c:707 msgid "Can't communicate with portmapper" msgstr "" -#: nis/ypclnt.c:708 +#: nis/ypclnt.c:709 msgid "Can't communicate with ypbind" msgstr "" -#: nis/ypclnt.c:710 +#: nis/ypclnt.c:711 msgid "Can't communicate with ypserv" msgstr "" @@ -462,7 +462,7 @@ msgstr "" msgid "Cannot exec a shared library directly" msgstr "" -#: sunrpc/pmap_rmt.c:349 +#: sunrpc/pmap_rmt.c:350 msgid "Cannot receive reply to broadcast" msgstr "" @@ -505,11 +505,11 @@ msgstr "" msgid "Computer bought the farm" msgstr "" -#: locale/programs/ld-ctype.c:1198 +#: locale/programs/ld-ctype.c:1204 msgid "Computing table size for character classes might take a while..." msgstr "" -#: locale/programs/ld-collate.c:327 +#: locale/programs/ld-collate.c:329 msgid "Computing table size for collation information might take a while..." msgstr "" @@ -538,7 +538,7 @@ msgid "Continued" msgstr "" #: catgets/gencat.c:169 db/makedb.c:120 locale/programs/locale.c:187 -#: locale/programs/localedef.c:177 +#: locale/programs/localedef.c:180 #, c-format msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -550,7 +550,7 @@ msgstr "" msgid "Cputime limit exceeded" msgstr "" -#: nis/ypclnt.c:720 +#: nis/ypclnt.c:721 msgid "Database is busy" msgstr "" @@ -592,7 +592,7 @@ msgstr "" msgid "Disc quota exceeded" msgstr "" -#: nis/ypclnt.c:766 +#: nis/ypclnt.c:767 msgid "Domain not bound" msgstr "" @@ -624,7 +624,7 @@ msgstr "" msgid "Exec format error" msgstr "" -#: locale/programs/localedef.c:213 +#: locale/programs/localedef.c:216 msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'" msgstr "" @@ -757,11 +757,11 @@ msgstr "" msgid "Input/output error" msgstr "" -#: nis/ypclnt.c:700 +#: nis/ypclnt.c:701 msgid "Internal NIS error" msgstr "" -#: nis/ypclnt.c:764 +#: nis/ypclnt.c:765 msgid "Internal ypbind error" msgstr "" @@ -791,11 +791,11 @@ msgstr "" msgid "Invalid argument" msgstr "" -#: posix/regex.c:946 +#: posix/regex.c:960 msgid "Invalid back reference" msgstr "" -#: posix/regex.c:944 +#: posix/regex.c:958 msgid "Invalid character class name" msgstr "" @@ -807,11 +807,11 @@ msgstr "" msgid "Invalid client verifier" msgstr "" -#: posix/regex.c:943 +#: posix/regex.c:957 msgid "Invalid collation character" msgstr "" -#: posix/regex.c:950 +#: posix/regex.c:964 msgid "Invalid content of \\{\\}" msgstr "" @@ -832,15 +832,15 @@ msgstr "" msgid "Invalid or incomplete multibyte or wide character" msgstr "" -#: posix/regex.c:953 +#: posix/regex.c:967 msgid "Invalid preceding regular expression" msgstr "" -#: posix/regex.c:951 +#: posix/regex.c:965 msgid "Invalid range end" msgstr "" -#: posix/regex.c:942 +#: posix/regex.c:956 msgid "Invalid regular expression" msgstr "" @@ -899,11 +899,11 @@ msgstr "" msgid "Link number out of range" msgstr "" -#: nis/ypclnt.c:712 +#: nis/ypclnt.c:713 msgid "Local domain name not set" msgstr "" -#: nis/ypclnt.c:702 +#: nis/ypclnt.c:703 msgid "Local resource allocation failure" msgstr "" @@ -911,7 +911,7 @@ msgstr "" msgid "Machine is not on the network" msgstr "" -#: posix/regex.c:952 +#: posix/regex.c:966 msgid "Memory exhausted" msgstr "" @@ -925,11 +925,11 @@ msgstr "" msgid "Multihop attempted" msgstr "" -#: nis/ypclnt.c:716 +#: nis/ypclnt.c:717 msgid "NIS client/server version mismatch - can't supply service" msgstr "" -#: nis/ypclnt.c:714 +#: nis/ypclnt.c:715 msgid "NIS map data base is bad" msgstr "" @@ -1000,7 +1000,7 @@ msgstr "" msgid "No locks available" msgstr "" -#: posix/regex.c:941 +#: posix/regex.c:955 msgid "No match" msgstr "" @@ -1008,11 +1008,11 @@ msgstr "" msgid "No message of desired type" msgstr "" -#: nis/ypclnt.c:704 +#: nis/ypclnt.c:705 msgid "No more records in map database" msgstr "" -#: posix/regex.c:5204 +#: posix/regex.c:5324 msgid "No previous regular expression" msgstr "" @@ -1038,11 +1038,11 @@ msgstr "" msgid "No such file or directory" msgstr "" -#: nis/ypclnt.c:698 +#: nis/ypclnt.c:699 msgid "No such key in map" msgstr "" -#: nis/ypclnt.c:696 +#: nis/ypclnt.c:697 msgid "No such map in server's domain" msgstr "" @@ -1080,7 +1080,7 @@ msgstr "" msgid "Object is remote" msgstr "" -#: time/zic.c:1954 +#: time/zic.c:1966 msgid "Odd number of quotation marks" msgstr "" @@ -1142,7 +1142,7 @@ msgid "Package not installed" msgstr "" #. TRANS Permission denied; the file permissions do not allow the attempted operation. -#: nis/ypclnt.c:718 stdio-common/../sysdeps/gnu/errlist.c:96 +#: nis/ypclnt.c:719 stdio-common/../sysdeps/gnu/errlist.c:96 msgid "Permission denied" msgstr "" @@ -1150,7 +1150,7 @@ msgstr "" msgid "Power failure" msgstr "" -#: posix/regex.c:954 +#: posix/regex.c:968 msgid "Premature end of regular expression" msgstr "" @@ -1204,7 +1204,7 @@ msgstr "" msgid "RPC bad procedure for program" msgstr "" -#: nis/ypclnt.c:692 +#: nis/ypclnt.c:693 msgid "RPC failure on NIS operation" msgstr "" @@ -1313,7 +1313,7 @@ msgstr "" msgid "Read-only file system" msgstr "" -#: posix/regex.c:955 +#: posix/regex.c:969 msgid "Regular expression too big" msgstr "" @@ -1330,11 +1330,11 @@ msgid "Remove password or make file unre msgstr "" #: catgets/gencat.c:224 db/makedb.c:227 locale/programs/locale.c:257 -#: locale/programs/localedef.c:408 +#: locale/programs/localedef.c:412 msgid "Report bugs using the `glibcbug' script to .\n" msgstr "" -#: nis/ypclnt.c:690 +#: nis/ypclnt.c:691 msgid "Request arguments bad" msgstr "" @@ -1467,12 +1467,12 @@ msgstr "" msgid "Structure needs cleaning" msgstr "" -#: nis/ypclnt.c:688 nis/ypclnt.c:762 posix/regex.c:940 +#: nis/ypclnt.c:689 nis/ypclnt.c:763 posix/regex.c:954 #: stdio-common/../sysdeps/gnu/errlist.c:7 msgid "Success" msgstr "" -#: nis/ypclnt.c:768 +#: nis/ypclnt.c:769 msgid "System resource allocation failure" msgstr "" @@ -1551,7 +1551,7 @@ msgstr "" msgid "Trace/breakpoint trap" msgstr "" -#: posix/regex.c:945 +#: posix/regex.c:959 msgid "Trailing backslash" msgstr "" @@ -1577,7 +1577,7 @@ msgid "Transport endpoint is not connect msgstr "" #: catgets/gencat.c:208 db/makedb.c:209 locale/programs/locale.c:241 -#: locale/programs/localedef.c:389 +#: locale/programs/localedef.c:393 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" @@ -1592,7 +1592,7 @@ msgstr "" msgid "Unknown .netrc keyword %s" msgstr "" -#: nis/ypclnt.c:722 +#: nis/ypclnt.c:723 msgid "Unknown NIS error code" msgstr "" @@ -1618,27 +1618,27 @@ msgstr "" msgid "Unknown signal %d" msgstr "" -#: misc/error.c:95 +#: misc/error.c:100 msgid "Unknown system error" msgstr "" -#: nis/ypclnt.c:770 +#: nis/ypclnt.c:771 msgid "Unknown ypbind error" msgstr "" -#: posix/regex.c:948 +#: posix/regex.c:962 msgid "Unmatched ( or \\(" msgstr "" -#: posix/regex.c:956 +#: posix/regex.c:970 msgid "Unmatched ) or \\)" msgstr "" -#: posix/regex.c:947 +#: posix/regex.c:961 msgid "Unmatched [ or [^" msgstr "" -#: posix/regex.c:949 +#: posix/regex.c:963 msgid "Unmatched \\{" msgstr "" @@ -1683,7 +1683,7 @@ msgid "" "If INPUT-FILE is -, input is read from standard input.\n" msgstr "" -#: locale/programs/localedef.c:393 +#: locale/programs/localedef.c:397 #, c-format msgid "" "Usage: %s [OPTION]... name\n" @@ -1745,7 +1745,7 @@ msgstr "" msgid "Virtual timer expired" msgstr "" -#: time/zic.c:1859 +#: time/zic.c:1871 msgid "Wild result from command execution" msgstr "" @@ -1755,7 +1755,7 @@ msgid "Window changed" msgstr "" #: catgets/gencat.c:174 db/makedb.c:125 locale/programs/locale.c:192 -#: locale/programs/localedef.c:182 +#: locale/programs/localedef.c:185 #, c-format msgid "Written by %s.\n" msgstr "" @@ -1782,29 +1782,29 @@ msgstr "" msgid "You really blew it this time" msgstr "" -#: time/zic.c:1054 +#: time/zic.c:1048 msgid "Zone continuation line end time is not after end time of previous line" msgstr "" -#: locale/programs/charmap.c:397 locale/programs/locfile.c:341 +#: locale/programs/charmap.c:397 locale/programs/locfile.c:363 #, c-format msgid "`%1$s' definition does not end with `END %1$s'" msgstr "" -#: locale/programs/ld-monetary.c:358 locale/programs/ld-numeric.c:190 +#: locale/programs/ld-monetary.c:359 locale/programs/ld-numeric.c:190 #, c-format msgid "`-1' must be last entry in `%s' field in `%s' category" msgstr "" -#: locale/programs/ld-collate.c:1652 +#: locale/programs/ld-collate.c:1655 msgid "`...' must only be used in `...' and `UNDEFINED' entries" msgstr "" -#: locale/programs/locfile.c:538 +#: locale/programs/locfile.c:560 msgid "`from' expected after first argument to `collating-element'" msgstr "" -#: locale/programs/ld-collate.c:1109 +#: locale/programs/ld-collate.c:1112 msgid "" "`from' string in collation element declaration contains unknown character" msgstr "" @@ -1814,28 +1814,28 @@ msgstr "" msgid "argument to <%s> must be a single character" msgstr "" -#: locale/programs/locfile.c:215 +#: locale/programs/locfile.c:237 #, c-format msgid "argument to `%s' must be a single character" msgstr "" -#: sunrpc/auth_unix.c:322 +#: sunrpc/auth_unix.c:323 msgid "auth_none.c - Fatal marshalling problem" msgstr "" -#: inet/rcmd.c:361 +#: inet/rcmd.c:365 msgid "bad .rhosts owner" msgstr "" -#: locale/programs/charmap.c:212 locale/programs/locfile.c:209 +#: locale/programs/charmap.c:212 locale/programs/locfile.c:231 msgid "bad argument" msgstr "" -#: time/zic.c:1176 +#: time/zic.c:1170 msgid "blank FROM field on Link line" msgstr "" -#: time/zic.c:1180 +#: time/zic.c:1174 msgid "blank TO field on Link line" msgstr "" @@ -1859,7 +1859,7 @@ msgstr "" msgid "cache_set: victim not found" msgstr "" -#: time/zic.c:1700 +#: time/zic.c:1698 msgid "can't determine time zone abbreviation to use just after until time" msgstr "" @@ -1868,21 +1868,21 @@ msgstr "" msgid "can't reassign procedure number %d\n" msgstr "" -#: locale/programs/localedef.c:287 +#: locale/programs/localedef.c:291 #, c-format msgid "cannot `stat' locale file `%s'" msgstr "" -#: locale/programs/ld-collate.c:1314 +#: locale/programs/ld-collate.c:1317 #, c-format msgid "cannot insert collation element `%.*s'" msgstr "" -#: locale/programs/ld-collate.c:1493 locale/programs/ld-collate.c:1498 +#: locale/programs/ld-collate.c:1496 locale/programs/ld-collate.c:1501 msgid "cannot insert into result table" msgstr "" -#: locale/programs/ld-collate.c:1166 locale/programs/ld-collate.c:1208 +#: locale/programs/ld-collate.c:1169 locale/programs/ld-collate.c:1211 #, c-format msgid "cannot insert new collating symbol definition: %s" msgstr "" @@ -1897,7 +1897,7 @@ msgstr "" msgid "cannot open input file `%s'" msgstr "" -#: locale/programs/localedef.c:221 +#: locale/programs/localedef.c:224 #, c-format msgid "cannot open locale definition file `%s'" msgstr "" @@ -1907,12 +1907,12 @@ msgstr "" msgid "cannot open output file `%s'" msgstr "" -#: locale/programs/locfile.c:986 +#: locale/programs/locfile.c:1008 #, c-format msgid "cannot open output file `%s' for category `%s'" msgstr "" -#: locale/programs/ld-collate.c:1360 +#: locale/programs/ld-collate.c:1363 msgid "cannot process order specification" msgstr "" @@ -1926,50 +1926,50 @@ msgstr "" msgid "cannot read locale directory `%s'" msgstr "" -#: locale/programs/localedef.c:309 +#: locale/programs/localedef.c:313 #, c-format msgid "cannot read locale file `%s'" msgstr "" -#: locale/programs/localedef.c:334 +#: locale/programs/localedef.c:338 #, c-format msgid "cannot write output files to `%s'" msgstr "" -#: locale/programs/localedef.c:377 +#: locale/programs/localedef.c:381 msgid "category data requested more than once: should not happen" msgstr "" -#: locale/programs/ld-ctype.c:265 +#: locale/programs/ld-ctype.c:266 #, c-format msgid "character %s'%s' in class `%s' must be in class `%s'" msgstr "" -#: locale/programs/ld-ctype.c:289 +#: locale/programs/ld-ctype.c:291 #, c-format msgid "character %s'%s' in class `%s' must not be in class `%s'" msgstr "" -#: locale/programs/ld-ctype.c:310 +#: locale/programs/ld-ctype.c:313 msgid "character not defined in character map" msgstr "" -#: locale/programs/ld-ctype.c:939 locale/programs/ld-ctype.c:1002 -#: locale/programs/ld-ctype.c:1010 locale/programs/ld-ctype.c:1018 -#: locale/programs/ld-ctype.c:1026 locale/programs/ld-ctype.c:1034 -#: locale/programs/ld-ctype.c:1042 locale/programs/ld-ctype.c:1068 -#: locale/programs/ld-ctype.c:1076 locale/programs/ld-ctype.c:1114 -#: locale/programs/ld-ctype.c:1141 locale/programs/ld-ctype.c:1152 +#: locale/programs/ld-ctype.c:944 locale/programs/ld-ctype.c:1007 +#: locale/programs/ld-ctype.c:1015 locale/programs/ld-ctype.c:1023 +#: locale/programs/ld-ctype.c:1031 locale/programs/ld-ctype.c:1039 +#: locale/programs/ld-ctype.c:1047 locale/programs/ld-ctype.c:1073 +#: locale/programs/ld-ctype.c:1081 locale/programs/ld-ctype.c:1119 +#: locale/programs/ld-ctype.c:1146 locale/programs/ld-ctype.c:1157 #, c-format msgid "character `%s' not defined while needed as default value" msgstr "" -#: locale/programs/ld-ctype.c:801 +#: locale/programs/ld-ctype.c:806 #, c-format msgid "character class `%s' already defined" msgstr "" -#: locale/programs/ld-ctype.c:833 +#: locale/programs/ld-ctype.c:838 #, c-format msgid "character map `%s' already defined" msgstr "" @@ -1983,17 +1983,17 @@ msgstr "" msgid "clnt_raw.c - Fatal header serialization error." msgstr "" -#: locale/programs/ld-collate.c:1329 +#: locale/programs/ld-collate.c:1332 #, c-format msgid "collation element `%.*s' appears more than once: ignore line" msgstr "" -#: locale/programs/ld-collate.c:1347 +#: locale/programs/ld-collate.c:1350 #, c-format msgid "collation symbol `%.*s' appears more than once: ignore line" msgstr "" -#: locale/programs/locfile.c:522 +#: locale/programs/locfile.c:544 #, c-format msgid "collation symbol expected after `%s'" msgstr "" @@ -2036,11 +2036,11 @@ msgstr "" msgid "duplicate character name `%s'" msgstr "" -#: locale/programs/ld-collate.c:1141 +#: locale/programs/ld-collate.c:1144 msgid "duplicate collating element definition" msgstr "" -#: locale/programs/ld-collate.c:1287 +#: locale/programs/ld-collate.c:1290 #, c-format msgid "duplicate definition for character `%.*s'" msgstr "" @@ -2053,7 +2053,7 @@ msgstr "" msgid "duplicate set definition" msgstr "" -#: time/zic.c:969 +#: time/zic.c:963 #, c-format msgid "duplicate zone name %s (file \"%s\", line %d)" msgstr "" @@ -2066,7 +2066,7 @@ msgstr "" msgid "duplicated message number" msgstr "" -#: locale/programs/ld-collate.c:1696 +#: locale/programs/ld-collate.c:1699 msgid "empty weight name: line ignored" msgstr "" @@ -2086,36 +2086,36 @@ msgstr "" msgid "enablecache: could not allocate cache fifo" msgstr "" -#: locale/programs/ld-collate.c:1419 +#: locale/programs/ld-collate.c:1422 msgid "end point of ellipsis range is bigger then start" msgstr "" -#: locale/programs/ld-collate.c:1149 +#: locale/programs/ld-collate.c:1152 msgid "error while inserting collation element into hash table" msgstr "" -#: locale/programs/ld-collate.c:1161 +#: locale/programs/ld-collate.c:1164 msgid "error while inserting to hash table" msgstr "" -#: locale/programs/locfile.c:465 +#: locale/programs/locfile.c:487 msgid "expect string argument for `copy'" msgstr "" -#: time/zic.c:860 +#: time/zic.c:854 msgid "expected continuation line not found" msgstr "" -#: locale/programs/locfile.c:1010 +#: locale/programs/locfile.c:1032 #, c-format msgid "failure while writing data for category `%s'" msgstr "" -#: nis/ypclnt.c:186 +#: nis/ypclnt.c:187 msgid "fcntl: F_SETFD" msgstr "" -#: locale/programs/ld-monetary.c:154 locale/programs/ld-numeric.c:95 +#: locale/programs/ld-monetary.c:155 locale/programs/ld-numeric.c:95 #, c-format msgid "field `%s' in category `%s' not defined" msgstr "" @@ -2125,7 +2125,7 @@ msgstr "" msgid "field `%s' in category `%s' undefined" msgstr "" -#: locale/programs/locfile.c:547 +#: locale/programs/locfile.c:569 msgid "from-value of `collating-element' must be a string" msgstr "" @@ -2149,7 +2149,7 @@ msgid "" "garbage at end of starting date in string %d in `era' field in category `%s'" msgstr "" -#: locale/programs/ld-time.c:310 +#: locale/programs/ld-time.c:311 #, c-format msgid "" "garbage at end of stopping date in string %d in `era' field in category `%s'" @@ -2159,19 +2159,19 @@ msgstr "" msgid "get_myaddress: ioctl (get interface configuration)" msgstr "" -#: time/zic.c:1153 +#: time/zic.c:1147 msgid "illegal CORRECTION field on Leap line" msgstr "" -#: time/zic.c:1157 +#: time/zic.c:1151 msgid "illegal Rolling/Stationary field on Leap line" msgstr "" -#: locale/programs/ld-collate.c:1767 +#: locale/programs/ld-collate.c:1770 msgid "illegal character constant in string" msgstr "" -#: locale/programs/ld-collate.c:1116 +#: locale/programs/ld-collate.c:1119 msgid "illegal collation element" msgstr "" @@ -2205,17 +2205,17 @@ msgstr "" msgid "illegal starting date in string %d in `era' field in category `%s'" msgstr "" -#: locale/programs/ld-time.c:302 +#: locale/programs/ld-time.c:303 #, c-format msgid "illegal stopping date in string %d in `era' field in category `%s'" msgstr "" -#: locale/programs/ld-ctype.c:807 +#: locale/programs/ld-ctype.c:812 #, c-format msgid "implementation limit: no more than %d character classes allowed" msgstr "" -#: locale/programs/ld-ctype.c:839 +#: locale/programs/ld-ctype.c:844 #, c-format msgid "implementation limit: no more than %d character maps allowed" msgstr "" @@ -2224,80 +2224,80 @@ msgstr "" msgid "incorrectly formatted file" msgstr "" -#: time/zic.c:817 +#: time/zic.c:811 msgid "input line of unknown type" msgstr "" -#: time/zic.c:1748 +#: time/zic.c:1760 msgid "internal error - addtype called with bad isdst" msgstr "" -#: time/zic.c:1756 +#: time/zic.c:1768 msgid "internal error - addtype called with bad ttisgmt" msgstr "" -#: time/zic.c:1752 +#: time/zic.c:1764 msgid "internal error - addtype called with bad ttisstd" msgstr "" -#: locale/programs/ld-ctype.c:301 +#: locale/programs/ld-ctype.c:304 #, c-format msgid "internal error in %s, line %u" msgstr "" -#: time/zic.c:1025 +#: time/zic.c:1019 msgid "invalid GMT offset" msgstr "" -#: time/zic.c:1028 +#: time/zic.c:1022 msgid "invalid abbreviation format" msgstr "" -#: time/zic.c:1118 time/zic.c:1317 time/zic.c:1331 +#: time/zic.c:1112 time/zic.c:1313 time/zic.c:1327 msgid "invalid day of month" msgstr "" -#: time/zic.c:1276 +#: time/zic.c:1270 msgid "invalid ending year" msgstr "" -#: time/zic.c:1090 +#: time/zic.c:1084 msgid "invalid leaping year" msgstr "" -#: time/zic.c:1105 time/zic.c:1208 +#: time/zic.c:1099 time/zic.c:1202 msgid "invalid month name" msgstr "" -#: time/zic.c:924 +#: time/zic.c:918 msgid "invalid saved time" msgstr "" -#: time/zic.c:1256 +#: time/zic.c:1250 msgid "invalid starting year" msgstr "" -#: time/zic.c:1134 time/zic.c:1236 +#: time/zic.c:1128 time/zic.c:1230 msgid "invalid time of day" msgstr "" -#: time/zic.c:1322 +#: time/zic.c:1318 msgid "invalid weekday name" msgstr "" -#: locale/programs/ld-collate.c:1412 +#: locale/programs/ld-collate.c:1415 msgid "line after ellipsis must contain character definition" msgstr "" -#: locale/programs/ld-collate.c:1391 +#: locale/programs/ld-collate.c:1394 msgid "line before ellipsis does not contain definition for character constant" msgstr "" -#: time/zic.c:797 +#: time/zic.c:791 msgid "line too long" msgstr "" -#: locale/programs/localedef.c:281 +#: locale/programs/localedef.c:285 #, c-format msgid "locale file `%s', used in `copy' statement, not found" msgstr "" @@ -2315,8 +2315,8 @@ msgid "memory clobbered past end of allo msgstr "" #: locale/programs/ld-collate.c:167 locale/programs/ld-collate.c:173 -#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1439 -#: locale/programs/ld-collate.c:1468 locale/programs/locfile.c:940 +#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1442 +#: locale/programs/ld-collate.c:1471 locale/programs/locfile.c:962 #: locale/programs/xmalloc.c:68 posix/getconf.c:250 msgid "memory exhausted" msgstr "" @@ -2329,17 +2329,17 @@ msgstr "" msgid "memory is consistent, library is buggy" msgstr "" -#: locale/programs/ld-time.c:348 +#: locale/programs/ld-time.c:350 #, c-format msgid "missing era format in string %d in `era' field in category `%s'" msgstr "" -#: locale/programs/ld-time.c:337 +#: locale/programs/ld-time.c:339 #, c-format msgid "missing era name in string %d in `era' field in category `%s'" msgstr "" -#: time/zic.c:919 +#: time/zic.c:913 msgid "nameless rule" msgstr "" @@ -2353,19 +2353,19 @@ msgstr "" msgid "no correct regular expression for field `%s' in category `%s': %s" msgstr "" -#: time/zic.c:2074 +#: time/zic.c:2086 msgid "no day in month matches rule" msgstr "" -#: locale/programs/ld-collate.c:259 +#: locale/programs/ld-collate.c:260 msgid "no definition of `UNDEFINED'" msgstr "" -#: locale/programs/locfile.c:479 +#: locale/programs/locfile.c:501 msgid "no other keyword shall be specified when `copy' is used" msgstr "" -#: locale/programs/localedef.c:340 +#: locale/programs/localedef.c:344 msgid "no output file produced because warning were issued" msgstr "" @@ -2427,7 +2427,7 @@ msgstr "" msgid "registerrpc: out of memory\n" msgstr "" -#: time/zic.c:1809 +#: time/zic.c:1821 msgid "repeated leap second moment" msgstr "" @@ -2459,7 +2459,7 @@ msgstr "" msgid "rpcinfo: can't contact portmapper: " msgstr "" -#: time/zic.c:710 time/zic.c:712 +#: time/zic.c:704 time/zic.c:706 msgid "same rule name in multiple files" msgstr "" @@ -2471,33 +2471,33 @@ msgstr "" msgid "socket: protocol failure in circuit setup\n" msgstr "" -#: locale/programs/locfile.c:600 +#: locale/programs/locfile.c:622 msgid "sorting order `forward' and `backward' are mutually exclusive" msgstr "" -#: locale/programs/ld-collate.c:1568 locale/programs/ld-collate.c:1614 +#: locale/programs/ld-collate.c:1571 locale/programs/ld-collate.c:1617 msgid "" "specification of sorting weight for collation symbol does not make sense" msgstr "" -#: time/zic.c:781 +#: time/zic.c:775 msgid "standard input" msgstr "" -#: time/zdump.c:260 +#: time/zdump.c:268 msgid "standard output" msgstr "" -#: locale/programs/ld-time.c:256 +#: locale/programs/ld-time.c:257 #, c-format msgid "starting date is illegal in string %d in `era' field in category `%s'" msgstr "" -#: time/zic.c:1280 +#: time/zic.c:1274 msgid "starting year greater than ending year" msgstr "" -#: locale/programs/ld-time.c:328 +#: locale/programs/ld-time.c:330 #, c-format msgid "stopping date is illegal in string %d in `era' field in category `%s'" msgstr "" @@ -2526,35 +2526,35 @@ msgstr "" msgid "svcudp_create: socket creation problem" msgstr "" -#: locale/programs/ld-collate.c:1191 +#: locale/programs/ld-collate.c:1194 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates element " "definition" msgstr "" -#: locale/programs/ld-collate.c:1064 +#: locale/programs/ld-collate.c:1067 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates other element " "definition" msgstr "" -#: locale/programs/ld-collate.c:1200 +#: locale/programs/ld-collate.c:1203 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates other symbol " "definition" msgstr "" -#: locale/programs/ld-collate.c:1073 +#: locale/programs/ld-collate.c:1076 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates symbol " "definition" msgstr "" -#: locale/programs/ld-collate.c:1055 locale/programs/ld-collate.c:1182 +#: locale/programs/ld-collate.c:1058 locale/programs/ld-collate.c:1185 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates symbolic name " @@ -2569,51 +2569,51 @@ msgstr "" msgid "syntax error in %s definition: %s" msgstr "" -#: locale/programs/locfile.c:620 +#: locale/programs/locfile.c:642 msgid "syntax error in `order_start' directive" msgstr "" -#: locale/programs/locfile.c:362 +#: locale/programs/locfile.c:384 msgid "syntax error in character class definition" msgstr "" -#: locale/programs/locfile.c:420 +#: locale/programs/locfile.c:442 msgid "syntax error in character conversion definition" msgstr "" -#: locale/programs/locfile.c:662 +#: locale/programs/locfile.c:684 msgid "syntax error in collating order definition" msgstr "" -#: locale/programs/locfile.c:512 +#: locale/programs/locfile.c:534 msgid "syntax error in collation definition" msgstr "" -#: locale/programs/locfile.c:335 +#: locale/programs/locfile.c:357 msgid "syntax error in definition of LC_CTYPE category" msgstr "" -#: locale/programs/locfile.c:278 +#: locale/programs/locfile.c:300 msgid "syntax error in definition of new character class" msgstr "" -#: locale/programs/locfile.c:288 +#: locale/programs/locfile.c:310 msgid "syntax error in definition of new character map" msgstr "" -#: locale/programs/locfile.c:873 +#: locale/programs/locfile.c:895 msgid "syntax error in message locale definition" msgstr "" -#: locale/programs/locfile.c:784 +#: locale/programs/locfile.c:806 msgid "syntax error in monetary locale definition" msgstr "" -#: locale/programs/locfile.c:811 +#: locale/programs/locfile.c:833 msgid "syntax error in numeric locale definition" msgstr "" -#: locale/programs/locfile.c:722 +#: locale/programs/locfile.c:744 msgid "syntax error in order specification" msgstr "" @@ -2622,11 +2622,11 @@ msgstr "" msgid "syntax error in prolog: %s" msgstr "" -#: locale/programs/locfile.c:849 +#: locale/programs/locfile.c:871 msgid "syntax error in time locale definition" msgstr "" -#: locale/programs/locfile.c:255 +#: locale/programs/locfile.c:277 msgid "syntax error: not inside a locale definition section" msgstr "" @@ -2634,11 +2634,11 @@ msgstr "" msgid "this is the first definition" msgstr "" -#: time/zic.c:1123 +#: time/zic.c:1117 msgid "time before zero" msgstr "" -#: time/zic.c:1131 time/zic.c:1974 time/zic.c:1993 +#: time/zic.c:1125 time/zic.c:1986 time/zic.c:2005 msgid "time overflow" msgstr "" @@ -2654,23 +2654,23 @@ msgstr "" msgid "too many character classes defined" msgstr "" -#: time/zic.c:1803 +#: time/zic.c:1815 msgid "too many leap seconds" msgstr "" -#: time/zic.c:1775 +#: time/zic.c:1787 msgid "too many local time types" msgstr "" -#: time/zic.c:1729 +#: time/zic.c:1741 msgid "too many transitions?!" msgstr "" -#: locale/programs/ld-collate.c:1623 +#: locale/programs/ld-collate.c:1626 msgid "too many weights" msgstr "" -#: time/zic.c:2097 +#: time/zic.c:2109 msgid "too many, or too long, time zone abbreviations" msgstr "" @@ -2683,11 +2683,11 @@ msgstr "" msgid "trouble replying to prog %d\n" msgstr "" -#: locale/programs/ld-collate.c:1383 +#: locale/programs/ld-collate.c:1386 msgid "two lines in a row containing `...' are not allowed" msgstr "" -#: time/zic.c:1287 +#: time/zic.c:1281 msgid "typed single year" msgstr "" @@ -2702,12 +2702,12 @@ msgstr "" #: locale/programs/ld-messages.c:193 locale/programs/ld-messages.c:204 #: locale/programs/ld-messages.c:215 locale/programs/ld-messages.c:226 -#: locale/programs/ld-time.c:696 +#: locale/programs/ld-time.c:698 #, c-format msgid "unknown character in field `%s' of category `%s'" msgstr "" -#: locale/programs/locfile.c:585 +#: locale/programs/locfile.c:607 msgid "unknown collation directive" msgstr "" @@ -2721,13 +2721,13 @@ msgstr "" msgid "unknown set `%s'" msgstr "" -#: locale/programs/ld-collate.c:1367 locale/programs/ld-collate.c:1558 -#: locale/programs/ld-collate.c:1732 +#: locale/programs/ld-collate.c:1370 locale/programs/ld-collate.c:1561 +#: locale/programs/ld-collate.c:1735 #, c-format msgid "unknown symbol `%.*s': line ignored" msgstr "" -#: time/zic.c:753 +#: time/zic.c:747 msgid "unruly zone" msgstr "" @@ -2743,7 +2743,7 @@ msgstr "" msgid "unterminated symbolic name" msgstr "" -#: locale/programs/ld-collate.c:1685 +#: locale/programs/ld-collate.c:1688 msgid "unterminated weight name" msgstr "" @@ -2751,7 +2751,7 @@ msgstr "" msgid "upper limit in range is not smaller then lower limit" msgstr "" -#: time/zic.c:2040 +#: time/zic.c:2052 msgid "use of 2/29 in non leap-year" msgstr "" @@ -2765,7 +2765,7 @@ msgstr "" msgid "value for <%s> must lie between 1 and 4" msgstr "" -#: locale/programs/ld-monetary.c:148 locale/programs/ld-numeric.c:89 +#: locale/programs/ld-monetary.c:149 locale/programs/ld-numeric.c:89 #, c-format msgid "value for field `%s' in category `%s' must not be the empty string" msgstr "" @@ -2774,7 +2774,7 @@ msgstr "" msgid "value of must be greater than the value of " msgstr "" -#: locale/programs/ld-monetary.c:138 +#: locale/programs/ld-monetary.c:139 msgid "" "value of field `int_curr_symbol' in category `LC_MONETARY' does not " "correspond to a valid name in ISO 4217" @@ -2785,12 +2785,12 @@ msgid "" "value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length" msgstr "" -#: locale/programs/ld-monetary.c:370 locale/programs/ld-numeric.c:199 +#: locale/programs/ld-monetary.c:371 locale/programs/ld-numeric.c:199 #, c-format msgid "values for field `%s' in category `%s' must be smaller than 127" msgstr "" -#: locale/programs/ld-monetary.c:366 +#: locale/programs/ld-monetary.c:367 #, c-format msgid "values for field `%s' in category `%s' must not be zero" msgstr "" @@ -2815,30 +2815,30 @@ msgstr "" msgid "wrong number of arguments" msgstr "" -#: time/zic.c:1081 +#: time/zic.c:1075 msgid "wrong number of fields on Leap line" msgstr "" -#: time/zic.c:1172 +#: time/zic.c:1166 msgid "wrong number of fields on Link line" msgstr "" -#: time/zic.c:915 +#: time/zic.c:909 msgid "wrong number of fields on Rule line" msgstr "" -#: time/zic.c:985 +#: time/zic.c:979 msgid "wrong number of fields on Zone continuation line" msgstr "" -#: time/zic.c:943 +#: time/zic.c:937 msgid "wrong number of fields on Zone line" msgstr "" -#: nis/ypclnt.c:810 +#: nis/ypclnt.c:811 msgid "yp_update: cannot convert host to netname\n" msgstr "" -#: nis/ypclnt.c:822 +#: nis/ypclnt.c:823 msgid "yp_update: cannot get server address\n" msgstr "" Binary files glibc-2.0.2/po/pl.mo and glibc-2.0.3/po/pl.mo differ diff -durpN glibc-2.0.2/po/pl.po glibc-2.0.3/po/pl.po --- glibc-2.0.2/po/pl.po Sat Sep 7 22:07:08 1996 +++ glibc-2.0.3/po/pl.po Thu Apr 17 16:42:53 1997 @@ -1,28 +1,21 @@ -# Polish translation for glibc-1.90. +# Polish translation for GNU libc-2.0.3 # Copyright (C) 1996 Free Software Foundation, Inc. -# Pawe³ Krawczyk , 1996. +# Pawe³ Krawczyk , 1996-97. # msgid "" msgstr "" -"Project-Id-Version: glibc 1.90\n" -"POT-Creation-Date: 1996-05-29 14:03\n" -"PO-Revision-Date: 1996-07-27 16:50+0100\n" -"Last-Translator: Pawe³ Krawczyk \n" +"Project-Id-Version: libc 2.0.3\n" +"POT-Creation-Date: 1997-03-30 19:08+0200\n" +"PO-Revision-Date: 1997-04-08 09:36+0200\n" +"Last-Translator: Pawe³ Krawczyk \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8-bit\n" -#: sunrpc/rpc_main.c:80 -#, c-format -msgid " %s [-c | -h | -l | -m] [-o outfile] [infile]\n" -msgstr " %s [-c | -h | -l | -m] [-o plik_wy] [plik_we]\n" - -#: sunrpc/rpc_main.c:83 -#, c-format -msgid " %s [-s udp|tcp]* [-o outfile] [infile]\n" -msgstr " %s [-s udp|tcp]* [-o plik_wy] [plik_we]\n" - +# collation symbol... +# collation element... dlaczego 'element ³±cz±cy' ??? -pk +# #: sunrpc/rpcinfo.c:612 msgid " rpcinfo -b prognum versnum\n" msgstr " rpcinfo -b nr_programu nr_wersji\n" @@ -43,212 +36,227 @@ msgstr " rpcinfo [ -n nr_portu ] - msgid " program vers proto port\n" msgstr " program wer. proto port\n" -#: time/zic.c:423 +#: time/zic.c:419 #, c-format msgid " (rule from \"%s\", line %d)" msgstr " (regu³a z \"%s\", linia %d)" -#: time/zic.c:420 +#: locale/programs/ld-collate.c:363 locale/programs/ld-ctype.c:1242 +msgid " done\n" +msgstr " wykonano\n" + +#: time/zic.c:416 #, c-format msgid "\"%s\", line %d: %s" msgstr "\"%s\", linia %d: %s" -#: time/zic.c:908 +#: time/zic.c:943 #, c-format msgid "\"Zone %s\" line and -l option are mutually exclusive" msgstr "Linia \"Zone %s\" i opcja -l wykluczaj± siê wzajemnie" -#: time/zic.c:916 +#: time/zic.c:951 #, c-format msgid "\"Zone %s\" line and -p option are mutually exclusive" msgstr "Linia \"Zone %s\" i opcja -p wykluczaj± siê wzajemnie" -#: time/zic.c:721 +#: time/zic.c:754 #, c-format msgid "%s in ruleless zone" msgstr "%s w strefie bez regu³" -#: assert/assert.c:48 +#: assert/assert.c:46 #, c-format msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n" -msgstr "%s%s%s:%u: %s%sAsercja `%s' nie powiod³a siê.\n" +msgstr "%s%s%s:%u: %s%sWarunek `%s' nie zosta³ spe³niony.\n" -#: assert/assert-perr.c:46 +#: assert/assert-perr.c:47 #, c-format msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n" msgstr "%s%s%s:%u %s%sNiespodziewany b³±d: %s.\n" -#: stdio-common/psignal.c:48 +#: stdio-common/psignal.c:47 #, c-format msgid "%s%sUnknown signal %d\n" msgstr "%s%sNieznany sygna³ %d\n" -#: sunrpc/rpc_util.c:258 -#, c-format -msgid "%s, line %d: " -msgstr "%s, linia %d: " - -#: time/zic.c:2035 +#: time/zic.c:2172 #, c-format msgid "%s: %d did not sign extend correctly\n" msgstr "%s: %d niepoprawnie rozszerzy³ znak\n" -#: time/zic.c:1339 +#: locale/programs/charmap.c:176 +#, c-format +msgid "%s: must be greater than \n" +msgstr "%s: musi byæ wiêkszy ni¿ \n" + +#: time/zic.c:1443 #, c-format msgid "%s: Can't create %s: %s\n" msgstr "%s: Nie mogê stworzyæ %s: %s\n" -#: time/zic.c:2014 +#: time/zic.c:2150 #, c-format msgid "%s: Can't create directory %s: %s\n" msgstr "%s: Nie mogê stworzyæ katalogu %s: %s\n" -#: time/zic.c:600 +#: time/zic.c:608 #, c-format msgid "%s: Can't link from %s to %s: %s\n" msgstr "%s: Nie mogê dowi±zaæ %s do %s: %s\n" -#: time/zic.c:746 +#: time/zic.c:780 #, c-format msgid "%s: Can't open %s: %s\n" msgstr "%s: Nie mogê otworzyæ %s: %s\n" -#: time/zic.c:814 +#: time/zic.c:1433 +#, c-format +msgid "%s: Can't remove %s: %s\n" +msgstr "%s: Usuniêcie %s jest niemo¿liwe: %s\n" + +#: time/zic.c:849 #, c-format msgid "%s: Error closing %s: %s\n" msgstr "%s: B³±d przy zamykaniu %s: %s\n" -#: time/zic.c:808 +#: time/zic.c:842 #, c-format msgid "%s: Error reading %s\n" msgstr "%s: B³±d odczytu %s\n" -#: time/zic.c:1404 +#: time/zic.c:1507 #, c-format msgid "%s: Error writing %s\n" msgstr "%s: B³±d zapisu %s\n" -#: time/zdump.c:257 +#: time/zdump.c:266 #, c-format msgid "%s: Error writing standard output " msgstr "%s: B³±d zapisu na standardowe wyj¶cie " -#: time/zic.c:793 +#: time/zic.c:827 #, c-format msgid "%s: Leap line in non leap seconds file %s\n" msgstr "%s: linia Leap nie znajduje siê w pliku sekund przestêpnych %s\n" -#: time/zic.c:360 +#: time/zic.c:357 #, c-format msgid "%s: Memory exhausted: %s\n" msgstr "%s: Brak pamiêci: %s\n" -#: time/zic.c:515 +#: time/zic.c:522 #, c-format msgid "%s: More than one -L option specified\n" msgstr "%s: Podano wiêcej ni¿ jedn± opcjê -L\n" -#: time/zic.c:475 +#: time/zic.c:482 #, c-format msgid "%s: More than one -d option specified\n" msgstr "%s: Podano wiêcej ni¿ jedn± opcjê -d\n" -#: time/zic.c:485 +#: time/zic.c:492 #, c-format msgid "%s: More than one -l option specified\n" msgstr "%s: Podano wiêcej ni¿ jedn± opcjê -l\n" -#: time/zic.c:495 +#: time/zic.c:502 #, c-format msgid "%s: More than one -p option specified\n" msgstr "%s: Podano wiêcej ni¿ jedn± opcjê -p\n" -#: time/zic.c:505 +#: time/zic.c:512 #, c-format msgid "%s: More than one -y option specified\n" msgstr "%s: Podano wiêcej ni¿ jedn± opcjê -y\n" -#: posix/getconf.c:149 -#, c-format -msgid "%s: Unrecognized variable `%s'\n" -msgstr "%s: Nierozpoznana zmienna `%s'\n" - -#: time/zic.c:1741 +#: time/zic.c:1872 #, c-format msgid "%s: command was '%s', result was %d\n" msgstr "%s: polecenie `%s' zwróci³o %d\n" -#: posix/getopt.c:686 +#: locale/programs/charmap.c:593 locale/programs/locfile.c:900 +#, c-format +msgid "%s: error in state machine" +msgstr "%s: b³±d w funkcji stanu" + +#: posix/getopt.c:783 #, c-format msgid "%s: illegal option -- %c\n" -msgstr "%s: z³a opcja -- %c\n" +msgstr "%s: niew³a¶ciwa opcja -- %c\n" -#: posix/getopt.c:689 +#: posix/getopt.c:786 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: b³êdna opcja -- %c\n" -#: posix/getopt.c:610 +#: posix/getopt.c:707 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: opcja `%c%s' nie mo¿e mieæ argumentów\n" -#: posix/getopt.c:581 +#: posix/getopt.c:678 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: opcja `%s' jest niejednoznaczna\n" -#: posix/getopt.c:627 +#: posix/getopt.c:724 posix/getopt.c:897 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: opcja `%s' musi mieæ argument\n" -#: posix/getopt.c:605 +#: posix/getopt.c:702 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: opcja `--%s' nie mo¿e mieæ argumentów\n" -#: posix/getopt.c:725 +#: posix/getopt.c:881 #, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "%s: opcja musi mieæ argument -- %c\n" +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: opcja `-W %s' nie mo¿e mieæ argumentów\n" -#: sunrpc/rpc_main.c:146 +#: posix/getopt.c:863 #, c-format -msgid "%s: output would overwrite %s\n" -msgstr "%s: wyj¶cie nadpisze %s\n" +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: opcja `-W %s' jest niejednoznaczna\n" -#: time/zic.c:800 zic.c:1212 zic.c:1232 +#: posix/getopt.c:816 posix/getopt.c:946 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: opcja musi mieæ argument -- %c\n" + +#: time/zic.c:834 time/zic.c:1246 time/zic.c:1266 #, c-format msgid "%s: panic: Invalid l_value %d\n" msgstr "%s: panika: B³êdna l-warto¶æ %d\n" -#: sunrpc/rpc_main.c:152 +#: locale/programs/charmap.c:600 #, c-format -msgid "%s: unable to open " -msgstr "%s: nie mogê otworzyæ " +msgid "%s: premature end of file" +msgstr "%s: przedwczesny koniec pliku" -#: posix/getopt.c:660 +#: posix/getopt.c:757 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: nieznana opcja `%c%s'\n" -#: posix/getopt.c:656 +#: posix/getopt.c:753 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: nieznana opcja `--%s'\n" -#: time/zic.c:432 +#: time/zic.c:441 #, c-format msgid "" -"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d directory ]\n" +"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d " +"directory ]\n" "\t[ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n" msgstr "" "%s: sk³adnia: %s [ -s ] [ -v ] [ -l czas_lokalny ] [ -p regu³y_POSIX ]\n" "\t[ -d katalog ] [ -L sek_przestêpne ] [ -y yearistype ]\n" "\t[ plik ... ]\n" -#: time/zdump.c:165 +#: time/zdump.c:174 #, c-format msgid "%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n" msgstr "%s: sk³adnia: %s [ -v ] [ -c rok ] nazwa_strefy...\n" @@ -256,236 +264,549 @@ msgstr "%s: sk³adnia: %s [ -v ] [ -c rok #: sunrpc/clnt_perr.c:125 #, c-format msgid "(unknown authentication error - %d)" -msgstr "(nieznany b³±d uwierzytelniania - %d)" +msgstr "(nieznany b³±d autoryzacji - %d)" #: sunrpc/rpcinfo.c:555 msgid "(unknown)" msgstr "(nieznany)" -#: catgets/gencat.c:242 +#: catgets/gencat.c:254 msgid "*standard input*" msgstr "*standardowe wej¶cie*" -#: inet/rcmd.c:325 +#: stdio-common/../sysdeps/gnu/errlist.c:766 +msgid ".lib section in a.out corrupted" +msgstr "sekcja .lib w a.out jest uszkodzona" + +#: inet/rcmd.c:363 msgid ".rhosts fstat failed" -msgstr "fstat pliku .rhosts nieudany" +msgstr "fstat pliku .rhosts nieudane" -#: inet/rcmd.c:321 +#: inet/rcmd.c:359 msgid ".rhosts lstat failed" -msgstr "lstat pliku .rhosts nieudany" +msgstr "lstat pliku .rhosts nieudane" -#: inet/rcmd.c:323 +#: inet/rcmd.c:361 msgid ".rhosts not regular file" msgstr ".rhosts nie jest zwyk³ym plikiem" -#: inet/rcmd.c:329 +#: inet/rcmd.c:367 msgid ".rhosts writeable by other than owner" msgstr ".rhosts zapisywalny nie tylko przez w³a¶ciciela" -#: clnt_perr.c:133 sunrpc/clnt_perr.c:112 +#: sunrpc/clnt_perr.c:112 sunrpc/clnt_perr.c:133 #, c-format msgid "; low version = %lu, high version = %lu" -msgstr "; wersja minor = %lu, wersja major = %lu" +msgstr "; wersja poboczna = %lu, wersja g³ówna = %lu" #: sunrpc/clnt_perr.c:119 msgid "; why = " -msgstr "; why = " +msgstr "; bo = " + +#: locale/programs/ld-ctype.c:331 +#, c-format +msgid " character must not be in class `%s'" +msgstr "znak nie mo¿e znajdowaæ siê w klasie `%s'" + +#: locale/programs/ld-ctype.c:321 +#, c-format +msgid " character not in class `%s'" +msgstr "znak nie jest w klasie `%s'" +#. TRANS The experienced user will know what is wrong. +#. TRANS @c This error code is a joke. Its perror text is part of the joke. +#. TRANS @c Don't change it. +#: stdio-common/../sysdeps/gnu/errlist.c:591 msgid "?" msgstr "?" +#: sysdeps/unix/sysv/linux/siglist.h:27 +msgid "Aborted" +msgstr "Przerwane" + +#: stdio-common/../sysdeps/gnu/errlist.c:762 +msgid "Accessing a corrupted shared library" +msgstr "U¿ycie uszkodzonej biblioteki dzielonej" + +#. TRANS The requested socket address is already in use. @xref{Socket Addresses}. +#: stdio-common/../sysdeps/gnu/errlist.c:354 msgid "Address already in use" msgstr "Adres jest ju¿ w u¿yciu" -msgid "Address family not supported by protocol family" -msgstr "Rodzina adresów nie obs³ugiwana przez rodzinê protoko³ów" +#. TRANS The address family specified for a socket is not supported; it is +#. TRANS inconsistent with the protocol being used on the socket. @xref{Sockets}. +#: stdio-common/../sysdeps/gnu/errlist.c:349 +msgid "Address family not supported by protocol" +msgstr "Rodzina adresów nie obs³ugiwana przez protokó³" + +#: stdio-common/../sysdeps/gnu/errlist.c:730 +msgid "Advertise error" +msgstr "B³±d podczas og³aszania" +#: stdio-common/../sysdeps/unix/siglist.c:43 +#: sysdeps/unix/sysv/linux/siglist.h:33 msgid "Alarm clock" msgstr "Budzik" +#. TRANS Argument list too long; used when the arguments passed to a new program +#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a +#. TRANS File}) occupy too much memory space. This condition never arises in the +#. TRANS GNU system. +#: stdio-common/../sysdeps/gnu/errlist.c:57 msgid "Argument list too long" msgstr "Lista argumentów za d³uga" +#: stdio-common/../sysdeps/gnu/errlist.c:770 +msgid "Attempting to link in too many shared libraries" +msgstr "Próba ³±czenia ze zbyt wieloma bibliotekami dzielonymi" + #: sunrpc/clnt_perr.c:276 msgid "Authentication OK" -msgstr "Uwierzytelnienie powiod³o siê" +msgstr "Autoryzacja OK" +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:549 msgid "Authentication error" -msgstr "B³±d podczas uwierzytelniania" +msgstr "B³±d autoryzacji" +#. TRANS Bad address; an invalid pointer was detected. +#. TRANS In the GNU system, this error never happens; you get a signal instead. +#: stdio-common/../sysdeps/gnu/errlist.c:102 msgid "Bad address" -msgstr "Z³y adres" +msgstr "B³êdny adres" +#. TRANS Bad file descriptor; for example, I/O on a descriptor that has been +#. TRANS closed or reading from a descriptor open only for writing (or vice +#. TRANS versa). +#: stdio-common/../sysdeps/gnu/errlist.c:70 msgid "Bad file descriptor" -msgstr "Z³y deskryptor pliku" +msgstr "B³êdny deskryptor pliku" + +#: stdio-common/../sysdeps/gnu/errlist.c:718 +msgid "Bad font file format" +msgstr "B³êdny format pliku czcionek" +#: stdio-common/../sysdeps/gnu/errlist.c:610 +msgid "Bad message" +msgstr "B³êdny komunikat" + +#: stdio-common/../sysdeps/unix/siglist.c:41 +#: sysdeps/unix/sysv/linux/siglist.h:56 +msgid "Bad system call" +msgstr "B³êdne wywo³anie systemowe" + +#. TRANS A file that isn't a block special file was given in a situation that +#. TRANS requires one. For example, trying to mount an ordinary file as a file +#. TRANS system in Unix gives this error. +#: stdio-common/../sysdeps/gnu/errlist.c:109 msgid "Block device required" msgstr "Wymagane urz±dzenie blokowe" -#: sunrpc/pmap_rmt.c:336 +#: sunrpc/pmap_rmt.c:338 msgid "Broadcast select problem" msgstr "Problem przy wyborze transmisji" +#. TRANS Broken pipe; there is no process reading from the other end of a pipe. +#. TRANS Every library function that returns this error code also generates a +#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled +#. 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 "Przerwany potok" +#: stdio-common/../sysdeps/unix/siglist.c:39 +#: sysdeps/unix/sysv/linux/siglist.h:30 msgid "Bus error" msgstr "B³±d szyny" +#: sysdeps/unix/sysv/linux/siglist.h:43 msgid "CPU time limit exceeded" msgstr "Przekroczony limit czasu procesora" -msgid "Can't assign requested address" -msgstr "Nie mogê przypisaæ ¿±danego adresu" +#: stdio-common/../sysdeps/gnu/errlist.c:758 +msgid "Can not access a needed shared library" +msgstr "Brak dostêpu do wymaganej biblioteki dzielonej" -msgid "Can't send after socket shutdown" -msgstr "Nie mogê wysy³aæ po zamkniêciu gniazda" +#: nis/ypclnt.c:695 +msgid "Can't bind to server which serves this domain" +msgstr "Po³±czenie z serwerem dla tej domeny jest niemo¿liwe" + +#: nis/ypclnt.c:707 +msgid "Can't communicate with portmapper" +msgstr "Komunikacja z portmapperem jest niemo¿liwa" + +#: nis/ypclnt.c:709 +msgid "Can't communicate with ypbind" +msgstr "Komunikacja z ypbind jest niemo¿liwa" + +#: nis/ypclnt.c:711 +msgid "Can't communicate with ypserv" +msgstr "Komunikacja z ypserv jest niemo¿liwa" +#. TRANS No memory available. The system cannot allocate more virtual memory +#. TRANS because its capacity is full. +#: stdio-common/../sysdeps/gnu/errlist.c:91 msgid "Cannot allocate memory" -msgstr "Nie mogê zarezerwowaæ pamiêci" +msgstr "Zarezerwowanie pamiêci niemo¿liwe" -#: sunrpc/pmap_rmt.c:254 +#. TRANS The requested socket address is not available; for example, you tried +#. TRANS to give a socket a name that doesn't match the local host name. +#. TRANS @xref{Socket Addresses}. +#: stdio-common/../sysdeps/gnu/errlist.c:361 +msgid "Cannot assign requested address" +msgstr "Przypisanie ¿±danego adresu niemo¿liwe" + +#: sunrpc/pmap_rmt.c:255 msgid "Cannot create socket for broadcast rpc" -msgstr "Nie mogê stworzyæ gniazda dla transmisji rpc" +msgstr "Stworzenie gniazda dla transmisji rpc niemo¿liwe" -#: sunrpc/pmap_rmt.c:348 +#: stdio-common/../sysdeps/gnu/errlist.c:774 +msgid "Cannot exec a shared library directly" +msgstr "Bezpo¶rednie uruchomienie biblioteki dzielonej jest niemo¿liwe" + +#: sunrpc/pmap_rmt.c:350 msgid "Cannot receive reply to broadcast" -msgstr "Nie dostajê odpowiedzi na transmisjê" +msgstr "Brak odpowiedzi na transmisjê" #: sunrpc/pmap_clnt.c:79 msgid "Cannot register service" -msgstr "Nie mogê zarejestrowaæ us³ugi" +msgstr "Zarejestrowanie us³ugi niemo¿liwe" -#: sunrpc/pmap_rmt.c:312 +#. TRANS The socket has already been shut down. +#: stdio-common/../sysdeps/gnu/errlist.c:422 +msgid "Cannot send after transport endpoint shutdown" +msgstr "Wysy³anie po zamkniêciu gniazda niemo¿liwe" + +#: sunrpc/pmap_rmt.c:313 msgid "Cannot send broadcast packet" -msgstr "Nie mogê wys³aæ pakietu transmisji" +msgstr "Wys³anie pakietu transmisji niemo¿liwe" -#: sunrpc/pmap_rmt.c:260 +#: sunrpc/pmap_rmt.c:261 msgid "Cannot set socket option SO_BROADCAST" -msgstr "Nie mogê ustawiæ opcji gniazda SO_BROADCAST" +msgstr "Ustawienie opcji gniazda SO_BROADCAST niemo¿liwe" +#: stdio-common/../sysdeps/gnu/errlist.c:658 +msgid "Channel number out of range" +msgstr "Numer kana³u poza zakresem" + +#: stdio-common/../sysdeps/unix/siglist.c:49 +#: sysdeps/unix/sysv/linux/siglist.h:39 msgid "Child exited" -msgstr "Proces potomny zakoñczy³" +msgstr "Proces potomny zakoñczy³ pracê" #: sunrpc/clnt_perr.c:286 msgid "Client credential too weak" -msgstr "Wiarygodno¶æ klienta jest zbyt ma³a" +msgstr "Wiarygodno¶æ klienta zbyt ma³a" + +#: stdio-common/../sysdeps/gnu/errlist.c:738 +msgid "Communication error on send" +msgstr "B³±d komunikacji podczas wysy³ania" +#. TRANS Go home and have a glass of warm, dairy-fresh milk. +#: stdio-common/../sysdeps/gnu/errlist.c:601 msgid "Computer bought the farm" -msgstr "Komputer kupil farme" +msgstr "Komputer kupi³ gospodarstwo" +#: locale/programs/ld-ctype.c:1204 +msgid "Computing table size for character classes might take a while..." +msgstr "Obliczanie rozmiaru tablicy klas znaków mo¿e chwilê potrwaæ..." + +#: locale/programs/ld-collate.c:329 +msgid "Computing table size for collation information might take a while..." +msgstr "Obliczanie rozmiaru tablicy sortowania mo¿e chwilê potrwaæ..." + +#. TRANS A remote host refused to allow the network connection (typically because +#. TRANS it is not running the requested service). +#: stdio-common/../sysdeps/gnu/errlist.c:439 msgid "Connection refused" -msgstr "Po³±czenie odrzucone" +msgstr "Odmowa po³±czenia" +#. TRANS A network connection was closed for reasons outside the control of the +#. TRANS local host, such as by the remote machine rebooting or an unrecoverable +#. TRANS protocol violation. +#: stdio-common/../sysdeps/gnu/errlist.c:389 msgid "Connection reset by peer" msgstr "Po³±czenie zerwane przez drug± stronê" +#. TRANS A socket operation with a specified timeout received no response during +#. TRANS the timeout period. +#: stdio-common/../sysdeps/gnu/errlist.c:433 msgid "Connection timed out" -msgstr "Nie doczeka³em siê po³±czenia" +msgstr "Po³±czenie nie doczekane" +#: stdio-common/../sysdeps/unix/siglist.c:48 +#: sysdeps/unix/sysv/linux/siglist.h:38 msgid "Continued" msgstr "Kontynuacja" +#: catgets/gencat.c:169 db/makedb.c:120 locale/programs/locale.c:187 +#: locale/programs/localedef.c:180 +#, c-format +msgid "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"This is free software; see the source for copying conditions. There is NO\n" +"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" +msgstr "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"Oprogramowanie darmowe. Warunki kopiowania zamieszczone s± w kodzie " +"¼ród³owym.\n" +"Nie podlega ¿adnej gwarancji, nawet gwarancji przydatno¶ci do " +"jakiegokolwiek\n" +"zastosowania lub sprzeda¿y.\n" + +#: stdio-common/../sysdeps/unix/siglist.c:53 +msgid "Cputime limit exceeded" +msgstr "Przekroczenie limitu czasu procesora" + +#: nis/ypclnt.c:721 +msgid "Database is busy" +msgstr "Baza danych jest zajêta" + +#. TRANS No default destination address was set for the socket. You get this +#. TRANS error when you try to transmit data over a connectionless socket, +#. TRANS without first specifying a destination for the data with @code{connect}. +#: stdio-common/../sysdeps/gnu/errlist.c:417 msgid "Destination address required" msgstr "Wymagany adres docelowy" -msgid "Device busy" -msgstr "Urz±dzenie zajête" +#: stdio-common/../sysdeps/gnu/errlist.c:638 +msgid "Device not a stream" +msgstr "Urz±dzenie nie jest strumieniem" +#. TRANS No such device or address. The system tried to use the device +#. TRANS represented by a file you specified, and it couldn't find the device. +#. TRANS This can mean that the device file was installed incorrectly, or that +#. TRANS the physical device is missing or not correctly attached to the +#. TRANS computer. +#: stdio-common/../sysdeps/gnu/errlist.c:49 msgid "Device not configured" -msgstr "Urz±dzenie nie skofigurowane" +msgstr "Urz±dzenie nie jest skonfigurowane" + +#. TRANS Resource busy; a system resource that can't be shared is already in use. +#. TRANS For example, if you try to delete a file that is the root of a currently +#. TRANS mounted filesystem, you get this error. +#: stdio-common/../sysdeps/gnu/errlist.c:116 +msgid "Device or resource busy" +msgstr "Urz±dzenie lub zasoby s± zajête" +#. TRANS Directory not empty, where an empty directory was expected. Typically, +#. TRANS this error occurs when you are trying to delete a directory. +#: stdio-common/../sysdeps/gnu/errlist.c:468 msgid "Directory not empty" msgstr "Katalog nie jest pusty" +#. TRANS The user's disk quota was exceeded. +#: stdio-common/../sysdeps/gnu/errlist.c:486 msgid "Disc quota exceeded" msgstr "Przekroczony limit dyskowy" +#: nis/ypclnt.c:767 +msgid "Domain not bound" +msgstr "Domena nie zosta³a zwi±zana" + +#: stdio-common/../sysdeps/unix/siglist.c:36 +#: sysdeps/unix/sysv/linux/siglist.h:53 +msgid "EMT trap" +msgstr "pu³apka EMT" + #: sunrpc/clnt_perr.c:254 #, c-format msgid "Error %d" msgstr "B³±d %d" -#: string/../sysdeps/mach/_strerror.c:43 +#: string/../sysdeps/mach/_strerror.c:52 msgid "Error in unknown error system: " -msgstr "B³±d w nieznanym systemie: " +msgstr "B³±d w nieznanym systemie b³êdów: " + +#: inet/ruserpass.c:161 +msgid "Error: .netrc file is readable by others." +msgstr "B³±d: plik .netrc mo¿e byæ czytany przez ka¿dego." +#: stdio-common/../sysdeps/gnu/errlist.c:698 +msgid "Exchange full" +msgstr "Przepe³niona wymiana" + +#. TRANS Invalid executable file format. This condition is detected by the +#. TRANS @code{exec} functions; see @ref{Executing a File}. +#: stdio-common/../sysdeps/gnu/errlist.c:63 msgid "Exec format error" msgstr "B³êdny format pliku wykonywalnego" +#: locale/programs/localedef.c:216 +msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'" +msgstr "PRZERWANIE: system nie definiuje `_POSIX2_LOCALEDEF'" + #: sunrpc/clnt_perr.c:290 msgid "Failed (unspecified error)" -msgstr "Bez powodzenia (nieustalony b³±d)" +msgstr "Nieudane (nieustalony b³±d)" + +#: stdio-common/../sysdeps/gnu/errlist.c:750 +msgid "File descriptor in bad state" +msgstr "Deskryptor pliku w z³ym stanie" +#. TRANS File exists; an existing file was specified in a context where it only +#. TRANS makes sense to specify a new file. +#: stdio-common/../sysdeps/gnu/errlist.c:122 msgid "File exists" msgstr "Plik istnieje" +#: stdio-common/../sysdeps/gnu/errlist.c:714 +msgid "File locking deadlock error" +msgstr "B³±d zakleszczenia podczas blokowania pliku" + +#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for +#. TRANS Files}) or host name too long (in @code{gethostname} or +#. TRANS @code{sethostname}; @pxref{Host Identification}). +#: stdio-common/../sysdeps/gnu/errlist.c:452 msgid "File name too long" msgstr "Za d³uga nazwa pliku" +#: sysdeps/unix/sysv/linux/siglist.h:44 msgid "File size limit exceeded" msgstr "Przekroczony limit wielko¶ci pliku" +#. TRANS File too big; the size of a file would be larger than allowed by the system. +#: stdio-common/../sysdeps/gnu/errlist.c:190 msgid "File too large" msgstr "Plik jest za du¿y" +#: stdio-common/../sysdeps/unix/siglist.c:54 +msgid "Filesize limit exceeded" +msgstr "Przekroczenie limitu wielko¶ci pliku" + +#: stdio-common/../sysdeps/unix/siglist.c:37 +#: sysdeps/unix/sysv/linux/siglist.h:28 msgid "Floating point exception" msgstr "B³±d w obliczeniach zmiennoprzecinkowych" +#. TRANS Function not implemented. Some functions have commands or options defined +#. TRANS that might not be supported in all implementations, and this is the kind +#. TRANS of error you get if you request them and they are not supported. +#: stdio-common/../sysdeps/gnu/errlist.c:561 msgid "Function not implemented" msgstr "Funkcja niezaimplementowana" +#. TRANS This error code has no purpose. +#: stdio-common/../sysdeps/gnu/errlist.c:606 msgid "Gratuitous error" -msgstr "Nieuzasadniony b³±d" +msgstr "Nieoczekiwany b³±d" +#: stdio-common/../sysdeps/unix/siglist.c:30 +#: sysdeps/unix/sysv/linux/siglist.h:22 msgid "Hangup" msgstr "Roz³±czenie" +#. TRANS The remote host for a requested network connection is down. +#: stdio-common/../sysdeps/gnu/errlist.c:457 msgid "Host is down" msgstr "Host nie odpowiada" -#: resolv/herror.c:74 +#: resolv/herror.c:75 msgid "Host name lookup failure" -msgstr "Nazwa hosta nie odnaleziona" +msgstr "Odnalezienie nazwy hosta jest niemo¿liwe" +#: stdio-common/../sysdeps/unix/siglist.c:52 +#: sysdeps/unix/sysv/linux/siglist.h:42 msgid "I/O possible" -msgstr "We/Wy mo¿liwe" +msgstr "We/Wy dozwolone" +#: stdio-common/../sysdeps/unix/siglist.c:35 msgid "IOT trap" msgstr "pu³apka IOT" +#: stdio-common/../sysdeps/gnu/errlist.c:614 +msgid "Identifier removed" +msgstr "Identyfikator zosta³ usuniêty" + +#: sysdeps/unix/sysv/linux/siglist.h:25 msgid "Illegal Instruction" msgstr "Nieznana Instrukcja" +#: stdio-common/../sysdeps/unix/siglist.c:33 +msgid "Illegal instruction" +msgstr "B³êdna instrukcja" + +#. TRANS Invalid seek operation (such as on a pipe). +#: stdio-common/../sysdeps/gnu/errlist.c:201 msgid "Illegal seek" msgstr "B³êdne przesuniêcie" +#. TRANS Inappropriate file type or format. The file was the wrong type for the +#. TRANS operation, or a data file had the wrong format. +#. TRANS +#. TRANS On some systems @code{chmod} returns this error if you try to set the +#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}. +#: stdio-common/../sysdeps/gnu/errlist.c:544 msgid "Inappropriate file type or format" msgstr "Niew³a¶ciwy typ lub format pliku" +#. TRANS Inappropriate I/O control operation, such as trying to set terminal +#. TRANS modes on an ordinary file. +#: stdio-common/../sysdeps/gnu/errlist.c:176 msgid "Inappropriate ioctl for device" msgstr "Niew³a¶ciwy dostêp do urz±dzenia" +#. TRANS In the GNU system, servers supporting the @code{term} protocol return +#. TRANS this error for certain operations when the caller is not in the +#. TRANS foreground process group of the terminal. Users do not usually see this +#. TRANS error because functions such as @code{read} and @code{write} translate +#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control}, +#. TRANS for information on process groups and these signals. +#: stdio-common/../sysdeps/gnu/errlist.c:577 msgid "Inappropriate operation for background process" msgstr "Dzia³anie niedopuszczalne dla procesu w tle" +#: sysdeps/unix/sysv/linux/siglist.h:62 +msgid "Information request" +msgstr "¯±danie informacji" + +#. TRANS Input/output error; usually used for physical read or write errors. +#: stdio-common/../sysdeps/gnu/errlist.c:40 msgid "Input/output error" msgstr "B³±d wej¶cia/wyj¶cia" +#: nis/ypclnt.c:701 +msgid "Internal NIS error" +msgstr "B³±d wewnêtrzny NIS" + +#: nis/ypclnt.c:765 +msgid "Internal ypbind error" +msgstr "B³±d wewnêtrzny ypbind" + +#: stdio-common/../sysdeps/unix/siglist.c:31 +#: sysdeps/unix/sysv/linux/siglist.h:23 msgid "Interrupt" msgstr "Przerwanie" +#. 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 +#. TRANS You can choose to have functions resume after a signal that is handled, +#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted +#. TRANS Primitives}. +#: stdio-common/../sysdeps/gnu/errlist.c:35 msgid "Interrupted system call" msgstr "Przerwane wywo³anie systemowe" +#: stdio-common/../sysdeps/gnu/errlist.c:654 +msgid "Interrupted system call should be restarted" +msgstr "Nale¿y wznowiæ przerwane wywo³anie systemowe" + +#. TRANS Invalid argument. This is used to indicate various kinds of problems +#. TRANS with passing the wrong argument to a library function. +#: stdio-common/../sysdeps/gnu/errlist.c:152 msgid "Invalid argument" msgstr "Z³y argument" -#: posix/regex.c:946 +#: posix/regex.c:960 msgid "Invalid back reference" msgstr "B³êdny odno¶nik wstecz" -#: posix/regex.c:944 +#: posix/regex.c:958 msgid "Invalid character class name" msgstr "B³êdna nazwa klasy znaku" @@ -497,76 +818,213 @@ msgstr "B³êdne uwierzytelnienie klienta" msgid "Invalid client verifier" msgstr "B³êdny weryfikator klienta" -#: posix/regex.c:943 +#: posix/regex.c:957 msgid "Invalid collation character" -msgstr "B³êdny znak porównania" +msgstr "B³êdny znak sortowany" -#: posix/regex.c:950 +#: posix/regex.c:964 msgid "Invalid content of \\{\\}" msgstr "B³êdna zawarto¶æ \\{\\}" +#. TRANS An attempt to make an improper link across file systems was detected. +#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but +#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}). +#: stdio-common/../sysdeps/gnu/errlist.c:129 msgid "Invalid cross-device link" msgstr "B³êdne dowi±zanie miêdzy urz±dzeniami" -#: posix/regex.c:953 +#: stdio-common/../sysdeps/gnu/errlist.c:690 +msgid "Invalid exchange" +msgstr "B³êdna wymiana" + +#. TRANS While decoding a multibyte character the function came along an invalid +#. TRANS or an incomplete sequence of bytes or the given wide character is invalid. +#: stdio-common/../sysdeps/gnu/errlist.c:567 +msgid "Invalid or incomplete multibyte or wide character" +msgstr "B³êdny lub niepe³ny znak wielobajtowy" + +#: posix/regex.c:967 msgid "Invalid preceding regular expression" msgstr "B³êdne poprzedzaj±ce wyra¿enie regularne" -#: posix/regex.c:951 +#: posix/regex.c:965 msgid "Invalid range end" msgstr "B³êdny koniec zakresu" -#: posix/regex.c:942 +#: posix/regex.c:956 msgid "Invalid regular expression" msgstr "B³êdne wyra¿enie regularne" +#: stdio-common/../sysdeps/gnu/errlist.c:706 +msgid "Invalid request code" +msgstr "Z³y kod ¿±dania" + +#: stdio-common/../sysdeps/gnu/errlist.c:694 +msgid "Invalid request descriptor" +msgstr "B³êdny deskryptor ¿±dania" + #: sunrpc/clnt_perr.c:288 msgid "Invalid server verifier" msgstr "B³êdny weryfikator serwera" +#: stdio-common/../sysdeps/gnu/errlist.c:710 +msgid "Invalid slot" +msgstr "B³êdny kana³" + +#. TRANS File is a directory; you cannot open a directory for writing, +#. TRANS or create or remove hard links to it. +#: stdio-common/../sysdeps/gnu/errlist.c:146 msgid "Is a directory" -msgstr "To jest katalog" +msgstr "Jest katalogiem" +#: stdio-common/../sysdeps/gnu/errlist.c:794 +msgid "Is a named type file" +msgstr "Jest plikiem nazwanym" + +#: stdio-common/../sysdeps/unix/siglist.c:38 +#: sysdeps/unix/sysv/linux/siglist.h:29 msgid "Killed" -msgstr "Zabity" +msgstr "Unicestwiony" -#: posix/regex.c:952 +#: stdio-common/../sysdeps/gnu/errlist.c:686 +msgid "Level 2 halted" +msgstr "Poziom 2 zatrzymany" + +#: stdio-common/../sysdeps/gnu/errlist.c:662 +msgid "Level 2 not synchronized" +msgstr "Poziom 2 brak synchronizacji" + +#: stdio-common/../sysdeps/gnu/errlist.c:666 +msgid "Level 3 halted" +msgstr "Poziom 3 zatrzymany" + +#: stdio-common/../sysdeps/gnu/errlist.c:670 +msgid "Level 3 reset" +msgstr "Poziom 3 wyzerowany" + +#: stdio-common/../sysdeps/gnu/errlist.c:626 +msgid "Link has been severed" +msgstr "Po³±czenie zosta³o przerwane" + +#: stdio-common/../sysdeps/gnu/errlist.c:674 +msgid "Link number out of range" +msgstr "Numer dowi±zania poza zakresem" + +#: nis/ypclnt.c:713 +msgid "Local domain name not set" +msgstr "Lokalna domena nie jest ustawiona" + +#: nis/ypclnt.c:703 +msgid "Local resource allocation failure" +msgstr "Wyst±pi³ b³±d podczas przydzielania lokalnych zasobów" + +#: stdio-common/../sysdeps/gnu/errlist.c:722 +msgid "Machine is not on the network" +msgstr "Maszyna nie znajduje siê w tej sieci" + +#: posix/regex.c:966 msgid "Memory exhausted" msgstr "Pamiêæ wyczerpana" +#. TRANS The size of a message sent on a socket was larger than the supported +#. TRANS maximum size. +#: stdio-common/../sysdeps/gnu/errlist.c:305 msgid "Message too long" msgstr "Komunikat za d³ugi" +# wydaje mi sie ze tu chodzi o wyczerpanie TTL i stad 'zbyt' -PK +#: stdio-common/../sysdeps/gnu/errlist.c:618 +msgid "Multihop attempted" +msgstr "Próba przej¶cia przez zbyt wiele ruterów" + +#: nis/ypclnt.c:717 +msgid "NIS client/server version mismatch - can't supply service" +msgstr "Niezgodno¶æ wersji miêdzy klientem i serwerem NIS - us³uga niemo¿liwa" + +#: nis/ypclnt.c:715 +msgid "NIS map data base is bad" +msgstr "Mapa NIS zawiera b³êdy" + +#: stdio-common/../sysdeps/gnu/errlist.c:746 +msgid "Name not unique on network" +msgstr "Istnieje ju¿ taka nazwa w sieci" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:554 msgid "Need authenticator" -msgstr "Wymagane uwierzytelnienie" +msgstr "Wymagana autoryzacja" +#. TRANS A network connection was reset because the remote host crashed. +#: stdio-common/../sysdeps/gnu/errlist.c:377 msgid "Network dropped connection on reset" msgstr "Sieæ przerwa³a po³±czenie po resecie" +#. TRANS A socket operation failed because the network was down. +#: stdio-common/../sysdeps/gnu/errlist.c:366 msgid "Network is down" -msgstr "Sieæ le¿y" +msgstr "Sieæ nie dzia³a" +#. TRANS A socket operation failed because the subnet containing the remote host +#. TRANS was unreachable. +#: stdio-common/../sysdeps/gnu/errlist.c:372 msgid "Network is unreachable" -msgstr "Sieæ niedostêpna" +msgstr "Sieæ jest niedostêpna" -#: resolv/herror.c:76 +#: stdio-common/../sysdeps/gnu/errlist.c:682 +msgid "No CSI structure available" +msgstr "Struktura CSI niedostêpna" + +#: stdio-common/../sysdeps/gnu/errlist.c:790 +msgid "No XENIX semaphores available" +msgstr "Brak dostêpnych semaforów XENIXowych" + +#: resolv/herror.c:77 msgid "No address associated with name" msgstr "Brak adresu zwi±zanego z nazw±" +#: stdio-common/../sysdeps/gnu/errlist.c:702 +msgid "No anode" +msgstr "Brak anody" + +#. TRANS The kernel's buffers for I/O operations are all in use. In GNU, this +#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the +#. TRANS other from network operations. +#: stdio-common/../sysdeps/gnu/errlist.c:396 msgid "No buffer space available" msgstr "Brak miejsca w buforze" +#. TRANS There are no child processes. This error happens on operations that are +#. TRANS supposed to manipulate child processes, when there aren't any processes +#. TRANS to manipulate. +#: stdio-common/../sysdeps/gnu/errlist.c:77 msgid "No child processes" msgstr "Brak procesów potomnych" +#: stdio-common/../sysdeps/gnu/errlist.c:622 +msgid "No data available" +msgstr "Brak danych" + +#. TRANS No locks available. This is used by the file locking facilities; see +#. TRANS @ref{File Locks}. This error is never generated by the GNU system, but +#. TRANS it can result from an operation to an NFS server running another +#. TRANS operating system. +#: stdio-common/../sysdeps/gnu/errlist.c:535 msgid "No locks available" msgstr "Brak dostêpnych blokad" -#: posix/regex.c:941 +#: posix/regex.c:955 msgid "No match" msgstr "Nic nie pasuje" -#: posix/regex.c:5200 +#: stdio-common/../sysdeps/gnu/errlist.c:630 +msgid "No message of desired type" +msgstr "Brak komunikatu o po¿±danym typie" + +#: nis/ypclnt.c:705 +msgid "No more records in map database" +msgstr "Nie ma wiêcej rekordów w mapie" + +#: posix/regex.c:5324 msgid "No previous regular expression" msgstr "Brak wyra¿enia regularnego" @@ -574,86 +1032,213 @@ msgstr "Brak wyra¿enia regularnego" msgid "No remote programs registered.\n" msgstr "Brak zarejestrowanych zdalnych programów.\n" +#. TRANS The remote host for a requested network connection is not reachable. +#: stdio-common/../sysdeps/gnu/errlist.c:462 msgid "No route to host" -msgstr "Brak drogi do hosta" +msgstr "Brak drogi do systemu" +#. TRANS No space left on device; write operation on a file failed because the +#. TRANS disk is full. +#: stdio-common/../sysdeps/gnu/errlist.c:196 msgid "No space left on device" msgstr "Brak miejsca na urz±dzeniu" +#. TRANS No such file or directory. This is a ``file doesn't exist'' error +#. TRANS for ordinary files that are referenced in contexts where they are +#. TRANS expected to already exist. +#: stdio-common/../sysdeps/gnu/errlist.c:19 msgid "No such file or directory" -msgstr "Nie ma takiego pliku lub katalogu" +msgstr "Nie ma takiego pliku ani katalogu" + +#: nis/ypclnt.c:699 +msgid "No such key in map" +msgstr "Brak takiego klucza w mapie" + +#: nis/ypclnt.c:697 +msgid "No such map in server's domain" +msgstr "Nie ma takiej mapy w domenie serwera" +#. TRANS No process matches the specified process ID. +#: stdio-common/../sysdeps/gnu/errlist.c:24 msgid "No such process" msgstr "Nie ma takiego procesu" +#: stdio-common/../sysdeps/gnu/errlist.c:786 +msgid "Not a XENIX named type file" +msgstr "To nie jest nazwanego pliku w wersji XENIXa" + +#. TRANS A file that isn't a directory was specified when a directory is required. +#: stdio-common/../sysdeps/gnu/errlist.c:140 msgid "Not a directory" msgstr "To nie jest katalog" +#. TRANS Domain error; used by mathematical functions when an argument value does +#. TRANS not fall into the domain over which the function is defined. +#: stdio-common/../sysdeps/gnu/errlist.c:228 msgid "Numerical argument out of domain" msgstr "Argument numeryczny poza zakresem" +#. TRANS Range error; used by mathematical functions when the result value is +#. TRANS not representable because of overflow or underflow. +#: stdio-common/../sysdeps/gnu/errlist.c:234 msgid "Numerical result out of range" msgstr "Wynik numeryczny poza zakresem" -#: time/zic.c:1835 +# to imho jest bardziej zrozumiale - zwlaszcza ze to sie czasem zdarza +# jak sie uruchomi mountd bez -r -PK +#. TRANS An attempt was made to NFS-mount a remote file system with a file name that +#. TRANS already specifies an NFS-mounted file. +#. TRANS (This is an error on some operating systems, but we expect it to work +#. TRANS properly on the GNU system, making this error code impossible.) +#: stdio-common/../sysdeps/gnu/errlist.c:502 +msgid "Object is remote" +msgstr "Zdalny obiekt jest obiektem podmontowanym przez NFS" + +#: time/zic.c:1966 msgid "Odd number of quotation marks" msgstr "Nieparzysta liczba cudzys³owów" +#. TRANS An operation is already in progress on an object that has non-blocking +#. TRANS mode selected. +#: stdio-common/../sysdeps/gnu/errlist.c:294 msgid "Operation already in progress" -msgstr "Czynno¶æ jest ju¿ wykonywana" +msgstr "Operacja jest ju¿ wykonywana" +#. TRANS Operation not permitted; only the owner of the file (or other resource) +#. TRANS or processes with special privileges can perform the operation. +#: stdio-common/../sysdeps/gnu/errlist.c:12 msgid "Operation not permitted" -msgstr "Czynno¶æ niedozwolona" +msgstr "Operacja niedozwolona" +#. TRANS The operation you requested is not supported. Some socket functions +#. TRANS don't make sense for all types of sockets, and others may not be +#. TRANS implemented for all communications protocols. In the GNU system, this +#. TRANS error can happen for many calls when the object does not support the +#. TRANS particular operation; it is a generic indication that the server knows +#. TRANS nothing to do for that call. +#: stdio-common/../sysdeps/gnu/errlist.c:338 msgid "Operation not supported" -msgstr "Czynno¶æ niemo¿liwa" +msgstr "Operacja nie obs³ugiwana" +#. TRANS The wrong type of device was given to a function that expects a +#. TRANS particular sort of device. +#: stdio-common/../sysdeps/gnu/errlist.c:135 msgid "Operation not supported by device" -msgstr "Urz±dzenie nie umo¿liwia takiej operacji" +msgstr "Operacja nie obs³ugiwana przez urz±dzenie" +#. TRANS An operation that cannot complete immediately was initiated on an object +#. TRANS that has non-blocking mode selected. Some functions that must always +#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return +#. TRANS @code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that +#. TRANS the operation has begun and will take some time. Attempts to manipulate +#. TRANS the object before the call completes return @code{EALREADY}. You can +#. TRANS use the @code{select} function to find out when the pending operation +#. TRANS has completed; @pxref{Waiting for I/O}. +#: stdio-common/../sysdeps/gnu/errlist.c:288 msgid "Operation now in progress" -msgstr "Czynno¶æ jest w³a¶nie wykonywana" +msgstr "Operacja jest w³a¶nie wykonywana" + +#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above). +#. TRANS The values are always the same, on every operating system. +#. TRANS +#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a +#. TRANS separate error code. +#: stdio-common/../sysdeps/gnu/errlist.c:276 +msgid "Operation would block" +msgstr "Operacja spowoduje blokadê" + +#: stdio-common/../sysdeps/gnu/errlist.c:634 +msgid "Out of streams resources" +msgstr "Brak dodatkowych strumieni" +#: stdio-common/../sysdeps/gnu/errlist.c:726 +msgid "Package not installed" +msgstr "Pakiet nie zosta³ zainstalowany" + +#. TRANS Permission denied; the file permissions do not allow the attempted operation. +#: nis/ypclnt.c:719 stdio-common/../sysdeps/gnu/errlist.c:96 msgid "Permission denied" msgstr "Odmowa dostêpu" +#: sysdeps/unix/sysv/linux/siglist.h:64 msgid "Power failure" msgstr "Awaria zasilania" -#: posix/regex.c:954 +#: posix/regex.c:968 msgid "Premature end of regular expression" msgstr "Niespodziewany koniec wyra¿enia regularnego" +#: stdio-common/../sysdeps/unix/siglist.c:56 +#: sysdeps/unix/sysv/linux/siglist.h:46 msgid "Profiling timer expired" msgstr "Koniec stopera profiluj±cego" +#: stdio-common/../sysdeps/gnu/errlist.c:678 +msgid "Protocol driver not attached" +msgstr "Sterownik protoko³u nie jest pod³±czony" + +#: stdio-common/../sysdeps/gnu/errlist.c:646 +msgid "Protocol error" +msgstr "B³±d protoko³u" + +#. TRANS The socket communications protocol family you requested is not supported. +#: stdio-common/../sysdeps/gnu/errlist.c:343 msgid "Protocol family not supported" -msgstr "Nie wspierana rodzina protoko³ów" +msgstr "Nie obs³ugiwana rodzina protoko³ów" +#. TRANS You specified a socket option that doesn't make sense for the +#. TRANS particular protocol being used by the socket. @xref{Socket Options}. +#: stdio-common/../sysdeps/gnu/errlist.c:316 msgid "Protocol not available" msgstr "Protokó³ niedostêpny" +#. TRANS The socket domain does not support the requested communications protocol +#. TRANS (perhaps because the requested protocol is completely invalid.) +#. TRANS @xref{Creating a Socket}. +#: stdio-common/../sysdeps/gnu/errlist.c:323 msgid "Protocol not supported" -msgstr "Protokó³ nie wspierany" +msgstr "Protokó³ nie obs³ugiwany" +#. TRANS The socket type does not support the requested communications protocol. +#: stdio-common/../sysdeps/gnu/errlist.c:310 msgid "Protocol wrong type for socket" msgstr "Typ protoko³u nie pasuje do gniazda" +#: stdio-common/../sysdeps/unix/siglist.c:32 +#: sysdeps/unix/sysv/linux/siglist.h:24 msgid "Quit" msgstr "Wyj¶cie" +#: stdio-common/../sysdeps/gnu/errlist.c:742 +msgid "RFS specific error" +msgstr "B³±d RFS" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:527 msgid "RPC bad procedure for program" msgstr "RPC z³a procedura dla programu" +#: nis/ypclnt.c:693 +msgid "RPC failure on NIS operation" +msgstr "B³±d RPC podczas operacji NIS" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:517 msgid "RPC program not available" msgstr "RPC program niedostêpny" +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:522 msgid "RPC program version wrong" msgstr "RPC z³a wersja programu" +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:507 msgid "RPC struct is bad" -msgstr "RPC z³a struktura" +msgstr "RPC b³êdna struktura" +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:512 msgid "RPC version wrong" msgstr "RPC z³a wersja" @@ -683,7 +1268,7 @@ msgstr "RPC: Niekompatybilne wersje RPC" #: sunrpc/clnt_perr.c:195 msgid "RPC: Port mapper failure" -msgstr "RPC: Zawiód³ portmapper" +msgstr "RPC: Awaria portmappera" #: sunrpc/clnt_perr.c:185 msgid "RPC: Procedure unavailable" @@ -715,7 +1300,7 @@ msgstr "RPC: Sukces" #: sunrpc/clnt_perr.c:175 msgid "RPC: Timed out" -msgstr "RPC: Czas oczekiwania wyczerpany" +msgstr "RPC: Czas oczekiwania przekroczony" #: sunrpc/clnt_perr.c:173 msgid "RPC: Unable to receive" @@ -733,81 +1318,96 @@ msgstr "RPC: Nieznany host" msgid "RPC: Unknown protocol" msgstr "RCP: Nieznany protokó³" +#: elf/dlsym.c:49 +msgid "RTLD_NEXT used in code not dynamically loaded" +msgstr "RTLD_NEXT wyst±pi³o w kodzie nie ³adowanym dynamicznie" + +#. TRANS An attempt was made to modify something on a read-only file system. +#: stdio-common/../sysdeps/gnu/errlist.c:206 msgid "Read-only file system" msgstr "System plików wy³±cznie do odczytu" -#: posix/regex.c:955 +#: posix/regex.c:969 msgid "Regular expression too big" msgstr "Wyra¿enie regularne jest za du¿e" -msgid "Reserved error 82" -msgstr "Zarezerwowany b³±d 82" - -msgid "Reserved error 83" -msgstr "Zarezerwowany b³±d 83" - -msgid "Reserved error 84" -msgstr "Zarezerwowany b³±d 84" - -msgid "Reserved error 85" -msgstr "Zarezerwowany b³±d 85" - -msgid "Reserved error 86" -msgstr "Zarezerwowany b³±d 86" - -msgid "Reserved error 87" -msgstr "Zarezerwowany b³±d 87" - -msgid "Reserved error 88" -msgstr "Zarezerwowany b³±d 88" - -msgid "Reserved error 89" -msgstr "Zarezerwowany b³±d 89" - -msgid "Reserved error 90" -msgstr "Zarezerwowany b³±d 90" - -msgid "Reserved error 91" -msgstr "Zarezerwowany b³±d 91" - -msgid "Reserved error 92" -msgstr "Zarezerwowany b³±d 92" - -msgid "Reserved error 93" -msgstr "Zarezerwowany b³±d 93" - -msgid "Reserved error 94" -msgstr "Zarezerwowany b³±d 94" - -msgid "Reserved error 95" -msgstr "Zarezerwowany b³±d 95" +#: stdio-common/../sysdeps/gnu/errlist.c:798 +msgid "Remote I/O error" +msgstr "B³±d we/wy w odleg³ym systemie" -msgid "Reserved error 96" -msgstr "Zarezerwowany b³±d 96" +#: stdio-common/../sysdeps/gnu/errlist.c:754 +msgid "Remote address changed" +msgstr "Zmieni³ siê odleg³y adres" -msgid "Reserved error 97" -msgstr "Zarezerwowany b³±d 97" +#: inet/ruserpass.c:162 +msgid "Remove password or make file unreadable by others." +msgstr "Usuñ has³o lub uczyñ plik niedostêpnym dla innych" -msgid "Reserved error 98" -msgstr "Zarezerwowany b³±d 98" +#: catgets/gencat.c:224 db/makedb.c:227 locale/programs/locale.c:257 +#: locale/programs/localedef.c:412 +msgid "Report bugs using the `glibcbug' script to .\n" +msgstr "" +"B³êdy zg³aszaj za pomoc± skryptu `glibcbug' na adres .\n" -msgid "Reserved error 99" -msgstr "Zarezerwowany b³±d 99" +#: nis/ypclnt.c:691 +msgid "Request arguments bad" +msgstr "Argumenty ¿±dania s± b³êdne" -#: resolv/herror.c:72 +#: resolv/herror.c:73 msgid "Resolver Error 0 (no error)" msgstr "B³±d 0 resolvera (bez b³êdów)" -#: resolv/herror.c:114 +#: resolv/herror.c:117 msgid "Resolver internal error" msgstr "B³±d wewnêtrzny resolvera" +#. TRANS Deadlock avoided; allocating a system resource would have resulted in a +#. TRANS deadlock situation. The system does not guarantee that it will notice +#. TRANS all such situations. This error means you got lucky and the system +#. TRANS noticed; it might just hang. @xref{File Locks}, for an example. +#: stdio-common/../sysdeps/gnu/errlist.c:85 msgid "Resource deadlock avoided" -msgstr "Unikniêto blokady zasobów" +msgstr "Unikniêto zakleszczenia zasobów" +#: stdio-common/../sysdeps/unix/siglist.c:58 +msgid "Resource lost" +msgstr "Zasoby zosta³y stracone" + +#. 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. +#. TRANS +#. TRANS This error can happen in a few different situations: +#. TRANS +#. TRANS @itemize @bullet +#. TRANS @item +#. TRANS An operation that would block was attempted on an object that has +#. TRANS non-blocking mode selected. Trying the same operation again will block +#. TRANS until some external condition makes it possible to read, write, or +#. TRANS connect (whatever the operation). You can use @code{select} to find out +#. TRANS when the operation will be possible; @pxref{Waiting for I/O}. +#. TRANS +#. TRANS @strong{Portability Note:} In older Unix many systems, this condition +#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code +#. TRANS different from @code{EAGAIN}. To make your program portable, you should +#. TRANS check for both codes and treat them the same. +#. TRANS +#. TRANS @item +#. TRANS A temporary resource shortage made an operation impossible. @code{fork} +#. TRANS can return this error. It indicates that the shortage is expected to +#. TRANS pass, so your program can try the call again later and it may succeed. +#. TRANS It is probably a good idea to delay for a few seconds before trying it +#. TRANS again, to allow time for other processes to release scarce resources. +#. TRANS Such shortages are usually fairly serious and affect the whole system, +#. TRANS so usually an interactive program should report the error to the user +#. TRANS and return to its command loop. +#. TRANS @end itemize +#: stdio-common/../sysdeps/gnu/errlist.c:267 msgid "Resource temporarily unavailable" msgstr "Zasoby chwilowo niedostêpne" +#: stdio-common/../sysdeps/unix/siglist.c:40 +#: sysdeps/unix/sysv/linux/siglist.h:31 msgid "Segmentation fault" msgstr "Naruszenie ochrony pamiêci" @@ -819,135 +1419,255 @@ msgstr "Serwer odmówi³ uwierzytelnienia" msgid "Server rejected verifier" msgstr "Serwer odmówi³ weryfikacji" -msgid "Socket is already connected" -msgstr "Gniazdo jest ju¿ po³±czone" - -msgid "Socket is not connected" -msgstr "Gniazdo nie jest po³±czone" +#: stdio-common/../sysdeps/unix/siglist.c:29 +msgid "Signal 0" +msgstr "Sygna³ 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" msgstr "Operacja typu gniazda na obiekcie który nie jest gniazdem" +#. TRANS The socket type is not supported. +#: stdio-common/../sysdeps/gnu/errlist.c:328 msgid "Socket type not supported" -msgstr "Nie wspierany typ gniazda" +msgstr "Nie obs³ugiwany typ gniazda" +#. TRANS A network connection was aborted locally. +#: stdio-common/../sysdeps/gnu/errlist.c:382 msgid "Software caused connection abort" msgstr "Oprogramowanie spowodowa³o przerwanie po³±czenia" +#: stdio-common/../sysdeps/gnu/errlist.c:734 +msgid "Srmount error" +msgstr "B³±d srmount" + +#: sysdeps/unix/sysv/linux/siglist.h:59 +msgid "Stack fault" +msgstr "B³±d stosu" + +#. TRANS Stale NFS file handle. This indicates an internal confusion in the NFS +#. TRANS system which is due to file system rearrangements on the server host. +#. TRANS Repairing this condition usually requires unmounting and remounting +#. TRANS the NFS file system on the local host. +#: stdio-common/../sysdeps/gnu/errlist.c:494 msgid "Stale NFS file handle" -msgstr "Nieaktualny NFSowy uchwyt pliku" +msgstr "Nieaktualny uchwyt pliku NFS" +#: stdio-common/../sysdeps/unix/siglist.c:47 +#: sysdeps/unix/sysv/linux/siglist.h:37 msgid "Stopped" msgstr "Zatrzymany" +#: stdio-common/../sysdeps/unix/siglist.c:46 +#: sysdeps/unix/sysv/linux/siglist.h:36 msgid "Stopped (signal)" msgstr "Zatrzymany (sygna³)" +#: stdio-common/../sysdeps/unix/siglist.c:50 +#: sysdeps/unix/sysv/linux/siglist.h:40 msgid "Stopped (tty input)" msgstr "Zatrzymany (wej¶cie z tty)" +#: stdio-common/../sysdeps/unix/siglist.c:51 +#: sysdeps/unix/sysv/linux/siglist.h:41 msgid "Stopped (tty output)" msgstr "Zatrzymany (wyj¶cie na tty)" -#: posix/regex.c:940 +#: stdio-common/../sysdeps/gnu/errlist.c:778 +msgid "Streams pipe error" +msgstr "B³±d potoku biblioteki strumieni" + +#: stdio-common/../sysdeps/gnu/errlist.c:782 +msgid "Structure needs cleaning" +msgstr "Struktura wymaga wyczyszczenia" + +#: nis/ypclnt.c:689 nis/ypclnt.c:763 posix/regex.c:954 +#: stdio-common/../sysdeps/gnu/errlist.c:7 msgid "Success" msgstr "Sukces" +#: nis/ypclnt.c:769 +msgid "System resource allocation failure" +msgstr "Wyst±pi³ b³±d podczas przydzielania zasobów systemowych" + +#: stdio-common/../sysdeps/unix/siglist.c:44 +#: sysdeps/unix/sysv/linux/siglist.h:34 msgid "Terminated" msgstr "Zakoñczony" +#. TRANS An attempt to execute a file that is currently open for writing, or +#. TRANS write to a file that is currently being executed. Often using a +#. TRANS debugger to run a program is considered having it open for writing and +#. TRANS will cause this error. (The name stands for ``text file busy''.) This +#. TRANS is not an error in the GNU system; the text is copied as necessary. +#: stdio-common/../sysdeps/gnu/errlist.c:185 msgid "Text file busy" -msgstr "Plik zajêty" +msgstr "Plik wykonywalny zajêty" -msgid "Too many levels of remote in path" -msgstr "Za du¿o poziomów w ¶cie¿ce" +#: stdio-common/../sysdeps/gnu/errlist.c:650 +msgid "Timer expired" +msgstr "Stoper wyczerpany" +#. TRANS Too many levels of symbolic links were encountered in looking up a file name. +#. TRANS This often indicates a cycle of symbolic links. +#: stdio-common/../sysdeps/gnu/errlist.c:445 msgid "Too many levels of symbolic links" -msgstr "Za du¿o poziomów symlinków" +msgstr "Za du¿o poziomów dowi±zañ" +#. TRANS Too many links; the link count of a single file would become too large. +#. TRANS @code{rename} can cause this error if the file being renamed already has +#. TRANS as many links as it can take (@pxref{Renaming Files}). +#: stdio-common/../sysdeps/gnu/errlist.c:213 msgid "Too many links" msgstr "Za du¿o dowi±zañ" +#. TRANS The current process has too many files open and can't open any more. +#. TRANS Duplicate descriptors do count toward this limit. +#. TRANS +#. TRANS In BSD and GNU, the number of open files is controlled by a resource +#. TRANS limit that can usually be increased. If you get this error, you might +#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited; +#. TRANS @pxref{Limits on Resources}. +#: stdio-common/../sysdeps/gnu/errlist.c:163 msgid "Too many open files" msgstr "Za du¿o otwartych plików" +#. TRANS There are too many distinct file openings in the entire system. Note +#. TRANS that any number of linked channels count as just one file opening; see +#. TRANS @ref{Linked Channels}. This error never occurs in the GNU system. +#: stdio-common/../sysdeps/gnu/errlist.c:170 msgid "Too many open files in system" msgstr "Za du¿o otwartych plików w systemie" +#. TRANS This means that the per-user limit on new process would be exceeded by +#. TRANS an attempted @code{fork}. @xref{Limits on Resources}, for details on +#. TRANS the @code{RLIMIT_NPROC} limit. +#: stdio-common/../sysdeps/gnu/errlist.c:475 msgid "Too many processes" msgstr "Za du¿o procesów" -msgid "Too many references: can't splice" -msgstr "Za du¿o odniesieñ: nie mogê dowi±zaæ" +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:427 +msgid "Too many references: cannot splice" +msgstr "Za du¿o odniesieñ: dowi±zanie niemo¿liwe" +#. TRANS The file quota system is confused because there are too many users. +#. TRANS @c This can probably happen in a GNU system when using NFS. +#: stdio-common/../sysdeps/gnu/errlist.c:481 msgid "Too many users" msgstr "Za du¿o u¿ytkowników" +#: stdio-common/../sysdeps/unix/siglist.c:34 +msgid "Trace/BPT trap" +msgstr "Pu³apka debuggera/BPT" + +#: sysdeps/unix/sysv/linux/siglist.h:26 msgid "Trace/breakpoint trap" -msgstr "Pu³apka debuggera" +msgstr "Pu³apka debuggera/breakpoint" -#: posix/regex.c:945 +#: posix/regex.c:959 msgid "Trailing backslash" -msgstr "Koñcz±cy backslash" +msgstr "Koñcz±cy znak `\\'" +#. TRANS In the GNU system, opening a file returns this error when the file is +#. TRANS translated by a program and the translator program dies while starting +#. TRANS up, before it has connected to the file. +#: stdio-common/../sysdeps/gnu/errlist.c:584 msgid "Translator died" msgstr "Translator przerwa³ pracê" -#: catgets/gencat.c:201 +#. TRANS You tried to connect a socket that is already connected. +#. TRANS @xref{Connecting}. +#: stdio-common/../sysdeps/gnu/errlist.c:402 +msgid "Transport endpoint is already connected" +msgstr "Drugi koniec ma ju¿ po³±czenie" + +#. TRANS The socket is not connected to anything. You get this error when you +#. TRANS try to transmit data over a socket, without first specifying a +#. TRANS destination for the data. For a connectionless socket (for datagram +#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead. +#: stdio-common/../sysdeps/gnu/errlist.c:410 +msgid "Transport endpoint is not connected" +msgstr "Drugi koniec nie jest po³±czony" + +#: catgets/gencat.c:208 db/makedb.c:209 locale/programs/locale.c:241 +#: locale/programs/localedef.c:393 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Napisz `%s --help' by uzyskaæ pomoc.\n" -#: inet/rcmd.c:118 +#: inet/rcmd.c:137 #, c-format msgid "Trying %s...\n" msgstr "Próbujê %s...\n" -#: ../sysdeps/mach/_strerror.c:58 string/../sysdeps/generic/_strerror.c:36 +#: inet/ruserpass.c:246 +#, c-format +msgid "Unknown .netrc keyword %s" +msgstr "Nieznane s³owo kluczowe .netrc %s" + +#: nis/ypclnt.c:723 +msgid "Unknown NIS error code" +msgstr "Nieznany kod b³êdu NIS" + +#: string/../sysdeps/generic/_strerror.c:44 +#: string/../sysdeps/mach/_strerror.c:67 msgid "Unknown error " msgstr "Nieznany b³±d " -#: resolv/herror.c:73 +#: resolv/herror.c:74 msgid "Unknown host" msgstr "Nieznany host" -#: resolv/herror.c:117 +#: resolv/herror.c:120 msgid "Unknown resolver error" msgstr "Nieznany b³±d resolvera" -#: resolv/herror.c:75 +#: resolv/herror.c:76 msgid "Unknown server error" msgstr "Nieznany b³±d serwera" -#: string/strsignal.c:40 +#: string/strsignal.c:41 #, c-format msgid "Unknown signal %d" msgstr "Nieznany sygna³ %d" -#: misc/error.c:92 +#: misc/error.c:100 msgid "Unknown system error" msgstr "Nieznany b³±d systemowy" -#: posix/regex.c:948 +#: nis/ypclnt.c:771 +msgid "Unknown ypbind error" +msgstr "Nieznany b³±d ypbind" + +#: posix/regex.c:962 msgid "Unmatched ( or \\(" msgstr "Niesparowane ( lub \\(" -#: posix/regex.c:956 +#: posix/regex.c:970 msgid "Unmatched ) or \\)" msgstr "Niesparowane ) lub \\)" -#: posix/regex.c:947 +#: posix/regex.c:961 msgid "Unmatched [ or [^" msgstr "Niesparowane [ lub [^" -#: posix/regex.c:949 +#: posix/regex.c:963 msgid "Unmatched \\{" msgstr "Niesparowane \\{" +#: posix/getconf.c:260 +#, c-format +msgid "Unrecognized variable `%s'" +msgstr "Nierozpoznana zmienna `%s'" + +#: stdio-common/../sysdeps/unix/siglist.c:45 +#: sysdeps/unix/sysv/linux/siglist.h:35 msgid "Urgent I/O condition" msgstr "Nag³y wypadek I/O" -#: catgets/gencat.c:204 +#: catgets/gencat.c:212 #, c-format msgid "" "Usage: %s [OPTION]... -o OUTPUT-FILE [INPUT-FILE]...\n" @@ -963,16 +1683,109 @@ msgid "" msgstr "" "Sk³adnia: %s [OPCJA]... -o PLIK_WYJ¦CIOWY [PLIK_WEJ¦CIOWY]...\n" " %s [OPCJA]... [PLIK_WYJ¦CIOWY [PLIK_WEJ¦CIOWY]...]\n" -"Obowi±zkowe argumenty d³ugich form opcji s± wymagane tak¿e dla krótkich form.\n" +"Obowi±zkowe argumenty d³ugich form opcji s± wymagane tak¿e dla krótkich " +"form.\n" " -H, --header stwórz nag³ówek C zawieraj±cy definicje symboli\n" " -h, --help wy¶wietl ten tekst pomocy i zakoñcz pracê\n" -" --new nie u¿ywaj istniej±cego katalogu, wymu¶ nowy plik wyj¶ciowy\n" +" --new nie u¿ywaj istniej±cego katalogu, wymu¶ nowy plik " +"wyj¶ciowy\n" " -o, --output=PLIK zapisz wynik do PLIKu\n" " -V, --version wy¶wietl wersjê programi i zakoñcz pracê.\n" -"Je¶li PLIK_WEJ¦CIOWY to `-', dane s± czytane ze standardowego wej¶cia.\n" -"Je¶li PLIK_WYJ¦CIOWY to `-', wyniki s± wypisywane na standardowe wyj¶cie.\n" +"Je¶li PLIKIEM_WEJ¦CIOWYM jest `-', dane s± czytane ze standardowego " +"wej¶cia.\n" +"Je¶li PLIKIEM_WYJ¦CIOWYM jest `-', wyniki s± wypisywane na standardowe " +"wyj¶cie.\n" -#: posix/getconf.c:81 +#: db/makedb.c:213 +#, c-format +msgid "" +"Usage: %s [OPTION]... INPUT-FILE OUTPUT-FILE\n" +" %s [OPTION]... -o OUTPUT-FILE INPUT-FILE\n" +" %s [OPTION]... -u INPUT-FILE\n" +"Mandatory arguments to long options are mandatory for short options too.\n" +" -f, --fold-case convert key to lower case\n" +" -h, --help display this help and exit\n" +" -o, --output=NAME write output to file NAME\n" +" --quiet don't print messages while building database\n" +" -u, --undo print content of database file, one entry a line\n" +" -V, --version output version information and exit\n" +"If INPUT-FILE is -, input is read from standard input.\n" +msgstr "" +"Sk³adnia: %s PLIK_WEJ¦CIOWY PLIK_WYJ¦CIOWE\n" +" %s [OPCJA]... -o PLIK_WYJ¦CIOWY PLIK_WEJ¦CIOWY\n" +" %s [OPCJA]... -u PLIK_WEJ¦CIOWY\n" +"Obowi±zkowe argumenty d³ugich form opcji s± wymagane tak¿e dla krótkich " +"form.\n" +" -f, --fold-case zamien litery w kluczu na ma³e\n" +" -h, --help wy¶wietl ten tekst pomocy i zakoñcz pracê\n" +" -o, --output=PLIK zapisz wynik do pliku PLIK\n" +" --quiet nie wy¶wietlaj komunikatów podczas tworzenia bazy " +"danych\n" +" -u, --undo wy¶wietl zawarto¶æ bazy, po jednym rekordzie w linii\n" +" -V, --version wy¶wietl wersjê programi i zakoñcz pracê.\n" +"Je¶li PLIKIEM_WEJ¦CIOWYM jest `-', dane s± czytane ze standardowego " +"wej¶cia.\n" + +#: locale/programs/localedef.c:397 +#, c-format +msgid "" +"Usage: %s [OPTION]... name\n" +"Mandatory arguments to long options are mandatory for short options too.\n" +" -c, --force create output even if warning messages were " +"issued\n" +" -h, --help display this help and exit\n" +" -f, --charmap=FILE symbolic character names defined in FILE\n" +" -i, --inputfile=FILE source definitions are found in FILE\n" +" -u, --code-set-name=NAME specify code set for mapping ISO 10646 elements\n" +" -v, --verbose print more messages\n" +" -V, --version output version information and exit\n" +" --posix be strictly POSIX conform\n" +"\n" +"System's directory for character maps: %s\n" +" locale files : %s\n" +msgstr "" +"U¿ycie: %s [OPCJA]... nazwa\n" +"Argumenty wymagane dla d³ugich opcji s± wymagane tak¿e dla krótkich form.\n" +" -c, --force utwórz wynik nawet je¶li pojawi³y siê " +"ostrze¿enia\n" +" -h, --help wy¶wietl ten tekst pomocy i zakoñcz pracê\n" +" -f, --charmap=PLIK symboliczne nazwy znaków zdefiniowane w PLIKu\n" +" -i, --inputfile=PLIK definicje ¼ród³owe pobierz z PLIKu\n" +" -u, --code-set-name=NAZWA nazwa zbioru kodów do mapowania elementów ISO " +"10646\n" +" -v, --verbose wy¶wietlaj wiêcej informacji\n" +" -V, --version wy¶wietl wersjê programu i zakoñcz pracê\n" +" --posix zachowaj ¶cis³± zgodno¶æ ze standardem POSIX\n" +"\n" +"Systemowy katalog tablic znakowych: %s\n" +" pliki lokalizacyjne: %s\n" + +#: locale/programs/locale.c:245 +#, c-format +msgid "" +"Usage: %s [OPTION]... name\n" +"Mandatory arguments to long options are mandatory for short options too.\n" +" -h, --help display this help and exit\n" +" -V, --version output version information and exit\n" +"\n" +" -a, --all-locales write names of available locales\n" +" -m, --charmaps write names of available charmaps\n" +"\n" +" -c, --category-name write names of selected categories\n" +" -k, --keyword-name write names of selected keywords\n" +msgstr "" +"U¿ycie: %s [OPCJA]... nazwa\n" +"Argumenty wymagane dla d³ugich opcji s± wymagane tak¿e dla krótkich form.\n" +" -h, --help wy¶wietl ten tekst pomocy i zakoñcz\n" +" -V, --version wy¶wietl wersjê programu i zakoñcz\n" +"\n" +" -a, --all-locales wypisz nazwy dostêpnych lokalizacji\n" +" -m, --charmaps wypisz nazwy dostêpnych map znakowych\n" +"\n" +" -c, --category-name wypisz nazwy wybranych kategorii\n" +" -k, --keyword-name wypisz nazwy wybranych s³ów kluczowych\n" + +#: posix/getconf.c:200 #, c-format msgid "Usage: %s variable_name [pathname]\n" msgstr "Sk³adnie: %s nazwa_zmiennej [¶cie¿ka]\n" @@ -981,263 +1794,634 @@ msgstr "Sk³adnie: %s nazwa_zmiennej [¶ci msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n" msgstr "Sk³adnia: rpcinfo [ -n nr_portu ] -u host nr_programu [ nr_wersji ]\n" +#: stdio-common/../sysdeps/unix/siglist.c:59 +#: sysdeps/unix/sysv/linux/siglist.h:48 msgid "User defined signal 1" msgstr "Sygna³ u¿ytkownika 1" +#: stdio-common/../sysdeps/unix/siglist.c:60 +#: sysdeps/unix/sysv/linux/siglist.h:49 msgid "User defined signal 2" msgstr "Sygna³ u¿ytkownika 2" +#: stdio-common/../sysdeps/gnu/errlist.c:642 +msgid "Value too large for defined data type" +msgstr "Warto¶æ za du¿a dla zdefiniowanego typu danych" + +#: stdio-common/../sysdeps/unix/siglist.c:55 +#: sysdeps/unix/sysv/linux/siglist.h:45 msgid "Virtual timer expired" msgstr "Wirtualny stoper wyczerpany" -#: time/zic.c:1740 +#: time/zic.c:1871 msgid "Wild result from command execution" msgstr "Osobliwy wynik wykonania polecenia" +#: stdio-common/../sysdeps/unix/siglist.c:57 +#: sysdeps/unix/sysv/linux/siglist.h:47 msgid "Window changed" msgstr "Okno zmienione" +# czy 'zapisany przez' (program, procedure) czy 'napisany przez' (kogos)? -PK +#: catgets/gencat.c:174 db/makedb.c:125 locale/programs/locale.c:192 +#: locale/programs/localedef.c:185 +#, c-format +msgid "Written by %s.\n" +msgstr "Autor: %s.\n" + +#: nis/ypclnt.c:142 +msgid "YPBINDPROC_DOMAIN: Internal error\n" +msgstr "YPBINDPROC_DOMAIN: B³±d wewnêtrzny\n" + +#: nis/ypclnt.c:146 +#, c-format +msgid "YPBINDPROC_DOMAIN: No server for domain %s\n" +msgstr "YPBINDPROC_DOMAIN: Brak serwera dla domeny %s\n" + +#: nis/ypclnt.c:150 +msgid "YPBINDPROC_DOMAIN: Resource allocation failure\n" +msgstr "YPBINDPROC_DOMAIN: Wyst±pi³ b³±d podczas przydzielania zasobów\n" + +#: nis/ypclnt.c:154 +msgid "YPBINDPROC_DOMAIN: Unknown error\n" +msgstr "YPBINDPROC_DOMAIN: Nieznany b³±d\n" + +#. TRANS You did @strong{what}? +#: stdio-common/../sysdeps/gnu/errlist.c:596 msgid "You really blew it this time" -msgstr "Tym razem da³e¶ dupy" +msgstr "Tym razem da³e¶ popaliæ" -#: time/zic.c:1013 +#: time/zic.c:1048 msgid "Zone continuation line end time is not after end time of previous line" msgstr "Koniec czasu nie znajduje siê po koñcu czasu poprzedniej linii" -#: sunrpc/rpc_parse.c:326 -msgid "array declaration expected" -msgstr "spodziewana deklaracja tablicy" +#: locale/programs/charmap.c:397 locale/programs/locfile.c:363 +#, c-format +msgid "`%1$s' definition does not end with `END %1$s'" +msgstr "definicja `%1$s' musi koñczyæ siê wyra¿eniem `END %1$s'" -#: sunrpc/auth_unix.c:314 +#: locale/programs/ld-monetary.c:359 locale/programs/ld-numeric.c:190 +#, c-format +msgid "`-1' must be last entry in `%s' field in `%s' category" +msgstr "`-1' musi byæ ostatnim elementem w polu `%s' kategorii `%s'" + +#: locale/programs/ld-collate.c:1655 +msgid "`...' must only be used in `...' and `UNDEFINED' entries" +msgstr "`...' mo¿e byæ u¿yte wy³±cznie dla `...' i `UNDEFINED'" + +#: locale/programs/locfile.c:560 +msgid "`from' expected after first argument to `collating-element'" +msgstr "`from' spodziewane po pierwszym argumencie `collate-element'" + +#: locale/programs/ld-collate.c:1112 +msgid "" +"`from' string in collation element declaration contains unknown character" +msgstr "³añcuch `from' w deklaracji elementu sortowania zawiera nieznany znak" + +#: locale/programs/charmap.c:267 +#, c-format +msgid "argument to <%s> must be a single character" +msgstr "argument <%s> musi byæ pojedynczym znakiem" + +#: locale/programs/locfile.c:237 +#, c-format +msgid "argument to `%s' must be a single character" +msgstr "argument `%s' musi byæ pojedynczym znakiem" + +#: sunrpc/auth_unix.c:323 msgid "auth_none.c - Fatal marshalling problem" msgstr "auth_none.c - Problem z prze³±czaniem" -#: inet/rcmd.c:327 +#: inet/rcmd.c:365 msgid "bad .rhosts owner" msgstr "nieodpowiedni w³a¶ciciel .rhosts" -#: time/zic.c:1136 +#: locale/programs/charmap.c:212 locale/programs/locfile.c:231 +msgid "bad argument" +msgstr "b³êdny argument" + +#: time/zic.c:1170 msgid "blank FROM field on Link line" msgstr "puste pole FROM w linii Link" -#: time/zic.c:1140 +#: time/zic.c:1174 msgid "blank TO field on Link line" msgstr "puste pole TO w linii Link" -#: malloc/mcheck.c:174 +#: malloc/mcheck.c:191 msgid "block freed twice" msgstr "blok zwalniany dwa razy" -#: malloc/mcheck.c:177 +#: malloc/mcheck.c:194 msgid "bogus mcheck_status, library is buggy" -msgstr "z³y mcheck_status, biblioteka jest zapluskwiona" +msgstr "b³êdny mcheck_status, biblioteka zawiera b³êdy" -#: sunrpc/pmap_rmt.c:177 +#: sunrpc/pmap_rmt.c:179 msgid "broadcast: ioctl (get interface configuration)" msgstr "transmisja: ioctl (info o konfiguracji interfejsu)" -#: sunrpc/pmap_rmt.c:184 +#: sunrpc/pmap_rmt.c:186 msgid "broadcast: ioctl (get interface flags)" msgstr "transmisja: ioctl (info o flagach interjesu)" -#: sunrpc/svc_udp.c:398 +#: sunrpc/svc_udp.c:402 msgid "cache_set: victim not found" msgstr "cache_set: brak ofiary" +# jak ladnie przetlumaczyc ten until time? -PK +#: time/zic.c:1698 +msgid "can't determine time zone abbreviation to use just after until time" +msgstr "okre¶lenie skrótu strefy czasowej po koñcu przedzia³u czasu jest niemo¿liwe" + #: sunrpc/svc_simple.c:64 #, c-format msgid "can't reassign procedure number %d\n" -msgstr "nie mogê przypisaæ procedury nr %d\n" +msgstr "przypisanie procedury nr %d jest niemo¿liwe\n" -#: catgets/gencat.c:248 +#: locale/programs/localedef.c:291 +#, c-format +msgid "cannot `stat' locale file `%s'" +msgstr "otwarcie pliku lokalizacji `%s' jest niemo¿liwe" + +# collation = sortowanie czy laczenie??? -PK +#: locale/programs/ld-collate.c:1317 +#, c-format +msgid "cannot insert collation element `%.*s'" +msgstr "wstawienie elementu sortowania `%.*s' jest niemo¿liwe" + +#: locale/programs/ld-collate.c:1496 locale/programs/ld-collate.c:1501 +msgid "cannot insert into result table" +msgstr "wstawienie do tablicy wyników jest niemo¿liwe" + +#: locale/programs/ld-collate.c:1169 locale/programs/ld-collate.c:1211 +#, c-format +msgid "cannot insert new collating symbol definition: %s" +msgstr "wstawienie definicji nowego symbolu sortowania niemo¿liwe: %s" + +#: db/makedb.c:161 +#, c-format +msgid "cannot open database file `%s': %s" +msgstr "otwarcie pliku bazy danych `%s' jest niemo¿liwe: %s" + +#: catgets/gencat.c:260 db/makedb.c:180 #, c-format msgid "cannot open input file `%s'" -msgstr "nie mogê otworzyæ wej¶ciowego pliku `%s'" +msgstr "otwarcie wej¶ciowego pliku `%s' niemo¿liwe" -#: catgets/gencat.c:753 gencat.c:794 +#: locale/programs/localedef.c:224 +#, c-format +msgid "cannot open locale definition file `%s'" +msgstr "otwarcie pliku definicji lokalnych `%s' niemo¿liwe" + +#: catgets/gencat.c:765 catgets/gencat.c:806 db/makedb.c:189 #, c-format msgid "cannot open output file `%s'" -msgstr "nie mogê otworzyæ wyj¶ciowego pliku `%s'" +msgstr "otwarcie wyj¶ciowego pliku `%s' niemo¿liwe" + +#: locale/programs/locfile.c:1008 +#, c-format +msgid "cannot open output file `%s' for category `%s'" +msgstr "otwarcie wyj¶ciowego pliku `%s' dla kategorii `%s' niemo¿liwe" + +#: locale/programs/ld-collate.c:1363 +msgid "cannot process order specification" +msgstr "przetwarzanie specyfikacji kolejno¶ci jest niemo¿liwe" + +#: locale/programs/locale.c:304 +#, c-format +msgid "cannot read character map directory `%s'" +msgstr "odczyt katalogu mapy znaków `%s' niemo¿liwy" + +#: locale/programs/locale.c:279 +#, c-format +msgid "cannot read locale directory `%s'" +msgstr "odczyt katalogu lokalizacji %s' jest niemo¿liwy" + +#: locale/programs/localedef.c:313 +#, c-format +msgid "cannot read locale file `%s'" +msgstr "odczyt pliku lokalizacji `%s' niemo¿liwy" + +#: locale/programs/localedef.c:338 +#, c-format +msgid "cannot write output files to `%s'" +msgstr "zapis plików wyj¶ciowych do `%s' niemo¿liwy" + +#: locale/programs/localedef.c:381 +msgid "category data requested more than once: should not happen" +msgstr "wielokrotne ¿±danie kategorii danych: nie powinno wyst±piæ" + +#: locale/programs/ld-ctype.c:266 +#, c-format +msgid "character %s'%s' in class `%s' must be in class `%s'" +msgstr "znak %s'%s' z klasy`%s' musi byæ w klasie `%s'" + +#: locale/programs/ld-ctype.c:291 +#, c-format +msgid "character %s'%s' in class `%s' must not be in class `%s'" +msgstr "znak %s'%s' z klasy `%s' nie mo¿e byæ w klasie `%s'" + +#: locale/programs/ld-ctype.c:313 +msgid "character not defined in character map" +msgstr "znak nie zdefiniowany w tablicy znaków" + +#: locale/programs/ld-ctype.c:944 locale/programs/ld-ctype.c:1007 +#: locale/programs/ld-ctype.c:1015 locale/programs/ld-ctype.c:1023 +#: locale/programs/ld-ctype.c:1031 locale/programs/ld-ctype.c:1039 +#: locale/programs/ld-ctype.c:1047 locale/programs/ld-ctype.c:1073 +#: locale/programs/ld-ctype.c:1081 locale/programs/ld-ctype.c:1119 +#: locale/programs/ld-ctype.c:1146 locale/programs/ld-ctype.c:1157 +#, c-format +msgid "character `%s' not defined while needed as default value" +msgstr "znak `%s', wymagany jako domy¶lny, nie zosta³ zdefiniowany" + +#: locale/programs/ld-ctype.c:806 +#, c-format +msgid "character class `%s' already defined" +msgstr "klasa znaków `%s' jest ju¿ zdefiniowana" + +#: locale/programs/ld-ctype.c:838 +#, c-format +msgid "character map `%s' already defined" +msgstr "tablica znaków `%s' jest ju¿ zdefiniowana" + +#: locale/programs/charmap.c:76 +#, c-format +msgid "character map file `%s' not found" +msgstr "nie znaleziono pliku tablicy znaków `%s'" #: sunrpc/clnt_raw.c:106 msgid "clnt_raw.c - Fatal header serialization error." -msgstr "clnt_raw.c - Fatalny b³±d serializacji nag³ówka." +msgstr "clnt_raw.c - Krytyczny b³±d serializacji nag³ówka." -#: inet/rcmd.c:112 +#: locale/programs/ld-collate.c:1332 +#, c-format +msgid "collation element `%.*s' appears more than once: ignore line" +msgstr "element sortowania `%.*s' wyst±pi³ wielokrotnie: linia pominiêta" + +#: locale/programs/ld-collate.c:1350 +#, c-format +msgid "collation symbol `%.*s' appears more than once: ignore line" +msgstr "element sortowania `%.*s' wyst±pi³ wielokrotnie: linia pominiêta" + +#: locale/programs/locfile.c:544 +#, c-format +msgid "collation symbol expected after `%s'" +msgstr "oczekiwano symbolu sortowania po `%s'" + +#: inet/rcmd.c:130 #, c-format msgid "connect to address %s: " msgstr "po³±czenie do adresu %s: " -#: sunrpc/rpc_scan.c:109 -msgid "constant or identifier expected" -msgstr "spodziewana sta³a lub identyfikator" - #: sunrpc/svc_simple.c:70 msgid "couldn't create an rpc server\n" -msgstr "nie mogê stworzyæ serwera rpc\n" - -#: sunrpc/portmap.c:122 -msgid "couldn't do tcp_create\n" -msgstr "nie mogê odpaliæ tcp_create\n" - -#: sunrpc/portmap.c:100 -msgid "couldn't do udp_create\n" -msgstr "nie moge odpaliæ udp_create\n" +msgstr "stworzenie serwera rpc niemo¿liwe\n" #: sunrpc/svc_simple.c:77 #, c-format msgid "couldn't register prog %d vers %d\n" -msgstr "nie mogê zarejestrowaæ prog %d wer. %d\n" +msgstr "rejestracja prog %d wer. %d niemo¿liwa\n" -#: sunrpc/rpc_parse.c:77 -msgid "definition keyword expected" -msgstr "spodziewane s³owo kluczowe definition" +#: locale/programs/charmap.c:86 +#, c-format +msgid "default character map file `%s' not found" +msgstr "nie znaleziono domy¶lnej tablicy znaków `%s'" -#: catgets/gencat.c:367 +#: locale/programs/ld-time.c:154 +#, c-format +msgid "" +"direction flag in string %d in `era' field in category `%s' is not '+' nor " +"'-'" +msgstr "" +"znacznik kierunku w ³añcuchu %d w polu `era' w kategorii `%s' nie jest '+'\n" +"lub '-'" + +#: locale/programs/ld-time.c:164 +#, c-format +msgid "" +"direction flag in string %d in `era' field in category `%s' is not a single " +"character" +msgstr "" +"znacznik kierunku w ³añcuchu %d w polu `era' w kategorii `%s' nie jest\n" +"pojedynczym znakiem" + +#: locale/programs/charset.c:87 locale/programs/charset.c:132 +#, c-format +msgid "duplicate character name `%s'" +msgstr "dwukrotne wyst±pienie nazwy znaku `%s'" + +#: locale/programs/ld-collate.c:1144 +msgid "duplicate collating element definition" +msgstr "podwójna definicja elementu sortowania" + +#: locale/programs/ld-collate.c:1290 +#, c-format +msgid "duplicate definition for character `%.*s'" +msgstr "wielokrotna definicja znaku `%.*s'" + +#: db/makedb.c:311 +msgid "duplicate key" +msgstr "dwukrotne wyst±pienie klucza" + +#: catgets/gencat.c:379 msgid "duplicate set definition" -msgstr "podwójne definicje" +msgstr "podwójna definicja zbioru" -#: time/zic.c:928 +#: time/zic.c:963 #, c-format msgid "duplicate zone name %s (file \"%s\", line %d)" msgstr "podwójna nazwa strefy %s (plik \"%s\", linia %d)" -#: catgets/gencat.c:530 +#: catgets/gencat.c:542 msgid "duplicated message identifier" msgstr "podwójny identyfikator komunikatu" -#: catgets/gencat.c:503 +#: catgets/gencat.c:515 msgid "duplicated message number" msgstr "podwójny numer komunikatu" -#: sunrpc/svc_udp.c:344 +#: locale/programs/ld-collate.c:1699 +msgid "empty weight name: line ignored" +msgstr "pusta nazwa wagi: linia zignorowana" + +#: sunrpc/svc_udp.c:348 msgid "enablecache: cache already enabled" msgstr "enablecache: bufor jest ju¿ aktywny" -#: sunrpc/svc_udp.c:349 +#: sunrpc/svc_udp.c:353 msgid "enablecache: could not allocate cache" msgstr "enablecache: niemo¿liwa alokacja bufora" -#: sunrpc/svc_udp.c:356 +#: sunrpc/svc_udp.c:360 msgid "enablecache: could not allocate cache data" msgstr "enablecache: niemo¿liwa alokacja danych bufora" -#: sunrpc/svc_udp.c:362 +#: sunrpc/svc_udp.c:366 msgid "enablecache: could not allocate cache fifo" msgstr "enablecache: niemo¿liwa alokacja kolejki dla bufora" -#: sunrpc/rpc_util.c:300 +# ellipsis = wyrzutnia jezykowa - sprawdzilem. nawet pamietam ze cos takiego +# istnieje ze szkoly, ale za cholere nie pamietam co to jest ;) -PK +#: locale/programs/ld-collate.c:1422 +msgid "end point of ellipsis range is bigger then start" +msgstr "koniec zakresu wyrzutni wiêkszy niz pocz±tek" + +#: locale/programs/ld-collate.c:1152 +msgid "error while inserting collation element into hash table" +msgstr "b³±d podczas wstawiania elementu sortowanego do tablicy mieszaj±cej" + +#: locale/programs/ld-collate.c:1164 +msgid "error while inserting to hash table" +msgstr "b³±d podczas wstawiania do tablicy mieszaj±cej" + +#: locale/programs/locfile.c:487 +msgid "expect string argument for `copy'" +msgstr "spodziewanym argumentem dla `copy' jest ³añcuch" + +#: time/zic.c:854 +msgid "expected continuation line not found" +msgstr "brak spodziewanej linii kontynuacji" + +#: locale/programs/locfile.c:1032 #, c-format -msgid "expected '%s'" -msgstr "spodziewane '%s'" +msgid "failure while writing data for category `%s'" +msgstr "niepowodzenie przy zapisie danych kategorii `%s'" -#: sunrpc/rpc_util.c:312 +#: nis/ypclnt.c:187 +msgid "fcntl: F_SETFD" +msgstr "fcntl: F_SETFD" + +#: locale/programs/ld-monetary.c:155 locale/programs/ld-numeric.c:95 #, c-format -msgid "expected '%s' or '%s'" -msgstr "spodziewane '%s' lub '%s'" +msgid "field `%s' in category `%s' not defined" +msgstr "pole `%s' w kategorii `%s' nie jest zdefiniowane" -#: sunrpc/rpc_util.c:325 +#: locale/programs/ld-messages.c:81 locale/programs/ld-messages.c:102 #, c-format -msgid "expected '%s', '%s' or '%s'" -msgstr "spodziewane '%s', '%s' lub '%s'" +msgid "field `%s' in category `%s' undefined" +msgstr "pole `%s' w kategorii `%s' nie jest zdefiniowane" -#: time/zic.c:819 -msgid "expected continuation line not found" -msgstr "brak spodziewanej linii kontynuacji" +#: locale/programs/locfile.c:569 +msgid "from-value of `collating-element' must be a string" +msgstr "argument from-value definicji `collating-element' musi byæ ³añcuchem" -#: sunrpc/rpc_parse.c:384 -msgid "expected type specifier" -msgstr "spodziewany specyfikator typu" +#: locale/programs/linereader.c:328 +msgid "garbage at end of character code specification" +msgstr "¶mieci na koñcu specyfikacji kodu znaku" + +#: locale/programs/linereader.c:214 +msgid "garbage at end of number" +msgstr "¶mieci na koñcu liczby" + +#: locale/programs/ld-time.c:183 +#, c-format +msgid "" +"garbage at end of offset value in string %d in `era' field in category `%s'" +msgstr "" +"¶mieci na koñcu warto¶ci offset w ³añcuchu %d w polu `era' w kategorii `%s'" + +#: locale/programs/ld-time.c:238 +#, c-format +msgid "" +"garbage at end of starting date in string %d in `era' field in category `%s'" +msgstr "" +"¶mieci na koñcu pierwszej daty w ³añcuchu %d w polu `era' w kategorii `%s'" + +#: locale/programs/ld-time.c:311 +#, c-format +msgid "" +"garbage at end of stopping date in string %d in `era' field in category `%s'" +msgstr "" +"¶mieci na koñcu drugiej daty w ³añcuchu %d w polu `era' w kategorii `%s'" #: sunrpc/get_myaddr.c:73 msgid "get_myaddress: ioctl (get interface configuration)" -msgstr "get_myaddress: ioctl (info o konfiguracji interfejsu)" +msgstr "get_myaddress: ioctl (informacja o konfiguracji interfejsu)" -#: time/zic.c:1113 +#: time/zic.c:1147 msgid "illegal CORRECTION field on Leap line" msgstr "b³êdne pole CORRECTION w linii Leap" -#: time/zic.c:1117 +#: time/zic.c:1151 msgid "illegal Rolling/Stationary field on Leap line" msgstr "b³êdne ple Rolling/Stationary w linii Leap" -#: sunrpc/rpc_scan.c:281 -msgid "illegal character in file: " -msgstr "b³êdny znak w pliku: " +#: locale/programs/ld-collate.c:1770 +msgid "illegal character constant in string" +msgstr "b³êdna sta³a znakowa w ³añcuchu" -#: sunrpc/rpc_parse.c:146 -msgid "illegal result type" -msgstr "b³êdny typ wyniku" +#: locale/programs/ld-collate.c:1119 +msgid "illegal collation element" +msgstr "b³êdny element sortowania" -#: catgets/gencat.c:340 gencat.c:417 +#: locale/programs/charmap.c:196 +msgid "illegal definition" +msgstr "niepoprawna definicja" + +#: locale/programs/charmap.c:349 +msgid "illegal encoding given" +msgstr "niepoprawne kodowanie" + +#: locale/programs/linereader.c:546 +msgid "illegal escape sequence at end of string" +msgstr "niepoprawna sekwencja escape na koñcu ³añcucha" + +#: locale/programs/charset.c:101 +msgid "illegal names for character range" +msgstr "niepoprawne nazwy dla zakresu znaków" + +#: locale/programs/ld-time.c:176 +#, c-format +msgid "illegal number for offset in string %d in `era' field in category `%s'" +msgstr "" +"nieprawid³owa warto¶æ offset w ³añcuchu %d w polu `era' w kategorii `%s'" + +#: catgets/gencat.c:352 catgets/gencat.c:429 msgid "illegal set number" msgstr "b³êdny numer zbioru" -#: time/zic.c:777 +#: locale/programs/ld-time.c:230 +#, c-format +msgid "illegal starting date in string %d in `era' field in category `%s'" +msgstr "" +"nieprawid³owa pierwsza data w ³añcuchu %d w polu `era' w kategorii `%s'" + +#: locale/programs/ld-time.c:303 +#, c-format +msgid "illegal stopping date in string %d in `era' field in category `%s'" +msgstr "nieprawid³owa druga data w ³añcuchu %d w polu `era' w kategorii `%s'" + +#: locale/programs/ld-ctype.c:812 +#, c-format +msgid "implementation limit: no more than %d character classes allowed" +msgstr "ograniczenie implementacji: dozwolone maksymalnie %d klas znaków" + +#: locale/programs/ld-ctype.c:844 +#, c-format +msgid "implementation limit: no more than %d character maps allowed" +msgstr "ograniczenie implementacji: dozwolone maksymalnie %d map znaków" + +#: db/makedb.c:163 +msgid "incorrectly formatted file" +msgstr "nieprawid³owy format pliku" + +#: time/zic.c:811 msgid "input line of unknown type" msgstr "nieznany typ linii wej¶ciowej" -#: time/zic.c:984 +#: time/zic.c:1760 +msgid "internal error - addtype called with bad isdst" +msgstr "b³±d wewnêtrzny - addtype wywo³ane ze b³êdnym isdst" + +#: time/zic.c:1768 +msgid "internal error - addtype called with bad ttisgmt" +msgstr "b³±d wewnêtrzny - addtype wywo³ane ze b³êdnym ttisgmt" + +#: time/zic.c:1764 +msgid "internal error - addtype called with bad ttisstd" +msgstr "b³±d wewnêtrzny - addtype wywo³ane ze b³êdnym ttisstd" + +#: locale/programs/ld-ctype.c:304 +#, c-format +msgid "internal error in %s, line %u" +msgstr "b³±d wewnêtrzny w %s, linia %u" + +#: time/zic.c:1019 msgid "invalid GMT offset" -msgstr "b³êdne przesuniêcie GMT" +msgstr "nieprawid³owe przesuniêcie GMT" -#: time/zic.c:987 +#: time/zic.c:1022 msgid "invalid abbreviation format" -msgstr "b³êdny format skrótu" +msgstr "nieprawid³owy format skrótu" -#: time/zic.c:1078 zic.c:1277 zic.c:1291 +#: time/zic.c:1112 time/zic.c:1313 time/zic.c:1327 msgid "invalid day of month" -msgstr "z³y dzieñ miesi±ca" +msgstr "nieprawid³owy dzieñ miesi±ca" -#: time/zic.c:1236 +#: time/zic.c:1270 msgid "invalid ending year" -msgstr "z³y rok koñcowy" +msgstr "nieprawid³owy rok koñcowy" -#: time/zic.c:1050 +#: time/zic.c:1084 msgid "invalid leaping year" -msgstr "z³y rok przestêpny" +msgstr "nieprawid³owy rok przestêpny" -#: time/zic.c:1065 zic.c:1168 +#: time/zic.c:1099 time/zic.c:1202 msgid "invalid month name" -msgstr "z³y miesi±c" +msgstr "nieprawid³owy miesi±c" -#: time/zic.c:883 +#: time/zic.c:918 msgid "invalid saved time" -msgstr "z³y czas oszczêdno¶ci" +msgstr "b³êdny czas oszczêdno¶ci" -#: time/zic.c:1216 +#: time/zic.c:1250 msgid "invalid starting year" -msgstr "z³y rok pocz±tkowy" +msgstr "nieprawid³owy rok pocz±tkowy" -#: time/zic.c:1094 zic.c:1196 +#: time/zic.c:1128 time/zic.c:1230 msgid "invalid time of day" -msgstr "z³a pora dnia" +msgstr "nieprawid³owa pora dnia" -#: time/zic.c:1282 +#: time/zic.c:1318 msgid "invalid weekday name" -msgstr "z³y dzieñ tygonia" +msgstr "nieprawid³owy dzieñ tygodnia" -#: time/zic.c:757 +#: locale/programs/ld-collate.c:1415 +msgid "line after ellipsis must contain character definition" +msgstr "linia za wyrzutni± musi zawieraæ definicjê znaku" + +#: locale/programs/ld-collate.c:1394 +msgid "line before ellipsis does not contain definition for character constant" +msgstr "linia przed wyrzutni± nie mo¿e zawieraæ definicji sta³ej znakowej" + +#: time/zic.c:791 msgid "line too long" msgstr "za d³uga linia" -#: catgets/gencat.c:598 +#: locale/programs/localedef.c:285 +#, c-format +msgid "locale file `%s', used in `copy' statement, not found" +msgstr "brak pliku lokalizacji `%s' u¿ytego w wyra¿eniu `copy'" + +#: catgets/gencat.c:610 msgid "malformed line ignored" -msgstr "ignorujê niepoprawn± liniê" +msgstr "b³êdna linia zosta³a pominiêta" -#: malloc/mcheck.c:168 +#: malloc/mcheck.c:185 msgid "memory clobbered before allocated block" -msgstr "pamiêæ zniknê³a zanim zaalokowa³em blok" +msgstr "zniknê³a pamiêæ przed przydzielonym blokiem" -#: malloc/mcheck.c:171 +#: malloc/mcheck.c:188 msgid "memory clobbered past end of allocated block" -msgstr "pamiêæ zniknê³a po alokacji bloku" +msgstr "zniknê³a pamiêæ za koñcem przydzielonego bloku" -#: malloc/mcheck.c:165 +#: locale/programs/ld-collate.c:167 locale/programs/ld-collate.c:173 +#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1442 +#: locale/programs/ld-collate.c:1471 locale/programs/locfile.c:962 +#: locale/programs/xmalloc.c:68 posix/getconf.c:250 +msgid "memory exhausted" +msgstr "pamiêæ zosta³a wyczerpana" + +#: malloc/obstack.c:462 +msgid "memory exhausted\n" +msgstr "pamiêæ zosta³a wyczerpana\n" + +#: malloc/mcheck.c:182 msgid "memory is consistent, library is buggy" -msgstr "pamiêæ jest zwarta, biblioteka ma pluskwy" +msgstr "pamiêæ jest zwarta, biblioteka zawiera b³êdy" -#: time/zic.c:878 +#: locale/programs/ld-time.c:350 +#, c-format +msgid "missing era format in string %d in `era' field in category `%s'" +msgstr "brak formatu ery w ³añcuchu %d w polu `era' w kategorii `%s'" + +#: locale/programs/ld-time.c:339 +#, c-format +msgid "missing era name in string %d in `era' field in category `%s'" +msgstr "brak nazwy ery w ³añcuchu %d w polu `era' w kategorii `%s'" + +#: time/zic.c:913 msgid "nameless rule" msgstr "bezimienna regu³a" @@ -1246,37 +2430,59 @@ msgstr "bezimienna regu³a" msgid "never registered prog %d\n" msgstr "program %d nie by³ nigdy zarejestrowany\n" -#: rpc_parse.c:313 sunrpc/rpc_parse.c:305 -msgid "no array-of-pointer declarations -- use typedef" -msgstr "brak deklaracji tablicy wska¼ników - u¿yj 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 "" +"brak poprawnego wyra¿enia regularnego dla pola `%s' w kategorii `%s': %s" -#: time/zic.c:1955 +#: time/zic.c:2086 msgid "no day in month matches rule" msgstr "¿aden z dni miesi±ca nie pasuje do regu³y" -#: sunrpc/portmap.c:452 -msgid "portmap CALLIT: cannot fork.\n" -msgstr "portmap CALLIT: nie mogê rozwidliæ procesu\n" +#: locale/programs/ld-collate.c:260 +msgid "no definition of `UNDEFINED'" +msgstr "brak definicji `UNDEFINED'" -#: portmap.c:117 sunrpc/portmap.c:95 -msgid "portmap cannot bind" -msgstr "portmap nie mo¿e zwi±zaæ" +#: locale/programs/locfile.c:501 +msgid "no other keyword shall be specified when `copy' is used" +msgstr "¿adne s³owo kluczowe nie powinno wystêpowaæ razem z `copy'" -#: portmap.c:113 sunrpc/portmap.c:87 -msgid "portmap cannot create socket" -msgstr "portmap nie mo¿e stworzyæ gniazda" +#: locale/programs/localedef.c:344 +msgid "no output file produced because warning were issued" +msgstr "brak pliku wyj¶ciowego - wyst±pi³y ostrze¿enia" -#: rpc_scan.c:464 sunrpc/rpc_scan.c:456 -msgid "preprocessor error" -msgstr "b³±d preprocesora" +#: locale/programs/charmap.c:315 locale/programs/charmap.c:466 +#: locale/programs/charmap.c:545 +msgid "no symbolic name given" +msgstr "brak nazwy symbolicznej" -#: rpcinfo.c:350 sunrpc/rpcinfo.c:222 +#: locale/programs/charmap.c:380 locale/programs/charmap.c:512 +#: locale/programs/charmap.c:578 +msgid "no symbolic name given for end of range" +msgstr "brak nazwy symbolicznej dla koñca zakresu" + +#: locale/programs/ld-collate.c:244 +#, c-format +msgid "no weight defined for symbol `%s'" +msgstr "brak definicji wagi dla symbolu `%s'" + +#: locale/programs/charmap.c:430 +msgid "only WIDTH definitions are allowed to follow the CHARMAP definition" +msgstr "po definicji CHARMAP mog± wystêpowaæ tylko definicje WIDTH" + +#: db/makedb.c:327 +#, c-format +msgid "problems while reading `%s'" +msgstr "wyst±pi³y problemy podczas czytania `%s'" + +#: sunrpc/rpcinfo.c:222 sunrpc/rpcinfo.c:350 #, c-format msgid "program %lu is not available\n" msgstr "program %lu jest niedostêpny\n" -#: rpcinfo.c:282 rpcinfo.c:371 rpcinfo.c:408 rpcinfo.c:429 -#: sunrpc/rpcinfo.c:245 sunrpc/rpcinfo.c:462 +#: sunrpc/rpcinfo.c:245 sunrpc/rpcinfo.c:282 sunrpc/rpcinfo.c:371 +#: sunrpc/rpcinfo.c:408 sunrpc/rpcinfo.c:429 sunrpc/rpcinfo.c:462 #, c-format msgid "program %lu version %lu is not available\n" msgstr "program %lu wersja %lu jest niedostêpny\n" @@ -1286,25 +2492,25 @@ msgstr "program %lu wersja %lu jest nied msgid "program %lu version %lu ready and waiting\n" msgstr "program %lu wersja %lu gotowy i oczekuje\n" -#: inet/rcmd.c:154 +#: inet/rcmd.c:172 #, c-format -msgid "rcmd: select (setting up stderr): %s\n" -msgstr "rcmd: select (ustawienie stderr): %s\n" +msgid "rcmd: select (setting up stderr): %m\n" +msgstr "rcmd: select (podczas ustawiania stderr): %m\n" -#: inet/rcmd.c:86 +#: inet/rcmd.c:104 msgid "rcmd: socket: All ports in use\n" msgstr "rcmd: socket: Wszystkie porty zajête\n" -#: inet/rcmd.c:141 +#: inet/rcmd.c:160 #, c-format -msgid "rcmd: write (setting up stderr): %s\n" -msgstr "rcmd: write (ustawianie stderr): %s\n" +msgid "rcmd: write (setting up stderr): %m\n" +msgstr "rcmd: write (podczas ustawiania stderr): %m\n" #: sunrpc/svc_simple.c:83 msgid "registerrpc: out of memory\n" msgstr "registerrpc: brak pamiêci\n" -#: time/zic.c:1690 +#: time/zic.c:1821 msgid "repeated leap second moment" msgstr "powtórzone sekundy przestêpne" @@ -1316,7 +2522,7 @@ msgstr "rpcinfo: nieznany host %s\n" #: sunrpc/rpcinfo.c:626 #, c-format msgid "rpcinfo: %s is unknown service\n" -msgstr "rpcinfo: nieznana us³ug %s\n" +msgstr "rpcinfo: nieznana us³uga %s\n" #: sunrpc/rpcinfo.c:600 #, c-format @@ -1326,171 +2532,536 @@ msgstr "rpcinfo: Nie mogê usun±æ rejestr #: sunrpc/rpcinfo.c:576 #, c-format msgid "rpcinfo: broadcast failed: %s\n" -msgstr "rpcinfo: nieudana transmisja: %s\n" +msgstr "rpcinfo: rozg³aszanie nieudane: %s\n" #: sunrpc/rpcinfo.c:505 msgid "rpcinfo: can't contact portmapper" -msgstr "rpcinfo: nie mogê skontaktowaæ siê z portmapperem" +msgstr "rpcinfo: kontakt z portmapperem niemo¿liwy" #: sunrpc/rpcinfo.c:510 msgid "rpcinfo: can't contact portmapper: " -msgstr "rpcinfo: nie mogê skontaktowaæ siê z portmapperem: " +msgstr "rpcinfo: kontakt z portmapperem niemo¿liwy: " -#: sunrpc/portmap.c:138 -msgid "run_svc returned unexpectedly\n" -msgstr "run_svc powróci³ niespodziewanie\n" +#: time/zic.c:704 time/zic.c:706 +msgid "same rule name in multiple files" +msgstr "ta sama nazwa nazwa regu³y w ró¿nych plikach" -#: inet/rcmd.c:158 +#: inet/rcmd.c:175 msgid "select: protocol failure in circuit setup\n" msgstr "select: b³±d protoko³u podczas ustawiania\n" -#: inet/rcmd.c:176 -msgid "socket: protocol failure in circuit setup.\n" -msgstr "socket: b³±d protoko³u podczas ustawiania.\n" +#: inet/rcmd.c:193 +msgid "socket: protocol failure in circuit setup\n" +msgstr "socket: protokó³ zawiód³ podczas konfiguracji po³±czenia\n" -#: time/zic.c:742 +#: locale/programs/locfile.c:622 +msgid "sorting order `forward' and `backward' are mutually exclusive" +msgstr "porz±dki sortowania `forward' i `backward' wykluczaj± siê wzajemnie" + +#: locale/programs/ld-collate.c:1571 locale/programs/ld-collate.c:1617 +msgid "" +"specification of sorting weight for collation symbol does not make sense" +msgstr "specyfikacja wagi dla elementu sortowania nie ma sensu" + +#: time/zic.c:775 msgid "standard input" msgstr "standardowe wej¶cie" -#: time/zdump.c:259 +#: time/zdump.c:268 msgid "standard output" msgstr "standardowe wyj¶cie" -#: time/zic.c:1240 +#: locale/programs/ld-time.c:257 +#, c-format +msgid "starting date is illegal in string %d in `era' field in category `%s'" +msgstr "" +"nieprawid³owa pierwsza data w ³añcuchu %d w polu `era' w kategorii `%s'" + +#: time/zic.c:1274 msgid "starting year greater than ending year" -msgstr "rok pocz±tkowy pó¼niejszy od koñcowego" +msgstr "pierwszy rok jest pó¼niejszy ni¿ drugi" -#: sunrpc/svc_tcp.c:199 svc_tcp.c:204 +#: locale/programs/ld-time.c:330 +#, c-format +msgid "stopping date is illegal in string %d in `era' field in category `%s'" +msgstr "nieprawid³owa druga data w ³añcuchu %d w polu `era' w kategorii `%s'" + +#: sunrpc/svc_tcp.c:201 sunrpc/svc_tcp.c:206 msgid "svc_tcp: makefd_xprt: out of memory\n" msgstr "svc_tcp: makefd_xprt: brak pamiêci\n" -#: sunrpc/svc_tcp.c:147 +#: sunrpc/svc_tcp.c:149 msgid "svctcp_.c - cannot getsockname or listen" -msgstr "svctcp_.c - nie mogê odpaliæ getsockname lub listen" +msgstr "svctcp_.c - wykonanie getsockname lub listen niemo¿liwe" -#: sunrpc/svc_tcp.c:134 +#: sunrpc/svc_tcp.c:136 msgid "svctcp_.c - udp socket creation problem" msgstr "svctcp_.c - problemy przy tworzeniu gniazda udp" -#: sunrpc/svc_tcp.c:154 svc_tcp.c:161 +#: sunrpc/svc_tcp.c:156 sunrpc/svc_tcp.c:163 msgid "svctcp_create: out of memory\n" msgstr "svctcp_create: brak pamiêci\n" -#: sunrpc/svc_udp.c:119 +#: sunrpc/svc_udp.c:123 msgid "svcudp_create - cannot getsockname" -msgstr "svcudp_create - nie mogê odpaliæ getsockname" +msgstr "svcudp_create - wykonanie getsockname niemo¿liwe" -#: sunrpc/svc_udp.c:107 +#: sunrpc/svc_udp.c:111 msgid "svcudp_create: socket creation problem" msgstr "svcudp_create: problemy przy tworzeniu gniazda" -#: catgets/gencat.c:369 gencat.c:505 gencat.c:532 +#: locale/programs/ld-collate.c:1194 +#, c-format +msgid "" +"symbol for multicharacter collating element `%.*s' duplicates element " +"definition" +msgstr "" +"symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela " +"definicjê tego elementu" + +#: locale/programs/ld-collate.c:1067 +#, c-format +msgid "" +"symbol for multicharacter collating element `%.*s' duplicates other element " +"definition" +msgstr "" +"symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela " +"definicjê innego elementu" + +#: locale/programs/ld-collate.c:1203 +#, c-format +msgid "" +"symbol for multicharacter collating element `%.*s' duplicates other symbol " +"definition" +msgstr "" +"symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela " +"definicjê innego symbolu" + +#: locale/programs/ld-collate.c:1076 +#, c-format +msgid "" +"symbol for multicharacter collating element `%.*s' duplicates symbol " +"definition" +msgstr "" +"symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela " +"definicjê tego symbolu" + +#: locale/programs/ld-collate.c:1058 locale/programs/ld-collate.c:1185 +#, c-format +msgid "" +"symbol for multicharacter collating element `%.*s' duplicates symbolic name " +"in charset" +msgstr "" +"symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela " +"nazwê symboliczn± z zestawu znaków" + +#: locale/programs/charmap.c:314 locale/programs/charmap.c:348 +#: locale/programs/charmap.c:378 locale/programs/charmap.c:465 +#: locale/programs/charmap.c:511 locale/programs/charmap.c:544 +#: locale/programs/charmap.c:576 +#, c-format +msgid "syntax error in %s definition: %s" +msgstr "b³±d sk³adniowy w definicji %s: %s" + +#: locale/programs/locfile.c:642 +msgid "syntax error in `order_start' directive" +msgstr "b³±d sk³adniowy w dyrektywie `order_start'" + +#: locale/programs/locfile.c:384 +msgid "syntax error in character class definition" +msgstr "b³±d sk³adniowy definicji klasy znaków" + +#: locale/programs/locfile.c:442 +msgid "syntax error in character conversion definition" +msgstr "b³±d sk³adniowy w definicji konwersji znaku" + +#: locale/programs/locfile.c:684 +msgid "syntax error in collating order definition" +msgstr "b³±d sk³adniowy w definicji kolejno¶ci sortowania" + +#: locale/programs/locfile.c:534 +msgid "syntax error in collation definition" +msgstr "b³±d sk³adniowy w definicji sortowania" + +#: locale/programs/locfile.c:357 +msgid "syntax error in definition of LC_CTYPE category" +msgstr "b³±d sk³adniowy w definicji kategorii LC_CTYPE" + +#: locale/programs/locfile.c:300 +msgid "syntax error in definition of new character class" +msgstr "b³±d sk³adniowy w definicji nowej klasy znaków" + +#: locale/programs/locfile.c:310 +msgid "syntax error in definition of new character map" +msgstr "b³±d sk³adniowy w definicji nowej mapy znaków" + +#: locale/programs/locfile.c:895 +msgid "syntax error in message locale definition" +msgstr "b³±d sk³adniowy w definicji lokalnych komunikatów" + +#: locale/programs/locfile.c:806 +msgid "syntax error in monetary locale definition" +msgstr "b³±d sk³adniowy w definicji lokalnej waluty" + +#: locale/programs/locfile.c:833 +msgid "syntax error in numeric locale definition" +msgstr "b³±d sk³adniowy w lokalnej definicji numerycznej" + +#: locale/programs/locfile.c:744 +msgid "syntax error in order specification" +msgstr "b³±d sk³adniowy w specyfikacji kolejno¶ci" + +#: locale/programs/charmap.c:195 locale/programs/charmap.c:211 +#, c-format +msgid "syntax error in prolog: %s" +msgstr "b³±d sk³adniowy w prologu: %s" + +#: locale/programs/locfile.c:871 +msgid "syntax error in time locale definition" +msgstr "b³±d sk³adniowy w lokalnej definicji czasu" + +#: locale/programs/locfile.c:277 +msgid "syntax error: not inside a locale definition section" +msgstr "b³±d sk³adniowy: nie wewn±trz sekcji definicji lokalnych" + +#: catgets/gencat.c:381 catgets/gencat.c:517 catgets/gencat.c:544 msgid "this is the first definition" msgstr "to pierwsza definicja" -#: time/zic.c:1083 +#: time/zic.c:1117 msgid "time before zero" -msgstr "czas przez zerem" +msgstr "czas przed zerem" -#: time/zic.c:1091 zic.c:1855 zic.c:1874 +#: time/zic.c:1125 time/zic.c:1986 time/zic.c:2005 msgid "time overflow" msgstr "przepe³nienie czasu" -#: sunrpc/rpc_util.c:285 -msgid "too many files!\n" -msgstr "za du¿o plików!\n" +#: locale/programs/charset.c:44 +msgid "too few bytes in character encoding" +msgstr "za ma³o bajtów w kodzie znaku" -#: time/zic.c:1684 +#: locale/programs/charset.c:46 +msgid "too many bytes in character encoding" +msgstr "za du¿o bajtów w kodzie znaku" + +#: locale/programs/locales.h:72 +msgid "too many character classes defined" +msgstr "zdefiniowane zbyt wiele klas znaków" + +#: time/zic.c:1815 msgid "too many leap seconds" msgstr "za du¿o sekund przestêpnych" -#: time/zic.c:1656 +#: time/zic.c:1787 msgid "too many local time types" msgstr "za du¿o lokalnych typów czasu" -#: time/zic.c:1622 +#: time/zic.c:1741 msgid "too many transitions?!" msgstr "za duzo konwersji?!" -#: time/zic.c:1978 +#: locale/programs/ld-collate.c:1626 +msgid "too many weights" +msgstr "za du¿o wag" + +#: time/zic.c:2109 msgid "too many, or too long, time zone abbreviations" -msgstr "za du¿o, lub za d³ugie, skróty stref czasowych" +msgstr "za d³ugie lub za du¿o skrótów stref czasowych" + +#: locale/programs/linereader.h:146 +msgid "trailing garbage at end of line" +msgstr "¶miecie na koñcu linii" #: sunrpc/svc_simple.c:132 #, c-format msgid "trouble replying to prog %d\n" msgstr "problem przy odpowiadaniu programowi %d\n" -#: time/zic.c:1247 +#: locale/programs/ld-collate.c:1386 +msgid "two lines in a row containing `...' are not allowed" +msgstr "dwie kolejne linie zawieraj±ce `...' nie s± dozwolone" + +#: time/zic.c:1281 msgid "typed single year" msgstr "podany pojedyñczy rok" -#: catgets/gencat.c:466 +#: posix/getconf.c:239 +msgid "undefined" +msgstr "nieokre¶lone" + +#: locale/programs/charmap.c:617 locale/programs/charmap.c:628 +#, c-format +msgid "unknown character `%s'" +msgstr "nieznany znak `%s'" + +#: locale/programs/ld-messages.c:193 locale/programs/ld-messages.c:204 +#: locale/programs/ld-messages.c:215 locale/programs/ld-messages.c:226 +#: locale/programs/ld-time.c:698 +#, c-format +msgid "unknown character in field `%s' of category `%s'" +msgstr "nieznany znak w polu `%s' kategorii `%s'" + +#: locale/programs/locfile.c:607 +msgid "unknown collation directive" +msgstr "nieznana dyrektywa sortuj±ca" + +#: catgets/gencat.c:478 #, c-format msgid "unknown directive `%s': line ignored" msgstr "nieznana dyrektywa `%s': linia zignorowana" -#: catgets/gencat.c:445 +#: catgets/gencat.c:457 #, c-format msgid "unknown set `%s'" msgstr "nieznany zestaw `%s'" -msgid "unknown signal" -msgstr "nieznany sygna³" +#: locale/programs/ld-collate.c:1370 locale/programs/ld-collate.c:1561 +#: locale/programs/ld-collate.c:1735 +#, c-format +msgid "unknown symbol `%.*s': line ignored" +msgstr "nieznany symbol `%.*s': linia zignorowana" -#: time/zic.c:714 +#: time/zic.c:747 msgid "unruly zone" msgstr "strefa bez regu³" -#: catgets/gencat.c:950 +#: catgets/gencat.c:962 msgid "unterminated message" msgstr "niezakoñczony komunikat" -#: sunrpc/rpc_scan.c:319 -msgid "unterminated string constant" -msgstr "niezakoñczona sta³a tekstowa" +#: locale/programs/linereader.c:515 locale/programs/linereader.c:550 +msgid "unterminated string" +msgstr "niezakoñczony ³añcuch" -#: sunrpc/rpc_main.c:78 -#, c-format -msgid "usage: %s infile\n" -msgstr "sk³adnia: %s plik_we\n" +#: locale/programs/linereader.c:385 +msgid "unterminated symbolic name" +msgstr "niezakoñczona nazwa symboliczna" -#: time/zic.c:1921 +#: locale/programs/ld-collate.c:1688 +msgid "unterminated weight name" +msgstr "niezakoñczona nazwa wagi" + +#: locale/programs/charset.c:119 +msgid "upper limit in range is not smaller then lower limit" +msgstr "górna granica zakresu nie jest mniejsza ni¿ dolna" + +#: time/zic.c:2052 msgid "use of 2/29 in non leap-year" msgstr "u¿ycie 2/29 w roku nieprzestêpnym" -#: sunrpc/rpc_parse.c:330 -msgid "variable-length array declaration expected" -msgstr "spodziewana tablica o zmiennej d³ugo¶ci" +#: locale/programs/charmap.c:438 locale/programs/charmap.c:492 +#, c-format +msgid "value for %s must be an integer" +msgstr "warto¶æ %s musi byæ liczb± ca³kowit±" -#: sunrpc/rpc_parse.c:370 -msgid "voids allowed only inside union and program definitions" -msgstr "typ void dozwolony tylko w unii i definicjach programów" +#: locale/programs/charmap.c:233 +#, c-format +msgid "value for <%s> must lie between 1 and 4" +msgstr "warto¶æ <%s> musi byæ z zakresu 1 do 4" -#: login/setutent_r.c:47 +#: locale/programs/ld-monetary.c:149 locale/programs/ld-numeric.c:89 +#, c-format +msgid "value for field `%s' in category `%s' must not be the empty string" +msgstr "warto¶æ pola `%s' w kategorii `%s' nie mo¿e byæ pustym ³añcuchem" + +#: locale/programs/charmap.c:245 +msgid "value of must be greater than the value of " +msgstr "warto¶æ musi byæ wiêksza ni¿ warto¶æ " + +#: locale/programs/ld-monetary.c:139 +msgid "" +"value of field `int_curr_symbol' in category `LC_MONETARY' does not " +"correspond to a valid name in ISO 4217" +msgstr "" +"zawarto¶æ pola `int_curr_symbol' w kategorii `LC_MONETARY' nie jest zgodna z " +"nazwami ISO 4217" + +#: locale/programs/ld-monetary.c:133 +msgid "" +"value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length" +msgstr "" +"zawarto¶æ pola `int_curr_symbol' w kategorii `LC_MONETARY' ma z³± d³ugo¶æ" + +#: locale/programs/ld-monetary.c:371 locale/programs/ld-numeric.c:199 +#, c-format +msgid "values for field `%s' in category `%s' must be smaller than 127" +msgstr "warto¶ci pola `%s' w kategorii `%s' musz± byæ mniejsze ni¿ 127" + +#: locale/programs/ld-monetary.c:367 +#, c-format +msgid "values for field `%s' in category `%s' must not be zero" +msgstr "warto¶ci pola `%s' w kategorii `%s' nie mog± byæ zerowe" + +#: login/utmp_file.c:84 msgid "while opening UTMP file" msgstr "podczas otwierania pliku UTMP" -#: catgets/gencat.c:977 +#: catgets/gencat.c:989 msgid "while opening old catalog file" msgstr "podczas otwierania starego katalogu" -#: time/zic.c:1041 +#: db/makedb.c:354 +msgid "while reading database" +msgstr "podczas czytania bazy" + +#: db/makedb.c:316 +msgid "while writing data base file" +msgstr "podczas zapisywania pliku bazy" + +#: db/makedb.c:142 +msgid "wrong number of arguments" +msgstr "z³a liczba argumentów" + +#: time/zic.c:1075 msgid "wrong number of fields on Leap line" msgstr "z³a liczba pól w linii Leap" -#: time/zic.c:1132 +#: time/zic.c:1166 msgid "wrong number of fields on Link line" msgstr "z³a liczba pól w linii Link" -#: time/zic.c:874 +#: time/zic.c:909 msgid "wrong number of fields on Rule line" msgstr "z³a liczba pól w linii Rule" -#: time/zic.c:944 +#: time/zic.c:979 msgid "wrong number of fields on Zone continuation line" msgstr "z³a liczba pól w linii kontynuacji Zone" -#: time/zic.c:902 +#: time/zic.c:937 msgid "wrong number of fields on Zone line" msgstr "z³a liczba pól w linii Zone" + +#: nis/ypclnt.c:811 +msgid "yp_update: cannot convert host to netname\n" +msgstr "yp_update: konwersja nazwy hosta na nazwê sieci jest niemo¿liwa\n" + +#: nis/ypclnt.c:823 +msgid "yp_update: cannot get server address\n" +msgstr "yp_update: uzyskanie adresu serwera jest niemo¿liwe\n" + +msgid " %s [-c | -h | -l | -m] [-o outfile] [infile]\n" +msgstr " %s [-c | -h | -l | -m] [-o plik_wy] [plik_we]\n" + +msgid " %s [-s udp|tcp]* [-o outfile] [infile]\n" +msgstr " %s [-s udp|tcp]* [-o plik_wy] [plik_we]\n" + +msgid "%s, line %d: " +msgstr "%s, linia %d: " + +msgid "%s: output would overwrite %s\n" +msgstr "%s: wyj¶cie nadpisze %s\n" + +msgid "%s: unable to open " +msgstr "%s: otwarcie jest niemo¿liwe " + +msgid "Reserved error 82" +msgstr "Zarezerwowany b³±d 82" + +msgid "Reserved error 83" +msgstr "Zarezerwowany b³±d 83" + +msgid "Reserved error 84" +msgstr "Zarezerwowany b³±d 84" + +msgid "Reserved error 85" +msgstr "Zarezerwowany b³±d 85" + +msgid "Reserved error 86" +msgstr "Zarezerwowany b³±d 86" + +msgid "Reserved error 87" +msgstr "Zarezerwowany b³±d 87" + +msgid "Reserved error 88" +msgstr "Zarezerwowany b³±d 88" + +msgid "Reserved error 89" +msgstr "Zarezerwowany b³±d 89" + +msgid "Reserved error 90" +msgstr "Zarezerwowany b³±d 90" + +msgid "Reserved error 91" +msgstr "Zarezerwowany b³±d 91" + +msgid "Reserved error 92" +msgstr "Zarezerwowany b³±d 92" + +msgid "Reserved error 93" +msgstr "Zarezerwowany b³±d 93" + +msgid "Reserved error 94" +msgstr "Zarezerwowany b³±d 94" + +msgid "Reserved error 95" +msgstr "Zarezerwowany b³±d 95" + +msgid "Reserved error 96" +msgstr "Zarezerwowany b³±d 96" + +msgid "Reserved error 97" +msgstr "Zarezerwowany b³±d 97" + +msgid "Reserved error 98" +msgstr "Zarezerwowany b³±d 98" + +msgid "Reserved error 99" +msgstr "Zarezerwowany b³±d 99" + +msgid "Too many levels of remote in path" +msgstr "Za du¿o poziomów zagnie¿d¿enia w ¶cie¿ce" + +msgid "array declaration expected" +msgstr "spodziewana deklaracja tablicy" + +msgid "constant or identifier expected" +msgstr "spodziewana sta³a lub identyfikator" + +msgid "couldn't do tcp_create\n" +msgstr "wykonanie tcp_create jest niemo¿liwe\n" + +msgid "couldn't do udp_create\n" +msgstr "wykonanie udp_create jest niemo¿liwe\n" + +msgid "definition keyword expected" +msgstr "spodziewane s³owo kluczowe definition" + +msgid "expected '%s'" +msgstr "spodziewane '%s'" + +msgid "expected '%s' or '%s'" +msgstr "spodziewane '%s' lub '%s'" + +msgid "expected '%s', '%s' or '%s'" +msgstr "spodziewane '%s', '%s' lub '%s'" + +msgid "expected type specifier" +msgstr "spodziewany specyfikator typu" + +msgid "illegal result type" +msgstr "b³êdny typ wyniku" + +msgid "no array-of-pointer declarations -- use typedef" +msgstr "brak deklaracji tablicy wska¼ników - u¿yj typedef" + +msgid "portmap CALLIT: cannot fork.\n" +msgstr "portmap CALLIT: nie mogê rozwidliæ procesu\n" + +msgid "portmap cannot create socket" +msgstr "portmap nie mo¿e stworzyæ gniazda" + +msgid "run_svc returned unexpectedly\n" +msgstr "run_svc powróci³ niespodziewanie\n" + +msgid "unknown signal" +msgstr "nieznany sygna³" + +msgid "usage: %s infile\n" +msgstr "sk³adnia: %s plik_we\n" + +msgid "variable-length array declaration expected" +msgstr "spodziewana tablica o zmiennej d³ugo¶ci" + +msgid "voids allowed only inside union and program definitions" +msgstr "typ void dozwolony tylko w unii i definicjach programów" diff -durpN glibc-2.0.2/posix/getopt.c glibc-2.0.3/posix/getopt.c --- glibc-2.0.2/posix/getopt.c Sun Feb 9 22:18:33 1997 +++ glibc-2.0.3/posix/getopt.c Thu Apr 17 16:15:15 1997 @@ -253,7 +253,9 @@ static int last_nonopt; /* Bash 2.0 gives us an environment variable containing flags indicating ARGV elements that should not be considered arguments. */ -char *__getopt_nonoption_flags; +/* Defined in getopt_init.c */ +extern char *__getopt_nonoption_flags; + static int nonoption_flags_max_len; static int nonoption_flags_len; @@ -395,7 +397,7 @@ _getopt_initialize (argc, argv, optstrin is the program name); the sequence of previously skipped non-option ARGV-elements is empty. */ - first_nonopt = last_nonopt = optind = 1; + first_nonopt = last_nonopt = optind; nextchar = NULL; @@ -521,10 +523,11 @@ _getopt_internal (argc, argv, optstring, { optarg = NULL; - if (!__getopt_initialized || optind == 0) + if (optind == 0 || !__getopt_initialized) { + if (optind == 0) + optind = 1; /* Don't scan ARGV[0], the program name. */ optstring = _getopt_initialize (argc, argv, optstring); - optind = 1; /* Don't scan ARGV[0], the program name. */ __getopt_initialized = 1; } diff -durpN glibc-2.0.2/posix/getopt_init.c glibc-2.0.3/posix/getopt_init.c --- glibc-2.0.2/posix/getopt_init.c Mon Feb 10 23:45:17 1997 +++ glibc-2.0.3/posix/getopt_init.c Sat Apr 5 19:47:08 1997 @@ -29,8 +29,8 @@ #include "../stdio-common/_itoa.h" -/* External variable to synchronize work. */ -extern char *__getopt_nonoption_flags; +/* Variable to synchronize work. */ +char *__getopt_nonoption_flags; extern pid_t __libc_pid; diff -durpN glibc-2.0.2/posix/glob.c glibc-2.0.3/posix/glob.c --- glibc-2.0.2/posix/glob.c Thu Mar 20 23:55:43 1997 +++ glibc-2.0.3/posix/glob.c Fri Apr 4 10:28:21 1997 @@ -250,7 +250,6 @@ extern char *alloca (); #undef GLOB_PERIOD #include -static int glob_pattern_p __P ((const char *pattern, int quote)); static int glob_in_dir __P ((const char *pattern, const char *directory, int flags, int (*errfunc) __P ((const char *, int)), @@ -288,7 +287,7 @@ next_brace_sub (const char *begin) while (*cp != '\0' && (*cp != '}' || depth > 0)) { if (*cp == '}') - ++depth; + --depth; ++cp; } if (*cp == '\0') @@ -617,7 +616,7 @@ glob (pattern, flags, errfunc, pglob) } #endif /* Not VMS. */ - if (glob_pattern_p (dirname, !(flags & GLOB_NOESCAPE))) + if (__glob_pattern_p (dirname, !(flags & GLOB_NOESCAPE))) { /* The directory name contains metacharacters, so we have to glob for the directory, and then glob for @@ -844,8 +843,8 @@ prefix_array (dirname, array, n) /* Return nonzero if PATTERN contains any metacharacters. Metacharacters can be quoted with backslashes if QUOTE is nonzero. */ -static int -glob_pattern_p (pattern, quote) +int +__glob_pattern_p (pattern, quote) const char *pattern; int quote; { @@ -876,6 +875,9 @@ glob_pattern_p (pattern, quote) return 0; } +#ifdef _LIBC +weak_alias (__glob_pattern_p, glob_pattern_p) +#endif /* Like `glob', but PATTERN is a final pathname component, @@ -900,7 +902,7 @@ glob_in_dir (pattern, directory, flags, struct globlink *names = NULL; size_t nfound = 0; - if (!glob_pattern_p (pattern, !(flags & GLOB_NOESCAPE))) + if (!__glob_pattern_p (pattern, !(flags & GLOB_NOESCAPE))) { stream = NULL; flags |= GLOB_NOCHECK; @@ -958,7 +960,7 @@ glob_in_dir (pattern, directory, flags, } if (nfound == 0 && (flags & GLOB_NOMAGIC) && - ! glob_pattern_p (pattern, !(flags & GLOB_NOESCAPE))) + ! __glob_pattern_p (pattern, !(flags & GLOB_NOESCAPE))) flags |= GLOB_NOCHECK; if (nfound == 0 && (flags & GLOB_NOCHECK)) diff -durpN glibc-2.0.2/posix/glob.h glibc-2.0.3/posix/glob.h --- glibc-2.0.2/posix/glob.h Thu Nov 14 22:53:45 1996 +++ glibc-2.0.3/posix/glob.h Fri Apr 4 10:28:02 1997 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992, 1995, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Its master source is NOT part of the C library, however. The master source lives in /gd/gnu/lib. @@ -103,6 +103,16 @@ extern int glob __P ((const char *__patt /* Free storage allocated in PGLOB by a previous `glob' call. */ extern void globfree __P ((glob_t *__pglob)); + +#ifdef _GNU_SOURCE +/* Return nonzero if PATTERN contains any metacharacters. + Metacharacters can be quoted with backslashes if QUOTE is nonzero. + + This function is not part of the interface specified by POSIX.2 + but several programs want to use it. */ +extern int __glob_pattern_p __P ((__const char *__pattern, int __quote)); +extern int glob_pattern_p __P ((__const char *__pattern, int __quote)); +#endif #ifdef __cplusplus } diff -durpN glibc-2.0.2/pwd/fgetpwent.c glibc-2.0.3/pwd/fgetpwent.c --- glibc-2.0.2/pwd/fgetpwent.c Wed Oct 30 21:53:17 1996 +++ glibc-2.0.3/pwd/fgetpwent.c Fri Apr 4 14:58:41 1997 @@ -1,35 +1,75 @@ -/* Copyright (C) 1991, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. +/* Copyright (C) 1991, 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 -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ +#include +#include #include -#include +#include +/* We need to protect the dynamic buffer handling. */ +__libc_lock_define_initialized (static, lock); + /* Read one entry from the given stream. */ struct passwd * fgetpwent (FILE *stream) { - static char buffer[BUFSIZ]; + static char *buffer; + static size_t buffer_size; static struct passwd resbuf; struct passwd *result; + int save; - if (__fgetpwent_r (stream, &resbuf, buffer, sizeof buffer, &result) != 0) - return NULL; + /* Get lock. */ + __libc_lock_lock (lock); + + /* Allocate buffer if not yet available. */ + if (buffer == NULL) + { + buffer_size = NSS_BUFLEN_PASSWD; + buffer = malloc (buffer_size); + } + + while (buffer != NULL + && __fgetpwent_r (stream, &resbuf, buffer, buffer_size, &result) != 0 + && errno == ERANGE) + { + char *new_buf; + buffer_size += NSS_BUFLEN_PASSWD; + new_buf = realloc (buffer, buffer_size); + if (new_buf == NULL) + { + /* We are out of memory. Free the current buffer so that the + process gets a chance for a normal termination. */ + save = errno; + free (buffer); + __set_errno (save); + } + buffer = new_buf; + } + + if (buffer == NULL) + result = NULL; + + /* Release lock. Preserve error value. */ + save = errno; + __libc_lock_unlock (lock); + __set_errno (save); return result; } diff -durpN glibc-2.0.2/rellns-sh glibc-2.0.3/rellns-sh --- glibc-2.0.2/rellns-sh Sun Feb 9 22:18:09 1997 +++ glibc-2.0.3/rellns-sh Sun Apr 20 05:24:20 1997 @@ -1,6 +1,6 @@ #! /bin/sh # rellns-sh - Simplified ln program to generate relative symbolic link. -# Copyright (C) 1996 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997 Free Software Foundation, Inc. # Written by Ulrich Drepper , October 1996 # # This program is free software; you can redistribute it and/or modify @@ -22,33 +22,31 @@ if test $# -ne 2; then exit 1 fi -case $1 in -/*) - # Make both paths absolute. - to=`echo $1 | sed 's%^/%%'` - - if test -d $2; then - from=`echo $2 | sed 's%/*$%%'` +# Make both paths absolute. +if test -d $1; then + to=`cd $1 && /bin/pwd` +else + temp=`echo $1 | sed 's%/*[^/]*$%%'` + if test -z "$temp"; then + to=`/bin/pwd` else - from=`echo $2 | sed 's%/*[^/]*$%%'` + to=`cd $temp && /bin/pwd` fi + to="$to/`echo $1 | sed 's%.*/\([^/][^/]*\)$%\1%'`" +fi +to=`echo $to | sed 's%^/%%'` - case "$from" in - /*) from=`echo $from | sed 's%^/*%%'` ;; - ?*) from=`cd $from && pwd | sed 's%^/%%'` ;; - *) from=`pwd | sed 's%^/%%'` ;; - esac - ;; -*) - to=$1 +if test -d $2; then + from=`echo $2 | sed 's%/*$%%'` +else + from=`echo $2 | sed 's%/*[^/]*$%%'` +fi - if test -d $2; then - from=`echo $2 | sed 's%/*$%%'` - else - from=`echo $2 | sed 's%/*[^/]*$%%'` - fi - ;; -esac +if test -z "$from"; then + from=`/bin/pwd | sed 's%^/%%'` +else + from=`cd $from && /bin/pwd | sed 's%^/%%'` +fi while test -n "$to" && test -n "$from"; do preto=`echo $to | sed 's%^\([^/]*\)/.*%\1%'` diff -durpN glibc-2.0.2/resolv/netdb.h glibc-2.0.3/resolv/netdb.h --- glibc-2.0.2/resolv/netdb.h Wed Jan 29 23:08:53 1997 +++ glibc-2.0.3/resolv/netdb.h Fri Apr 4 10:37:31 1997 @@ -364,6 +364,39 @@ extern int getnetgrent_r __P ((char **__ #endif /* misc */ +#ifdef __USE_BSD +/* Call `rshd' at port RPORT on remote machine *AHOST to execute CMD. + The local user is LOCUSER, on the remote machine the command is + executed as REMUSER. In *FD2P the descriptor to the socket for the + connection is returned. The caller must have the right to use a + reserved port. When the function returns *AHOST contains the + official host name. */ +extern int rcmd __P ((char **__ahost, unsigned short int __rport, + __const char *__locuser, __const char *__remuser, + __const char *__cmd, int *__fd2p)); + +/* Call `rexecd' at port RPORT on remote machine *AHOST to execute + CMD. The process runs at the remote machine using the ID of user + NAME whose cleartext password is PASSWD. In *FD2P the descriptor + to the socket for the connection is returned. When the function + returns *AHOST contains the official host name. */ +extern int rexec __P ((char **__ahost, int __rport, __const char *__name, + __const char *__pass, __const char *__cmd, + int *__fd2p)); + +/* Check whether user REMUSER on system RHOST is allowed to login as LOCUSER. + If SUSER is not zero the user tries to become superuser. Return 0 if + it is possible. */ +extern int ruserok __P ((__const char *__rhost, int __suser, + __const char *__remuser, __const char *__locuser)); + +/* Try to allocate reserved port, returning a descriptor for a socket opened + at this port or -1 if unsuccessful. The search for an available port + will start at ALPORT and continues with lower numbers. */ +extern int rresvport __P ((int *__alport)); +#endif + + /* Extension from POSIX.1g. */ #ifdef __USE_POSIX /* Structure to contain information about address of a service provider. */ diff -durpN glibc-2.0.2/shadow/fgetspent.c glibc-2.0.3/shadow/fgetspent.c --- glibc-2.0.2/shadow/fgetspent.c Wed Jan 29 23:08:55 1997 +++ glibc-2.0.3/shadow/fgetspent.c Fri Apr 4 14:58:58 1997 @@ -16,18 +16,63 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include +#include #include -#include +#include + + +/* A reasonable size for a buffer to start with. */ +#define BUFLEN_SPWD 1024 +/* We need to protect the dynamic buffer handling. */ +__libc_lock_define_initialized (static, lock); /* Read one shadow entry from the given stream. */ struct spwd * fgetspent (FILE *stream) { - static char buffer[BUFSIZ]; + static char *buffer; + static size_t buffer_size; static struct spwd resbuf; struct spwd *result; + int save; - return __fgetspent_r (stream, &resbuf, buffer, sizeof buffer, &result) - ? NULL : result; + /* Get lock. */ + __libc_lock_lock (lock); + + /* Allocate buffer if not yet available. */ + if (buffer == NULL) + { + buffer_size = BUFLEN_SPWD; + buffer = malloc (buffer_size); + } + + while (buffer != NULL + && __fgetspent_r (stream, &resbuf, buffer, buffer_size, &result) != 0 + && errno == ERANGE) + { + char *new_buf; + buffer_size += BUFLEN_SPWD; + new_buf = realloc (buffer, buffer_size); + if (new_buf == NULL) + { + /* We are out of memory. Free the current buffer so that the + process gets a chance for a normal termination. */ + save = errno; + free (buffer); + __set_errno (save); + } + buffer = new_buf; + } + + if (buffer == NULL) + result = NULL; + + /* Release lock. Preserve error value. */ + save = errno; + __libc_lock_unlock (lock); + __set_errno (save); + + return result; } diff -durpN glibc-2.0.2/shadow/fgetspent_r.c glibc-2.0.3/shadow/fgetspent_r.c --- glibc-2.0.2/shadow/fgetspent_r.c Wed Jan 29 23:08:55 1997 +++ glibc-2.0.3/shadow/fgetspent_r.c Fri Apr 18 09:50:53 1997 @@ -42,7 +42,10 @@ __fgetspent_r (FILE *stream, struct spwd { p = fgets (buffer, buflen, stream); if (p == NULL) - return errno; + { + *result = NULL; + return errno; + } /* Skip leading blanks. */ while (isspace (*p)) diff -durpN glibc-2.0.2/shadow/sgetspent.c glibc-2.0.3/shadow/sgetspent.c --- glibc-2.0.2/shadow/sgetspent.c Wed Jan 29 23:08:59 1997 +++ glibc-2.0.3/shadow/sgetspent.c Fri Apr 4 14:59:02 1997 @@ -16,33 +16,63 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include +#include #include -#include #include -#include -#define MAX(a, b) ((a) > (b) ? (a) : (b)) +/* A reasonable size for a buffer to start with. */ +#define BUFLEN_SPWD 1024 + +/* We need to protect the dynamic buffer handling. */ +__libc_lock_define_initialized (static, lock); /* Read one shadow entry from the given stream. */ struct spwd * sgetspent (const char *string) { + static char *buffer; + static size_t buffer_size; static struct spwd resbuf; - static int max_size = 0; - static char *buffer = NULL; struct spwd *result; - int len; + int save; - len = strlen (string) + 1; - if (len > max_size) + /* Get lock. */ + __libc_lock_lock (lock); + + /* Allocate buffer if not yet available. */ + if (buffer == NULL) { - max_size = MAX (128, len + 32); - buffer = realloc (buffer, max_size); - if (buffer == NULL) - return NULL; + buffer_size = BUFLEN_SPWD; + buffer = malloc (buffer_size); } - return __sgetspent_r (string, &resbuf, buffer, max_size, &result) - ? NULL : result; + while (buffer != NULL + && __sgetspent_r (string, &resbuf, buffer, buffer_size, &result) != 0 + && errno == ERANGE) + { + char *new_buf; + buffer_size += BUFLEN_SPWD; + new_buf = realloc (buffer, buffer_size); + if (new_buf == NULL) + { + /* We are out of memory. Free the current buffer so that the + process gets a chance for a normal termination. */ + save = errno; + free (buffer); + __set_errno (save); + } + buffer = new_buf; + } + + if (buffer == NULL) + result = NULL; + + /* Release lock. Preserve error value. */ + save = errno; + __libc_lock_unlock (lock); + __set_errno (save); + + return result; } diff -durpN glibc-2.0.2/shadow/sgetspent_r.c glibc-2.0.3/shadow/sgetspent_r.c --- glibc-2.0.2/shadow/sgetspent_r.c Tue Feb 25 22:30:27 1997 +++ glibc-2.0.3/shadow/sgetspent_r.c Fri Apr 4 15:01:59 1997 @@ -90,8 +90,9 @@ int __sgetspent_r (const char *string, struct spwd *resbuf, char *buffer, size_t buflen, struct spwd **result) { - *result = parse_line (strncpy (buffer, string, buflen), resbuf, NULL, 0) - ? resbuf : NULL; + int parse_result = parse_line (strncpy (buffer, string, buflen), + resbuf, NULL, 0); + *result = parse_result > 0 ? resbuf : NULL; return *result == NULL ? errno : 0; } diff -durpN glibc-2.0.2/signal/Makefile glibc-2.0.3/signal/Makefile --- glibc-2.0.2/signal/Makefile Mon Jan 6 17:05:47 1997 +++ glibc-2.0.3/signal/Makefile Fri Apr 4 10:31:33 1997 @@ -30,7 +30,8 @@ routines := signal raise killpg \ sigstack sigaltstack sigintr \ sigsetops sigempty sigfillset sigaddset sigdelset sigismem \ sigreturn \ - siggetmask sysv_signal + siggetmask sysv_signal \ + sigisempty sigandset sigorset tests := tst-signal diff -durpN glibc-2.0.2/signal/sigandset.c glibc-2.0.3/signal/sigandset.c --- glibc-2.0.2/signal/sigandset.c Wed Dec 31 19:00:00 1969 +++ glibc-2.0.3/signal/sigandset.c Fri Apr 4 10:31:04 1997 @@ -0,0 +1,36 @@ +/* Copyright (C) 1991, 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 + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include +#include + +/* Combine sets LEFT and RIGHT by logical AND and place result in DEST. */ +int +sigandset (dest, left, right) + sigset_t *dest; + const sigset_t *left; + const sigset_t *right; +{ + if (dest == NULL || left == NULL || right == NULL) + { + __set_errno (EINVAL); + return -1; + } + + return __sigandset (dest, left, right); +} diff -durpN glibc-2.0.2/signal/sigisempty.c glibc-2.0.3/signal/sigisempty.c --- glibc-2.0.2/signal/sigisempty.c Wed Dec 31 19:00:00 1969 +++ glibc-2.0.3/signal/sigisempty.c Fri Apr 4 10:30:59 1997 @@ -0,0 +1,34 @@ +/* Copyright (C) 1991, 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 + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include +#include + +/* Test whether SET is empty. */ +int +sigisemptyset (set) + const sigset_t *set; +{ + if (set == NULL) + { + __set_errno (EINVAL); + return -1; + } + + return __sigisemptyset (set); +} diff -durpN glibc-2.0.2/signal/signal.h glibc-2.0.3/signal/signal.h --- glibc-2.0.2/signal/signal.h Tue Jan 7 18:29:25 1997 +++ glibc-2.0.3/signal/signal.h Fri Apr 4 10:32:13 1997 @@ -183,6 +183,19 @@ extern int sigdelset __P ((sigset_t *__s /* Return 1 if SIGNO is in SET, 0 if not. */ extern int sigismember __P ((__const sigset_t *__set, int __signo)); +#ifdef __USE_GNU +/* Return non-empty value is SET is not empty. */ +extern int sigisemptyset __P ((__const sigset_t *__set)); + +/* Build new signal set by combining the two inputs set using logical AND. */ +extern int sigandset __P ((sigset_t *__set, __const sigset_t *__left, + __const sigset_t *__right)); + +/* Build new signal set by combining the two inputs set using logical OR. */ +extern int sigorset __P ((sigset_t *__set, __const sigset_t *__left, + __const sigset_t *__right)); +#endif /* GNU */ + /* Get the system-specific definitions of `struct sigaction' and the `SA_*' and `SIG_*'. constants. */ #include diff -durpN glibc-2.0.2/signal/sigorset.c glibc-2.0.3/signal/sigorset.c --- glibc-2.0.2/signal/sigorset.c Wed Dec 31 19:00:00 1969 +++ glibc-2.0.3/signal/sigorset.c Fri Apr 4 10:31:07 1997 @@ -0,0 +1,36 @@ +/* Copyright (C) 1991, 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 + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include +#include + +/* Combine sets LEFT and RIGHT by logical OR and place result in DEST. */ +int +sigorset (dest, left, right) + sigset_t *dest; + const sigset_t *left; + const sigset_t *right; +{ + if (dest == NULL || left == NULL || right == NULL) + { + __set_errno (EINVAL); + return -1; + } + + return __sigorset (dest, left, right); +} diff -durpN glibc-2.0.2/stdio-common/bug5.c glibc-2.0.3/stdio-common/bug5.c --- glibc-2.0.2/stdio-common/bug5.c Wed Oct 30 21:54:26 1996 +++ glibc-2.0.3/stdio-common/bug5.c Fri Apr 4 10:42:01 1997 @@ -56,6 +56,10 @@ main (void) puts ("There should be no further output from this test."); fflush (stdout); + /* We must remove this entry to assure the `cmp' binary does not use + the perhaps incompatible new shared libraries. */ + unsetenv ("LD_LIBRARY_PATH"); + asprintf (&printbuf, "cmp %s %s", inname, outname); result = system (printbuf); remove (inname); diff -durpN glibc-2.0.2/stdio-common/printf-parse.h glibc-2.0.3/stdio-common/printf-parse.h --- glibc-2.0.2/stdio-common/printf-parse.h Sat Dec 21 19:32:14 1996 +++ glibc-2.0.3/stdio-common/printf-parse.h Sun Mar 23 10:37:42 1997 @@ -1,5 +1,5 @@ /* Internal header for parsing printf format strings. - Copyright (C) 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of th GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -106,8 +106,9 @@ find_spec (const char *format, mbstate_t } -/* This is defined in reg-printf.c. */ -extern printf_arginfo_function **__printf_arginfo_table; +/* These are defined in reg-printf.c. */ +extern printf_arginfo_function *__printf_arginfo_table[]; +extern printf_function **__printf_function_table; /* FORMAT must point to a '%' at the beginning of a spec. Fills in *SPEC @@ -299,8 +300,9 @@ parse_one_spec (const UCHAR_T *format, s /* Get the format specification. */ spec->info.spec = (wchar_t) *format++; - if (__printf_arginfo_table != NULL && - __printf_arginfo_table[spec->info.spec] != NULL) + if (__printf_function_table != NULL + && spec->info.spec <= UCHAR_MAX + && __printf_arginfo_table[spec->info.spec] != NULL) /* We don't try to get the types for all arguments if the format uses more than one. The normal case is covered though. */ spec->ndata_args = (*__printf_arginfo_table[spec->info.spec]) @@ -362,15 +364,14 @@ parse_one_spec (const UCHAR_T *format, s spec->ndata_args = 0; break; } + } - if (spec->data_arg == -1 && spec->ndata_args > 0) - { - /* There are args consumed, but no positional spec. - Use the next sequential arg position. */ - spec->data_arg = posn; - posn += spec->ndata_args; - nargs += spec->ndata_args; - } + if (spec->data_arg == -1 && spec->ndata_args > 0) + { + /* There are args consumed, but no positional spec. Use the + next sequential arg position. */ + spec->data_arg = posn; + nargs += spec->ndata_args; } if (spec->info.spec == L'\0') diff -durpN glibc-2.0.2/stdio-common/printf.h glibc-2.0.3/stdio-common/printf.h --- glibc-2.0.2/stdio-common/printf.h Thu Nov 14 22:54:10 1996 +++ glibc-2.0.3/stdio-common/printf.h Sun Mar 23 10:37:32 1997 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 95, 96 Free Software Foundation, Inc. +/* Copyright (C) 1991, 92, 93, 95, 96, 97 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 @@ -120,6 +120,21 @@ enum #define PA_FLAG_LONG (1 << 9) #define PA_FLAG_SHORT (1 << 10) #define PA_FLAG_PTR (1 << 11) + + + +/* Function which can be registered as `printf'-handlers. */ + +/* Print floating point value using using abbreviations for the orders + of magnitude used for numbers ('k' for kilo, 'm' for mega etc). If + the format specifier is a uppercase character powers of 1000 are + used. Otherwise powers of 1024. */ +extern int printf_size __P ((FILE *__fp, __const struct printf_info *__info, + __const void *__const *args)); + +/* This is the appropriate argument information function for `printf_size'. */ +extern int printf_size_info __P ((__const struct printf_info *__info, + size_t __n, int *__argtypes)); __END_DECLS diff -durpN glibc-2.0.2/stdio-common/test-popen.c glibc-2.0.3/stdio-common/test-popen.c --- glibc-2.0.2/stdio-common/test-popen.c Thu Sep 19 21:55:50 1996 +++ glibc-2.0.3/stdio-common/test-popen.c Fri Apr 4 10:42:22 1997 @@ -1,9 +1,27 @@ -#include +/* Copyright (C) 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 + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + + #include #include void -DEFUN(write_data, (stream), FILE *stream) +write_data (FILE *stream) { int i; for (i=0; i<100; i++) @@ -15,7 +33,7 @@ DEFUN(write_data, (stream), FILE *stream } void -DEFUN(read_data, (stream), FILE *stream) +read_data (FILE *stream) { int i, j; @@ -32,10 +50,14 @@ DEFUN(read_data, (stream), FILE *stream) } int -DEFUN_VOID(main) +main (void) { FILE *output, *input; int wstatus, rstatus; + + /* We must remove this entry to assure the `cat' binary does not use + the perhaps incompatible new shared libraries. */ + unsetenv ("LD_LIBRARY_PATH"); output = popen ("/bin/cat >/tmp/tstpopen.tmp", "w"); if (output == NULL) diff -durpN glibc-2.0.2/stdio-common/vfprintf.c glibc-2.0.3/stdio-common/vfprintf.c --- glibc-2.0.2/stdio-common/vfprintf.c Tue Feb 25 20:05:35 1997 +++ glibc-2.0.3/stdio-common/vfprintf.c Sun Mar 23 13:31:44 1997 @@ -1084,6 +1084,9 @@ vfprintf (FILE *s, const CHAR_T *format, goto do_positional; } + /* The format is correctly handled. */ + ++nspecs_done; + /* Look for next format specifier. */ f = find_spec ((end_of_spec = ++f), &mbstate); diff -durpN glibc-2.0.2/stdlib/erand48_r.c glibc-2.0.3/stdlib/erand48_r.c --- glibc-2.0.2/stdlib/erand48_r.c Sat Mar 16 20:59:42 1996 +++ glibc-2.0.3/stdlib/erand48_r.c Mon Apr 21 10:24:34 1997 @@ -1,22 +1,23 @@ -/* Copyright (C) 1995 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper , August 1995. +/* Copyright (C) 1995, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , August 1995. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ +#include #include #include @@ -27,6 +28,8 @@ erand48_r (xsubi, buffer, result) struct drand48_data *buffer; double *result; { + union ieee754_double temp; + /* Compute next state. */ if (__drand48_iterate (xsubi, buffer) < 0) return -1; @@ -35,9 +38,12 @@ erand48_r (xsubi, buffer, result) its fractional part so the resulting FP number is [0.0,1.0). */ #if USHRT_MAX == 65535 - *result = ((double) xsubi[2] / (1ULL << 48) + - (double) xsubi[1] / (1ULL << 32) + - (double) xsubi[0] / (1ULL << 16)); + temp.ieee.negative = 0; + temp.ieee.exponent = IEEE754_DOUBLE_BIAS - 1; + temp.ieee.mantissa0 = (xsubi[2] << 4) | (xsubi[1] >> 12); + temp.ieee.mantissa1 = ((xsubi[1] & 0xfff) << 20) | (xsubi[0] << 4); + /* Please note the lower 4 bits of mantissa1 are always 0. */ + *result = temp.d; #else # error Unsupported size of short int #endif diff -durpN glibc-2.0.2/stdlib/seed48_r.c glibc-2.0.3/stdlib/seed48_r.c --- glibc-2.0.2/stdlib/seed48_r.c Sun Feb 9 22:19:02 1997 +++ glibc-2.0.3/stdlib/seed48_r.c Mon Apr 21 10:25:37 1997 @@ -29,7 +29,25 @@ seed48_r (seed16v, buffer) memcpy (buffer->old_X, buffer->X, sizeof (buffer->X)); /* Install new state. */ - memcpy (buffer->X, seed16v, sizeof (buffer->X)); +#if USHRT_MAX == 0xffffU + buffer->X[2] = seed16v[2]; + buffer->X[1] = seed16v[1]; + buffer->X[0] = seed16v[0]; + + buffer->a[2] = 0x5; + buffer->a[1] = 0xdeec; + buffer->a[0] = 0xe66d; +#else + buffer->X[2] = (seed16v[2] << 16) | seed16v[1]; + buffer->X[1] = seed16v[0] << 16; + buffer->X[0] = 0; + + buffer->a[2] = 0x5deecUL; + buffer->a[1] = 0xe66d0000UL; + buffer->a[0] = 0; +#endif + buffer->c = 0xb; + buffer->init = 1; return 0; } diff -durpN glibc-2.0.2/stdlib/srand48_r.c glibc-2.0.3/stdlib/srand48_r.c --- glibc-2.0.2/stdlib/srand48_r.c Sun Feb 9 22:19:03 1997 +++ glibc-2.0.3/stdlib/srand48_r.c Mon Apr 21 10:25:53 1997 @@ -22,22 +22,32 @@ int srand48_r (seedval, buffer) - long seedval; + long int seedval; struct drand48_data *buffer; { /* The standards say we only have 32 bits. */ - if (sizeof (long) > 4) + if (sizeof (long int) > 4) seedval &= 0xffffffffl; -#if (USHRT_MAX == 0xffffU) +#if USHRT_MAX == 0xffffU buffer->X[2] = seedval >> 16; buffer->X[1] = seedval & 0xffffl; buffer->X[0] = 0x330e; + + buffer->a[2] = 0x5; + buffer->a[1] = 0xdeec; + buffer->a[0] = 0xe66d; #else buffer->X[2] = seedval; buffer->X[1] = 0x330e0000UL; buffer->X[0] = 0; + + buffer->a[2] = 0x5deecUL; + buffer->a[1] = 0xe66d0000UL; + buffer->a[0] = 0; #endif + buffer->c = 0xb; + buffer->init = 1; return 0; } diff -durpN glibc-2.0.2/stdlib/stdlib.h glibc-2.0.3/stdlib/stdlib.h --- glibc-2.0.2/stdlib/stdlib.h Sun Feb 9 22:19:04 1997 +++ glibc-2.0.3/stdlib/stdlib.h Mon Apr 21 10:24:36 1997 @@ -416,6 +416,7 @@ extern void unsetenv __P ((__const char /* The `clearenv' was planned to be added to POSIX.1 but probably never made it. Nevertheless the POSIX.9 standard (POSIX bindings for Fortran 77) requires this function. */ +extern int __clearenv __P ((void)); extern int clearenv __P ((void)); #endif diff -durpN glibc-2.0.2/stdlib/tst-strtol.c glibc-2.0.3/stdlib/tst-strtol.c --- glibc-2.0.2/stdlib/tst-strtol.c Fri Mar 21 00:08:46 1997 +++ glibc-2.0.3/stdlib/tst-strtol.c Thu Apr 17 16:05:41 1997 @@ -66,7 +66,7 @@ static const struct ltest tests[] = { "0xffffffffffffffffg", 0xffffffffffffffff, 0, 'g', 0 }, { "0xf1f2f3f4f5f6f7f8f9", 0xffffffffffffffff, 0, 0, ERANGE }, { "-0x123456789abcdef01", 0xffffffffffffffff, 0, 0, ERANGE }, - { "-0xfedcba987654321", 0x0123456789abcdf, 0, 0, 0 }, + { "-0xfedcba987654321", 0xf0123456789abcdf, 0, 0, 0 }, { NULL, 0, 0, 0, 0 }, #endif }; diff -durpN glibc-2.0.2/string/swab.c glibc-2.0.3/string/swab.c --- glibc-2.0.2/string/swab.c Tue Nov 5 23:23:43 1996 +++ glibc-2.0.3/string/swab.c Thu Apr 17 16:42:04 1997 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1992, 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 @@ -21,6 +21,7 @@ void swab (const char *from, char *to, ssize_t n) { + n &= ~((ssize_t) 1); while (n > 1) { const char b0 = from[--n], b1 = from[--n]; diff -durpN glibc-2.0.2/sysdeps/generic/Dist glibc-2.0.3/sysdeps/generic/Dist --- glibc-2.0.2/sysdeps/generic/Dist Fri Aug 7 17:43:59 1992 +++ glibc-2.0.3/sysdeps/generic/Dist Mon Apr 14 07:19:28 1997 @@ -1,8 +1,2 @@ make_siglist.c signame.c signame.h det_endian.c -mathimpl.h -trig.h -sincos.c -asincos.c -exp__E.c -log__L.c diff -durpN glibc-2.0.2/sysdeps/generic/asincos.c glibc-2.0.3/sysdeps/generic/asincos.c --- glibc-2.0.2/sysdeps/generic/asincos.c Sun Jul 31 15:27:50 1994 +++ glibc-2.0.3/sysdeps/generic/asincos.c Wed Dec 31 19:00:00 1969 @@ -1,169 +0,0 @@ -/* - * Copyright (c) 1985, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char sccsid[] = "@(#)asincos.c 8.1 (Berkeley) 6/4/93"; -#endif /* not lint */ - -/* ASIN(X) - * RETURNS ARC SINE OF X - * DOUBLE PRECISION (IEEE DOUBLE 53 bits, VAX D FORMAT 56 bits) - * CODED IN C BY K.C. NG, 4/16/85, REVISED ON 6/10/85. - * - * Required system supported functions: - * copysign(x,y) - * sqrt(x) - * - * Required kernel function: - * atan2(y,x) - * - * Method : - * asin(x) = atan2(x,sqrt(1-x*x)); for better accuracy, 1-x*x is - * computed as follows - * 1-x*x if x < 0.5, - * 2*(1-|x|)-(1-|x|)*(1-|x|) if x >= 0.5. - * - * Special cases: - * if x is NaN, return x itself; - * if |x|>1, return NaN. - * - * Accuracy: - * 1) If atan2() uses machine PI, then - * - * asin(x) returns (PI/pi) * (the exact arc sine of x) nearly rounded; - * and PI is the exact pi rounded to machine precision (see atan2 for - * details): - * - * in decimal: - * pi = 3.141592653589793 23846264338327 ..... - * 53 bits PI = 3.141592653589793 115997963 ..... , - * 56 bits PI = 3.141592653589793 227020265 ..... , - * - * in hexadecimal: - * pi = 3.243F6A8885A308D313198A2E.... - * 53 bits PI = 3.243F6A8885A30 = 2 * 1.921FB54442D18 error=.276ulps - * 56 bits PI = 3.243F6A8885A308 = 4 * .C90FDAA22168C2 error=.206ulps - * - * In a test run with more than 200,000 random arguments on a VAX, the - * maximum observed error in ulps (units in the last place) was - * 2.06 ulps. (comparing against (PI/pi)*(exact asin(x))); - * - * 2) If atan2() uses true pi, then - * - * asin(x) returns the exact asin(x) with error below about 2 ulps. - * - * In a test run with more than 1,024,000 random arguments on a VAX, the - * maximum observed error in ulps (units in the last place) was - * 1.99 ulps. - */ - -double asin(x) -double x; -{ - double s,t,copysign(),atan2(),sqrt(),one=1.0; -#if !defined(vax)&&!defined(tahoe) - if(x!=x) return(x); /* x is NaN */ -#endif /* !defined(vax)&&!defined(tahoe) */ - s=copysign(x,one); - if(s <= 0.5) - return(atan2(x,sqrt(one-x*x))); - else - { t=one-s; s=t+t; return(atan2(x,sqrt(s-t*t))); } - -} - -/* ACOS(X) - * RETURNS ARC COS OF X - * DOUBLE PRECISION (IEEE DOUBLE 53 bits, VAX D FORMAT 56 bits) - * CODED IN C BY K.C. NG, 4/16/85, REVISED ON 6/10/85. - * - * Required system supported functions: - * copysign(x,y) - * sqrt(x) - * - * Required kernel function: - * atan2(y,x) - * - * Method : - * ________ - * / 1 - x - * acos(x) = 2*atan2( / -------- , 1 ) . - * \/ 1 + x - * - * Special cases: - * if x is NaN, return x itself; - * if |x|>1, return NaN. - * - * Accuracy: - * 1) If atan2() uses machine PI, then - * - * acos(x) returns (PI/pi) * (the exact arc cosine of x) nearly rounded; - * and PI is the exact pi rounded to machine precision (see atan2 for - * details): - * - * in decimal: - * pi = 3.141592653589793 23846264338327 ..... - * 53 bits PI = 3.141592653589793 115997963 ..... , - * 56 bits PI = 3.141592653589793 227020265 ..... , - * - * in hexadecimal: - * pi = 3.243F6A8885A308D313198A2E.... - * 53 bits PI = 3.243F6A8885A30 = 2 * 1.921FB54442D18 error=.276ulps - * 56 bits PI = 3.243F6A8885A308 = 4 * .C90FDAA22168C2 error=.206ulps - * - * In a test run with more than 200,000 random arguments on a VAX, the - * maximum observed error in ulps (units in the last place) was - * 2.07 ulps. (comparing against (PI/pi)*(exact acos(x))); - * - * 2) If atan2() uses true pi, then - * - * acos(x) returns the exact acos(x) with error below about 2 ulps. - * - * In a test run with more than 1,024,000 random arguments on a VAX, the - * maximum observed error in ulps (units in the last place) was - * 2.15 ulps. - */ - -double acos(x) -double x; -{ - double t,copysign(),atan2(),sqrt(),one=1.0; -#if !defined(vax)&&!defined(tahoe) - if(x!=x) return(x); -#endif /* !defined(vax)&&!defined(tahoe) */ - if( x != -1.0) - t=atan2(sqrt((one-x)/(one+x)),one); - else - t=atan2(one,0.0); /* t = PI/2 */ - return(t+t); -} diff -durpN glibc-2.0.2/sysdeps/generic/exp__E.c glibc-2.0.3/sysdeps/generic/exp__E.c --- glibc-2.0.2/sysdeps/generic/exp__E.c Sun Jul 31 15:33:18 1994 +++ glibc-2.0.3/sysdeps/generic/exp__E.c Wed Dec 31 19:00:00 1969 @@ -1,136 +0,0 @@ -/* - * Copyright (c) 1985, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char sccsid[] = "@(#)exp__E.c 8.1 (Berkeley) 6/4/93"; -#endif /* not lint */ - -/* exp__E(x,c) - * ASSUMPTION: c << x SO THAT fl(x+c)=x. - * (c is the correction term for x) - * exp__E RETURNS - * - * / exp(x+c) - 1 - x , 1E-19 < |x| < .3465736 - * exp__E(x,c) = | - * \ 0 , |x| < 1E-19. - * - * DOUBLE PRECISION (IEEE 53 bits, VAX D FORMAT 56 BITS) - * KERNEL FUNCTION OF EXP, EXPM1, POW FUNCTIONS - * CODED IN C BY K.C. NG, 1/31/85; - * REVISED BY K.C. NG on 3/16/85, 4/16/85. - * - * Required system supported function: - * copysign(x,y) - * - * Method: - * 1. Rational approximation. Let r=x+c. - * Based on - * 2 * sinh(r/2) - * exp(r) - 1 = ---------------------- , - * cosh(r/2) - sinh(r/2) - * exp__E(r) is computed using - * x*x (x/2)*W - ( Q - ( 2*P + x*P ) ) - * --- + (c + x*[---------------------------------- + c ]) - * 2 1 - W - * where P := p1*x^2 + p2*x^4, - * Q := q1*x^2 + q2*x^4 (for 56 bits precision, add q3*x^6) - * W := x/2-(Q-x*P), - * - * (See the listing below for the values of p1,p2,q1,q2,q3. The poly- - * nomials P and Q may be regarded as the approximations to sinh - * and cosh : - * sinh(r/2) = r/2 + r * P , cosh(r/2) = 1 + Q . ) - * - * The coefficients were obtained by a special Remez algorithm. - * - * Approximation error: - * - * | exp(x) - 1 | 2**(-57), (IEEE double) - * | ------------ - (exp__E(x,0)+x)/x | <= - * | x | 2**(-69). (VAX D) - * - * Constants: - * The hexadecimal values are the intended ones for the following constants. - * The decimal values may be used, provided that the compiler will convert - * from decimal to binary accurately enough to produce the hexadecimal values - * shown. - */ - -#include "mathimpl.h" - -vc(p1, 1.5150724356786683059E-2 ,3abe,3d78,066a,67e1, -6, .F83ABE67E1066A) -vc(p2, 6.3112487873718332688E-5 ,5b42,3984,0173,48cd, -13, .845B4248CD0173) -vc(q1, 1.1363478204690669916E-1 ,b95a,3ee8,ec45,44a2, -3, .E8B95A44A2EC45) -vc(q2, 1.2624568129896839182E-3 ,7905,3ba5,f5e7,72e4, -9, .A5790572E4F5E7) -vc(q3, 1.5021856115869022674E-6 ,9eb4,36c9,c395,604a, -19, .C99EB4604AC395) - -ic(p1, 1.3887401997267371720E-2, -7, 1.C70FF8B3CC2CF) -ic(p2, 3.3044019718331897649E-5, -15, 1.15317DF4526C4) -ic(q1, 1.1110813732786649355E-1, -4, 1.C719538248597) -ic(q2, 9.9176615021572857300E-4, -10, 1.03FC4CB8C98E8) - -#ifdef vccast -#define p1 vccast(p1) -#define p2 vccast(p2) -#define q1 vccast(q1) -#define q2 vccast(q2) -#define q3 vccast(q3) -#endif - -double __exp__E(x,c) -double x,c; -{ - const static double zero=0.0, one=1.0, half=1.0/2.0, small=1.0E-19; - double z,p,q,xp,xh,w; - if(copysign(x,one)>small) { - z = x*x ; - p = z*( p1 +z* p2 ); -#if defined(vax)||defined(tahoe) - q = z*( q1 +z*( q2 +z* q3 )); -#else /* defined(vax)||defined(tahoe) */ - q = z*( q1 +z* q2 ); -#endif /* defined(vax)||defined(tahoe) */ - xp= x*p ; - xh= x*half ; - w = xh-(q-xp) ; - p = p+p; - c += x*((xh*w-(q-(p+xp)))/(one-w)+c); - return(z*half+c); - } - /* end of |x| > small */ - - else { - if(x!=zero) one+small; /* raise the inexact flag */ - return(copysign(zero,x)); - } -} diff -durpN glibc-2.0.2/sysdeps/generic/log__L.c glibc-2.0.3/sysdeps/generic/log__L.c --- glibc-2.0.2/sysdeps/generic/log__L.c Sun Jul 31 15:37:43 1994 +++ glibc-2.0.3/sysdeps/generic/log__L.c Wed Dec 31 19:00:00 1969 @@ -1,110 +0,0 @@ -/* - * Copyright (c) 1985, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char sccsid[] = "@(#)log__L.c 8.1 (Berkeley) 6/4/93"; -#endif /* not lint */ - -/* log__L(Z) - * LOG(1+X) - 2S X - * RETURN --------------- WHERE Z = S*S, S = ------- , 0 <= Z <= .0294... - * S 2 + X - * - * DOUBLE PRECISION (VAX D FORMAT 56 bits or IEEE DOUBLE 53 BITS) - * KERNEL FUNCTION FOR LOG; TO BE USED IN LOG1P, LOG, AND POW FUNCTIONS - * CODED IN C BY K.C. NG, 1/19/85; - * REVISED BY K.C. Ng, 2/3/85, 4/16/85. - * - * Method : - * 1. Polynomial approximation: let s = x/(2+x). - * Based on log(1+x) = log(1+s) - log(1-s) - * = 2s + 2/3 s**3 + 2/5 s**5 + ....., - * - * (log(1+x) - 2s)/s is computed by - * - * z*(L1 + z*(L2 + z*(... (L7 + z*L8)...))) - * - * where z=s*s. (See the listing below for Lk's values.) The - * coefficients are obtained by a special Remez algorithm. - * - * Accuracy: - * Assuming no rounding error, the maximum magnitude of the approximation - * error (absolute) is 2**(-58.49) for IEEE double, and 2**(-63.63) - * for VAX D format. - * - * Constants: - * The hexadecimal values are the intended ones for the following constants. - * The decimal values may be used, provided that the compiler will convert - * from decimal to binary accurately enough to produce the hexadecimal values - * shown. - */ - -#include "mathimpl.h" - -vc(L1, 6.6666666666666703212E-1 ,aaaa,402a,aac5,aaaa, 0, .AAAAAAAAAAAAC5) -vc(L2, 3.9999999999970461961E-1 ,cccc,3fcc,2684,cccc, -1, .CCCCCCCCCC2684) -vc(L3, 2.8571428579395698188E-1 ,4924,3f92,5782,92f8, -1, .92492492F85782) -vc(L4, 2.2222221233634724402E-1 ,8e38,3f63,af2c,39b7, -2, .E38E3839B7AF2C) -vc(L5, 1.8181879517064680057E-1 ,2eb4,3f3a,655e,cc39, -2, .BA2EB4CC39655E) -vc(L6, 1.5382888777946145467E-1 ,8551,3f1d,781d,e8c5, -2, .9D8551E8C5781D) -vc(L7, 1.3338356561139403517E-1 ,95b3,3f08,cd92,907f, -2, .8895B3907FCD92) -vc(L8, 1.2500000000000000000E-1 ,0000,3f00,0000,0000, -2, .80000000000000) - -ic(L1, 6.6666666666667340202E-1, -1, 1.5555555555592) -ic(L2, 3.9999999999416702146E-1, -2, 1.999999997FF24) -ic(L3, 2.8571428742008753154E-1, -2, 1.24924941E07B4) -ic(L4, 2.2222198607186277597E-1, -3, 1.C71C52150BEA6) -ic(L5, 1.8183562745289935658E-1, -3, 1.74663CC94342F) -ic(L6, 1.5314087275331442206E-1, -3, 1.39A1EC014045B) -ic(L7, 1.4795612545334174692E-1, -3, 1.2F039F0085122) - -#ifdef vccast -#define L1 vccast(L1) -#define L2 vccast(L2) -#define L3 vccast(L3) -#define L4 vccast(L4) -#define L5 vccast(L5) -#define L6 vccast(L6) -#define L7 vccast(L7) -#define L8 vccast(L8) -#endif - -double __log__L(z) -double z; -{ -#if defined(vax)||defined(tahoe) - return(z*(L1+z*(L2+z*(L3+z*(L4+z*(L5+z*(L6+z*(L7+z*L8)))))))); -#else /* defined(vax)||defined(tahoe) */ - return(z*(L1+z*(L2+z*(L3+z*(L4+z*(L5+z*(L6+z*L7))))))); -#endif /* defined(vax)||defined(tahoe) */ -} diff -durpN glibc-2.0.2/sysdeps/generic/mathimpl.h glibc-2.0.3/sysdeps/generic/mathimpl.h --- glibc-2.0.2/sysdeps/generic/mathimpl.h Sun Jul 31 15:40:22 1994 +++ glibc-2.0.3/sysdeps/generic/mathimpl.h Wed Dec 31 19:00:00 1969 @@ -1,127 +0,0 @@ -/* This part here added by roland@prep.ai.mit.edu for the GNU C library. */ - -#include /* Done first so we can #undef. */ -#include -#if __BYTE_ORDER == __LITTLE_ENDIAN -#undef national -#define national -#endif - -#undef isinf -#define isinf __isinf -#undef isnan -#define isnan __isnan -#undef infnan -#define infnan __infnan -#undef copysign -#define copysign __copysign -#undef scalb -#define scalb __scalb -#undef drem -#define drem __drem -#undef logb -#define logb __logb -#undef __finite -#undef finite -#define finite __finite -#undef expm1 -#define expm1 __expm1 - -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)mathimpl.h 8.1 (Berkeley) 6/4/93 - */ - -#include -#include - -#if defined(vax)||defined(tahoe) - -/* Deal with different ways to concatenate in cpp */ -# ifdef __STDC__ -# define cat3(a,b,c) a ## b ## c -# else -# define cat3(a,b,c) a/**/b/**/c -# endif - -/* Deal with vax/tahoe byte order issues */ -# ifdef vax -# define cat3t(a,b,c) cat3(a,b,c) -# else -# define cat3t(a,b,c) cat3(a,c,b) -# endif - -# define vccast(name) (*(const double *)(cat3(name,,x))) - - /* - * Define a constant to high precision on a Vax or Tahoe. - * - * Args are the name to define, the decimal floating point value, - * four 16-bit chunks of the float value in hex - * (because the vax and tahoe differ in float format!), the power - * of 2 of the hex-float exponent, and the hex-float mantissa. - * Most of these arguments are not used at compile time; they are - * used in a post-check to make sure the constants were compiled - * correctly. - * - * People who want to use the constant will have to do their own - * #define foo vccast(foo) - * since CPP cannot do this for them from inside another macro (sigh). - * We define "vccast" if this needs doing. - */ -# define vc(name, value, x1,x2,x3,x4, bexp, xval) \ - const static long cat3(name,,x)[] = {cat3t(0x,x1,x2), cat3t(0x,x3,x4)}; - -# define ic(name, value, bexp, xval) ; - -#else /* vax or tahoe */ - - /* Hooray, we have an IEEE machine */ -# undef vccast -# define vc(name, value, x1,x2,x3,x4, bexp, xval) ; - -# define ic(name, value, bexp, xval) \ - const static double name = value; - -#endif /* defined(vax)||defined(tahoe) */ - - -/* - * Functions internal to the math package, yet not static. - */ -extern double __exp__E(); -extern double __log__L(); - -struct Double {double a, b;}; -double __exp__D __P((double, double)); -struct Double __log__D __P((double)); diff -durpN glibc-2.0.2/sysdeps/generic/setenv.c glibc-2.0.3/sysdeps/generic/setenv.c --- glibc-2.0.2/sysdeps/generic/setenv.c Mon Mar 17 23:13:45 1997 +++ glibc-2.0.3/sysdeps/generic/setenv.c Thu Apr 17 16:04:44 1997 @@ -56,6 +56,12 @@ __libc_lock_define_initialized (static, # define UNLOCK #endif +/* In the GNU C library we must keep the namespace clean. */ +#ifdef _LIBC +# define clearenv __clearenv +#endif + + /* If this variable is not a null pointer we allocated the current environment. */ static char **last_environ; @@ -188,3 +194,7 @@ clearenv () return 0; } +#ifdef _LIBC +# undef clearenv +weak_alias (__clearenv, clearenv) +#endif diff -durpN glibc-2.0.2/sysdeps/generic/sigset.h glibc-2.0.3/sysdeps/generic/sigset.h --- glibc-2.0.2/sysdeps/generic/sigset.h Tue Nov 19 22:44:39 1996 +++ glibc-2.0.3/sysdeps/generic/sigset.h Fri Apr 4 10:33:42 1997 @@ -1,5 +1,5 @@ /* __sig_atomic_t, __sigset_t, and related definitions. Generic/BSD version. - Copyright (C) 1991, 1992, 1994, 1996 Free Software Foundation, Inc. + Copyright (C) 1991, 1992, 1994, 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 @@ -47,6 +47,14 @@ typedef unsigned long int __sigset_t; #define __sigemptyset(set) ((*(set) = (__sigset_t) 0), 0) #define __sigfillset(set) ((*(set) = ~(__sigset_t) 0), 0) + +#ifdef _GNU_SOURCE +# define __sigisemptyset(set) (*(set) == (__sigset_t) 0) +# define __sigandset(dest, left, right) \ + ((*(set) = (*(left) & *(right))), 0) +# define __sigorset(dest, left, right) \ + ((*(set) = (*(left) | *(right))), 0) +#endif /* These functions needn't check for a bogus signal number -- error checking is done in the non __ versions. */ diff -durpN glibc-2.0.2/sysdeps/generic/sincos.c glibc-2.0.3/sysdeps/generic/sincos.c --- glibc-2.0.2/sysdeps/generic/sincos.c Sun Jul 31 15:43:26 1994 +++ glibc-2.0.3/sysdeps/generic/sincos.c Wed Dec 31 19:00:00 1969 @@ -1,98 +0,0 @@ -/* - * Copyright (c) 1987, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char sccsid[] = "@(#)sincos.c 8.1 (Berkeley) 6/4/93"; -#endif /* not lint */ - -#include "trig.h" -double -sin(x) -double x; -{ - double a,c,z; - - if(!finite(x)) /* sin(NaN) and sin(INF) must be NaN */ - return x-x; - x=drem(x,PI2); /* reduce x into [-PI,PI] */ - a=copysign(x,one); - if (a >= PIo4) { - if(a >= PI3o4) /* ... in [3PI/4,PI] */ - x = copysign((a = PI-a),x); - else { /* ... in [PI/4,3PI/4] */ - a = PIo2-a; /* rtn. sign(x)*C(PI/2-|x|) */ - z = a*a; - c = cos__C(z); - z *= half; - a = (z >= thresh ? half-((z-half)-c) : one-(z-c)); - return copysign(a,x); - } - } - - if (a < small) { /* rtn. S(x) */ - big+a; - return x; - } - return x+x*sin__S(x*x); -} - -double -cos(x) -double x; -{ - double a,c,z,s = 1.0; - - if(!finite(x)) /* cos(NaN) and cos(INF) must be NaN */ - return x-x; - x=drem(x,PI2); /* reduce x into [-PI,PI] */ - a=copysign(x,one); - if (a >= PIo4) { - if (a >= PI3o4) { /* ... in [3PI/4,PI] */ - a = PI-a; - s = negone; - } - else { /* ... in [PI/4,3PI/4] */ - a = PIo2-a; - return a+a*sin__S(a*a); /* rtn. S(PI/2-|x|) */ - } - } - if (a < small) { - big+a; - return s; /* rtn. s*C(a) */ - } - z = a*a; - c = cos__C(z); - z *= half; - a = (z >= thresh ? half-((z-half)-c) : one-(z-c)); - return copysign(a,s); -} diff -durpN glibc-2.0.2/sysdeps/generic/trig.h glibc-2.0.3/sysdeps/generic/trig.h --- glibc-2.0.2/sysdeps/generic/trig.h Sun Jul 31 15:46:25 1994 +++ glibc-2.0.3/sysdeps/generic/trig.h Wed Dec 31 19:00:00 1969 @@ -1,215 +0,0 @@ -/* - * Copyright (c) 1987, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)trig.h 8.1 (Berkeley) 6/4/93 - */ - -#include "mathimpl.h" - -vc(thresh, 2.6117239648121182150E-1 ,b863,3f85,6ea0,6b02, -1, .85B8636B026EA0) -vc(PIo4, 7.8539816339744830676E-1 ,0fda,4049,68c2,a221, 0, .C90FDAA22168C2) -vc(PIo2, 1.5707963267948966135E0 ,0fda,40c9,68c2,a221, 1, .C90FDAA22168C2) -vc(PI3o4, 2.3561944901923449203E0 ,cbe3,4116,0e92,f999, 2, .96CBE3F9990E92) -vc(PI, 3.1415926535897932270E0 ,0fda,4149,68c2,a221, 2, .C90FDAA22168C2) -vc(PI2, 6.2831853071795864540E0 ,0fda,41c9,68c2,a221, 3, .C90FDAA22168C2) - -ic(thresh, 2.6117239648121182150E-1 , -2, 1.0B70C6D604DD4) -ic(PIo4, 7.8539816339744827900E-1 , -1, 1.921FB54442D18) -ic(PIo2, 1.5707963267948965580E0 , 0, 1.921FB54442D18) -ic(PI3o4, 2.3561944901923448370E0 , 1, 1.2D97C7F3321D2) -ic(PI, 3.1415926535897931160E0 , 1, 1.921FB54442D18) -ic(PI2, 6.2831853071795862320E0 , 2, 1.921FB54442D18) - -#ifdef vccast -#define thresh vccast(thresh) -#define PIo4 vccast(PIo4) -#define PIo2 vccast(PIo2) -#define PI3o4 vccast(PI3o4) -#define PI vccast(PI) -#define PI2 vccast(PI2) -#endif - -#ifdef national -static long fmaxx[] = { 0xffffffff, 0x7fefffff}; -#define fmax (*(double*)fmaxx) -#endif /* national */ - -static const double - zero = 0, - one = 1, - negone = -1, - half = 1.0/2.0, - small = 1E-10, /* 1+small**2 == 1; better values for small: - * small = 1.5E-9 for VAX D - * = 1.2E-8 for IEEE Double - * = 2.8E-10 for IEEE Extended - */ - big = 1E20; /* big := 1/(small**2) */ - -/* sin__S(x*x) ... re-implemented as a macro - * DOUBLE PRECISION (VAX D format 56 bits, IEEE DOUBLE 53 BITS) - * STATIC KERNEL FUNCTION OF SIN(X), COS(X), AND TAN(X) - * CODED IN C BY K.C. NG, 1/21/85; - * REVISED BY K.C. NG on 8/13/85. - * - * sin(x*k) - x - * RETURN --------------- on [-PI/4,PI/4] , where k=pi/PI, PI is the rounded - * x - * value of pi in machine precision: - * - * Decimal: - * pi = 3.141592653589793 23846264338327 ..... - * 53 bits PI = 3.141592653589793 115997963 ..... , - * 56 bits PI = 3.141592653589793 227020265 ..... , - * - * Hexadecimal: - * pi = 3.243F6A8885A308D313198A2E.... - * 53 bits PI = 3.243F6A8885A30 = 2 * 1.921FB54442D18 - * 56 bits PI = 3.243F6A8885A308 = 4 * .C90FDAA22168C2 - * - * Method: - * 1. Let z=x*x. Create a polynomial approximation to - * (sin(k*x)-x)/x = z*(S0 + S1*z^1 + ... + S5*z^5). - * Then - * sin__S(x*x) = z*(S0 + S1*z^1 + ... + S5*z^5) - * - * The coefficient S's are obtained by a special Remez algorithm. - * - * Accuracy: - * In the absence of rounding error, the approximation has absolute error - * less than 2**(-61.11) for VAX D FORMAT, 2**(-57.45) for IEEE DOUBLE. - * - * Constants: - * The hexadecimal values are the intended ones for the following constants. - * The decimal values may be used, provided that the compiler will convert - * from decimal to binary accurately enough to produce the hexadecimal values - * shown. - * - */ - -vc(S0, -1.6666666666666646660E-1 ,aaaa,bf2a,aa71,aaaa, -2, -.AAAAAAAAAAAA71) -vc(S1, 8.3333333333297230413E-3 ,8888,3d08,477f,8888, -6, .8888888888477F) -vc(S2, -1.9841269838362403710E-4 ,0d00,ba50,1057,cf8a, -12, -.D00D00CF8A1057) -vc(S3, 2.7557318019967078930E-6 ,ef1c,3738,bedc,a326, -18, .B8EF1CA326BEDC) -vc(S4, -2.5051841873876551398E-8 ,3195,b3d7,e1d3,374c, -25, -.D73195374CE1D3) -vc(S5, 1.6028995389845827653E-10 ,3d9c,3030,cccc,6d26, -32, .B03D9C6D26CCCC) -vc(S6, -6.2723499671769283121E-13 ,8d0b,ac30,ea82,7561, -40, -.B08D0B7561EA82) - -ic(S0, -1.6666666666666463126E-1 , -3, -1.555555555550C) -ic(S1, 8.3333333332992771264E-3 , -7, 1.111111110C461) -ic(S2, -1.9841269816180999116E-4 , -13, -1.A01A019746345) -ic(S3, 2.7557309793219876880E-6 , -19, 1.71DE3209CDCD9) -ic(S4, -2.5050225177523807003E-8 , -26, -1.AE5C0E319A4EF) -ic(S5, 1.5868926979889205164E-10 , -33, 1.5CF61DF672B13) - -#ifdef vccast -#define S0 vccast(S0) -#define S1 vccast(S1) -#define S2 vccast(S2) -#define S3 vccast(S3) -#define S4 vccast(S4) -#define S5 vccast(S5) -#define S6 vccast(S6) -#endif - -#if defined(vax)||defined(tahoe) -# define sin__S(z) (z*(S0+z*(S1+z*(S2+z*(S3+z*(S4+z*(S5+z*S6))))))) -#else /* defined(vax)||defined(tahoe) */ -# define sin__S(z) (z*(S0+z*(S1+z*(S2+z*(S3+z*(S4+z*S5)))))) -#endif /* defined(vax)||defined(tahoe) */ - -/* cos__C(x*x) ... re-implemented as a macro - * DOUBLE PRECISION (VAX D FORMAT 56 BITS, IEEE DOUBLE 53 BITS) - * STATIC KERNEL FUNCTION OF SIN(X), COS(X), AND TAN(X) - * CODED IN C BY K.C. NG, 1/21/85; - * REVISED BY K.C. NG on 8/13/85. - * - * x*x - * RETURN cos(k*x) - 1 + ----- on [-PI/4,PI/4], where k = pi/PI, - * 2 - * PI is the rounded value of pi in machine precision : - * - * Decimal: - * pi = 3.141592653589793 23846264338327 ..... - * 53 bits PI = 3.141592653589793 115997963 ..... , - * 56 bits PI = 3.141592653589793 227020265 ..... , - * - * Hexadecimal: - * pi = 3.243F6A8885A308D313198A2E.... - * 53 bits PI = 3.243F6A8885A30 = 2 * 1.921FB54442D18 - * 56 bits PI = 3.243F6A8885A308 = 4 * .C90FDAA22168C2 - * - * - * Method: - * 1. Let z=x*x. Create a polynomial approximation to - * cos(k*x)-1+z/2 = z*z*(C0 + C1*z^1 + ... + C5*z^5) - * then - * cos__C(z) = z*z*(C0 + C1*z^1 + ... + C5*z^5) - * - * The coefficient C's are obtained by a special Remez algorithm. - * - * Accuracy: - * In the absence of rounding error, the approximation has absolute error - * less than 2**(-64) for VAX D FORMAT, 2**(-58.3) for IEEE DOUBLE. - * - * - * Constants: - * The hexadecimal values are the intended ones for the following constants. - * The decimal values may be used, provided that the compiler will convert - * from decimal to binary accurately enough to produce the hexadecimal values - * shown. - */ - -vc(C0, 4.1666666666666504759E-2 ,aaaa,3e2a,a9f0,aaaa, -4, .AAAAAAAAAAA9F0) -vc(C1, -1.3888888888865302059E-3 ,0b60,bbb6,0cca,b60a, -9, -.B60B60B60A0CCA) -vc(C2, 2.4801587285601038265E-5 ,0d00,38d0,098f,cdcd, -15, .D00D00CDCD098F) -vc(C3, -2.7557313470902390219E-7 ,f27b,b593,e805,b593, -21, -.93F27BB593E805) -vc(C4, 2.0875623401082232009E-9 ,74c8,320f,3ff0,fa1e, -28, .8F74C8FA1E3FF0) -vc(C5, -1.1355178117642986178E-11 ,c32d,ae47,5a63,0a5c, -36, -.C7C32D0A5C5A63) - -ic(C0, 4.1666666666666504759E-2 , -5, 1.555555555553E) -ic(C1, -1.3888888888865301516E-3 , -10, -1.6C16C16C14199) -ic(C2, 2.4801587269650015769E-5 , -16, 1.A01A01971CAEB) -ic(C3, -2.7557304623183959811E-7 , -22, -1.27E4F1314AD1A) -ic(C4, 2.0873958177697780076E-9 , -29, 1.1EE3B60DDDC8C) -ic(C5, -1.1250289076471311557E-11 , -37, -1.8BD5986B2A52E) - -#ifdef vccast -#define C0 vccast(C0) -#define C1 vccast(C1) -#define C2 vccast(C2) -#define C3 vccast(C3) -#define C4 vccast(C4) -#define C5 vccast(C5) -#endif - -#define cos__C(z) (z*z*(C0+z*(C1+z*(C2+z*(C3+z*(C4+z*C5)))))) diff -durpN glibc-2.0.2/sysdeps/gnu/errlist.awk glibc-2.0.3/sysdeps/gnu/errlist.awk --- glibc-2.0.2/sysdeps/gnu/errlist.awk Tue Oct 1 21:38:49 1996 +++ glibc-2.0.3/sysdeps/gnu/errlist.awk Fri Apr 4 14:23:50 1997 @@ -16,7 +16,7 @@ # not, write to the Free Software Foundation, Inc., 675 Mass Ave, # Cambridge, MA 02139, USA. -# errno.texinfo contains lines like: +# errno.texi contains lines like: # @comment errno.h # @comment POSIX.1: Function not implemented # @deftypevr Macro int ENOSYS diff -durpN glibc-2.0.2/sysdeps/gnu/errlist.c glibc-2.0.3/sysdeps/gnu/errlist.c --- glibc-2.0.2/sysdeps/gnu/errlist.c Thu Dec 19 20:34:15 1996 +++ glibc-2.0.3/sysdeps/gnu/errlist.c Fri Apr 4 17:56:10 1997 @@ -797,6 +797,14 @@ TRANS This error code has no purpose. */ /* */ [EREMOTEIO] = N_("Remote I/O error"), #endif +#ifdef ENOMEDIUM +/* */ + [ENOMEDIUM] = N_("No medium found"), +#endif +#ifdef EMEDIUMTYPE +/* */ + [EMEDIUMTYPE] = N_("Wrong medium type"), +#endif }; const int _sys_nerr = sizeof _sys_errlist / sizeof _sys_errlist[0]; diff -durpN glibc-2.0.2/sysdeps/gnu/utmpbits.h glibc-2.0.3/sysdeps/gnu/utmpbits.h --- glibc-2.0.2/sysdeps/gnu/utmpbits.h Wed Jan 1 10:27:25 1997 +++ glibc-2.0.3/sysdeps/gnu/utmpbits.h Sat Apr 5 20:01:52 1997 @@ -1,5 +1,5 @@ /* The `struct utmp' type, describing entries in the utmp file. GNU version. - Copyright (C) 1993, 1996 Free Software Foundation, Inc. + Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -100,8 +100,13 @@ struct utmp }; /* Backwards compatibility hacks. */ -#define ut_time ut_tv.tv_sec -#define ut_addr ut_addr_v6[0] +#ifndef _NO_UT_TIME +/* We have a problem here: `ut_time' is also used otherwise. Define + _NO_UT_TIME if the compiler complains. */ +# define ut_time ut_tv.tv_sec +#endif +#define ut_xtime ut_tv.tv_sec +#define ut_addr ut_addr_v6[0] /* Tell the user that we have a modern system with UT_HOST, UT_PID, UT_TYPE, UT_ID and UT_TV fields. */ diff -durpN glibc-2.0.2/sysdeps/i386/add_n.S glibc-2.0.3/sysdeps/i386/add_n.S --- glibc-2.0.2/sysdeps/i386/add_n.S Tue May 7 17:02:55 1996 +++ glibc-2.0.3/sysdeps/i386/add_n.S Fri Apr 4 13:58:40 1997 @@ -1,24 +1,22 @@ -/* i80386 __mpn_add_n -- Add two limb vectors of the same length > 0 and store -sum in a third limb vector. - -Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. +/* Add two limb vectors of the same length > 0 and store sum in a third + limb vector. + Copyright (C) 1992, 1994, 1995, 1997 Free Software Foundation, Inc. + This file is part of the GNU MP Library. -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + The GNU MP Library is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. + The GNU MP Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. -You should have received a copy of the GNU Library General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP Library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ /* INPUT PARAMETERS @@ -47,7 +45,7 @@ C_SYMBOL_NAME(__mpn_add_n:) shrl $3,%ecx /* compute count for unrolled loop */ negl %eax andl $7,%eax /* get index where to start loop */ - jz Loop /* necessary special case for 0 */ + jz L(oop) /* necessary special case for 0 */ incl %ecx /* adjust loop count */ shll $2,%eax /* adjustment for pointers... */ subl %eax,%edi /* ... since they are offset ... */ @@ -57,18 +55,18 @@ C_SYMBOL_NAME(__mpn_add_n:) #ifdef PIC /* Calculate start address in loop for PIC. Due to limitations in some assemblers, Loop-L0-3 cannot be put into the leal */ - call L0 -L0: leal (%eax,%eax,8),%eax + call L(0) +L(0): leal (%eax,%eax,8),%eax addl (%esp),%eax - addl $(Loop-L0-3),%eax + addl $(L(oop)-L(0)-3),%eax addl $4,%esp #else /* Calculate start address in loop for non-PIC. */ - leal (Loop - 3)(%eax,%eax,8),%eax + leal (L(oop) - 3)(%eax,%eax,8),%eax #endif jmp *%eax /* jump into loop */ ALIGN (3) -Loop: movl (%esi),%eax +L(oop): movl (%esi),%eax adcl (%edx),%eax movl %eax,(%edi) movl 4(%esi),%eax @@ -96,7 +94,7 @@ Loop: movl (%esi),%eax leal 32(%esi),%esi leal 32(%edx),%edx decl %ecx - jnz Loop + jnz L(oop) sbbl %eax,%eax negl %eax diff -durpN glibc-2.0.2/sysdeps/i386/addmul_1.S glibc-2.0.3/sysdeps/i386/addmul_1.S --- glibc-2.0.2/sysdeps/i386/addmul_1.S Tue May 7 17:02:56 1996 +++ glibc-2.0.3/sysdeps/i386/addmul_1.S Fri Apr 4 13:58:43 1997 @@ -1,24 +1,22 @@ /* i80386 __mpn_addmul_1 -- Multiply a limb vector with a limb and add the result to a second limb vector. + Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. + This file is part of the GNU MP Library. -Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + The GNU MP Library is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. + The GNU MP Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. -You should have received a copy of the GNU Library General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP Library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ /* INPUT PARAMETERS @@ -56,7 +54,7 @@ C_SYMBOL_NAME(__mpn_addmul_1:) INSN1(neg,l ,R(size)) INSN2(xor,l ,R(ebx),R(ebx)) ALIGN (3) -Loop: +L(oop): INSN2(mov,l ,R(eax),MEM_INDEX(s1_ptr,size,4)) INSN1(mul,l ,R(s2_limb)) INSN2(add,l ,R(eax),R(ebx)) @@ -66,7 +64,7 @@ Loop: INSN2(mov,l ,R(ebx),R(edx)) INSN1(inc,l ,R(size)) - INSN1(jnz, ,Loop) + INSN1(jnz, ,L(oop)) INSN2(mov,l ,R(eax),R(ebx)) INSN1(pop,l ,R(ebp)) diff -durpN glibc-2.0.2/sysdeps/i386/asm-syntax.h glibc-2.0.3/sysdeps/i386/asm-syntax.h --- glibc-2.0.2/sysdeps/i386/asm-syntax.h Mon Feb 3 21:00:42 1997 +++ glibc-2.0.3/sysdeps/i386/asm-syntax.h Fri Apr 4 13:58:34 1997 @@ -63,3 +63,18 @@ #undef ALIGN #define ALIGN(log) .align 1< #include -#include /* IEEE positive infinity (-HUGE_VAL is negative infinity). */ -#if __BYTE_ORDER == __BIG_ENDIAN -#define __HUGE_VAL_bytes { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } -#endif -#if __BYTE_ORDER == __LITTLE_ENDIAN #define __HUGE_VAL_bytes { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f } -#endif #define __huge_val_t union { unsigned char __c[8]; double __d; } #ifdef __GNUC__ @@ -48,12 +42,7 @@ static __huge_val_t __huge_val = { __HUG #ifdef __USE_GNU -#if __BYTE_ORDER == __BIG_ENDIAN -#define __HUGE_VALf_bytes { 0x7f, 0x80, 0, 0 } -#endif -#if __BYTE_ORDER == __LITTLE_ENDIAN #define __HUGE_VALf_bytes { 0, 0, 0x80, 0x7f } -#endif #define __huge_valf_t union { unsigned char __c[4]; float __f; } #ifdef __GNUC__ @@ -65,12 +54,7 @@ static __huge_valf_t __huge_valf = { __H #endif /* GCC. */ -#if __BYTE_ORDER == __BIG_ENDIAN -#define __HUGE_VALl_bytes { 0x7f, 0xff, 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0 } -#endif -#if __BYTE_ORDER == __LITTLE_ENDIAN #define __HUGE_VALl_bytes { 0, 0, 0, 0, 0, 0, 0, 0x80, 0xff, 0x7f, 0, 0 } -#endif #define __huge_vall_t union { unsigned char __c[12]; long double __ld; } #ifdef __GNUC__ diff -durpN glibc-2.0.2/sysdeps/i386/i486/strcat.S glibc-2.0.3/sysdeps/i386/i486/strcat.S --- glibc-2.0.2/sysdeps/i386/i486/strcat.S Thu Dec 19 20:34:21 1996 +++ glibc-2.0.3/sysdeps/i386/i486/strcat.S Fri Apr 4 14:00:14 1997 @@ -1,6 +1,6 @@ /* strcat(dest, src) -- Append SRC on the end of DEST. For Intel 80x86, x>=4. - Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper . Optimised a little by Alan Modra @@ -37,35 +37,35 @@ ENTRY (strcat) movl 8(%esp), %edx /* load destination pointer */ testb $0xff, (%ecx) /* Is source string empty? */ - jz L8 /* yes => return */ + jz L(8) /* yes => return */ /* Test the first bytes separately until destination is aligned. */ testl $3, %edx /* destination pointer aligned? */ - jz L1 /* yes => begin scan loop */ + jz L(1) /* yes => begin scan loop */ testb $0xff, (%edx) /* is end of string? */ - jz L2 /* yes => start appending */ + jz L(2) /* yes => start appending */ incl %edx /* increment source pointer */ testl $3, %edx /* destination pointer aligned? */ - jz L1 /* yes => begin scan loop */ + jz L(1) /* yes => begin scan loop */ testb $0xff, (%edx) /* is end of string? */ - jz L2 /* yes => start appending */ + jz L(2) /* yes => start appending */ incl %edx /* increment source pointer */ testl $3, %edx /* destination pointer aligned? */ - jz L1 /* yes => begin scan loop */ + jz L(1) /* yes => begin scan loop */ testb $0xff, (%edx) /* is end of string? */ - jz L2 /* yes => start appending */ + jz L(2) /* yes => start appending */ incl %edx /* increment source pointer */ /* Now we are aligned. Begin scan loop. */ - jmp L1 + jmp L(1) ALIGN(4) -L4: addl $16,%edx /* increment destination pointer for round */ +L(4): addl $16,%edx /* increment destination pointer for round */ -L1: movl (%edx), %eax /* get word (= 4 bytes) in question */ +L(1): movl (%edx), %eax /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edi /* magic value */ /* If you compare this with the algorithm in memchr.S you will @@ -83,7 +83,7 @@ L1: movl (%edx), %eax /* get word (= 4 b representation with more than 32 bits) not alter then last overflow, we can now test this condition. If no carry is signaled no overflow must have occurred in the last byte => it was 0. */ - jnc L3 + jnc L(3) /* We are only interested in carry bits that change due to the previous add, so remove original bits */ @@ -95,106 +95,106 @@ L1: movl (%edx), %eax /* get word (= 4 b the addition will not result in 0. */ /* If at least one byte of the word is C we don't get 0 in %ecx. */ - jnz L3 + jnz L(3) movl 4(%edx), %eax /* get word from source */ movl $0xfefefeff, %edi /* magic value */ addl %eax, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L5 /* highest byte is C => stop copying */ + jnc L(5) /* highest byte is C => stop copying */ xorl %eax, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L5 /* one byte is NUL => stop copying */ + jnz L(5) /* one byte is NUL => stop copying */ movl 8(%edx), %eax /* get word from source */ movl $0xfefefeff, %edi /* magic value */ addl %eax, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L6 /* highest byte is C => stop copying */ + jnc L(6) /* highest byte is C => stop copying */ xorl %eax, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L6 /* one byte is NUL => stop copying */ + jnz L(6) /* one byte is NUL => stop copying */ movl 12(%edx), %eax /* get word from source */ movl $0xfefefeff, %edi /* magic value */ addl %eax, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L7 /* highest byte is C => stop copying */ + jnc L(7) /* highest byte is C => stop copying */ xorl %eax, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jz L4 /* no byte is NUL => carry on copying */ + jz L(4) /* no byte is NUL => carry on copying */ -L7: addl $4, %edx /* adjust source pointer */ -L6: addl $4, %edx -L5: addl $4, %edx +L(7): addl $4, %edx /* adjust source pointer */ +L(6): addl $4, %edx +L(5): addl $4, %edx -L3: testb %al, %al /* is first byte NUL? */ - jz L2 /* yes => start copying */ +L(3): testb %al, %al /* is first byte NUL? */ + jz L(2) /* yes => start copying */ incl %edx /* increment source pointer */ testb %ah, %ah /* is second byte NUL? */ - jz L2 /* yes => start copying */ + jz L(2) /* yes => start copying */ incl %edx /* increment source pointer */ testl $0xff0000, %eax /* is third byte NUL? */ - jz L2 /* yes => start copying */ + jz L(2) /* yes => start copying */ incl %edx /* increment source pointer */ -L2: subl %ecx, %edx /* reduce number of loop variants */ +L(2): subl %ecx, %edx /* reduce number of loop variants */ /* Now we have to align the source pointer. */ testl $3, %ecx /* pointer correctly aligned? */ - jz L29 /* yes => start copy loop */ + jz L(29) /* yes => start copy loop */ movb (%ecx), %al /* get first byte */ movb %al, (%ecx,%edx) /* and store it */ andb %al, %al /* is byte NUL? */ - jz L8 /* yes => return */ + jz L(8) /* yes => return */ incl %ecx /* increment pointer */ testl $3, %ecx /* pointer correctly aligned? */ - jz L29 /* yes => start copy loop */ + jz L(29) /* yes => start copy loop */ movb (%ecx), %al /* get first byte */ movb %al, (%ecx,%edx) /* and store it */ andb %al, %al /* is byte NUL? */ - jz L8 /* yes => return */ + jz L(8) /* yes => return */ incl %ecx /* increment pointer */ testl $3, %ecx /* pointer correctly aligned? */ - jz L29 /* yes => start copy loop */ + jz L(29) /* yes => start copy loop */ movb (%ecx), %al /* get first byte */ movb %al, (%ecx,%edx) /* and store it */ andb %al, %al /* is byte NUL? */ - jz L8 /* yes => return */ + jz L(8) /* yes => return */ incl %ecx /* increment pointer */ /* Now we are aligned. */ - jmp L29 /* start copy loop */ + jmp L(29) /* start copy loop */ ALIGN(4) -L28: movl %eax, 12(%ecx,%edx)/* store word at destination */ +L(28): movl %eax, 12(%ecx,%edx)/* store word at destination */ addl $16, %ecx /* adjust pointer for full round */ -L29: movl (%ecx), %eax /* get word from source */ +L(29): movl (%ecx), %eax /* get word from source */ movl $0xfefefeff, %edi /* magic value */ addl %eax, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L9 /* highest byte is C => stop copying */ + jnc L(9) /* highest byte is C => stop copying */ xorl %eax, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L9 /* one byte is NUL => stop copying */ + jnz L(9) /* one byte is NUL => stop copying */ movl %eax, (%ecx,%edx) /* store word to destination */ movl 4(%ecx), %eax /* get word from source */ @@ -202,12 +202,12 @@ L29: movl (%ecx), %eax /* get word from addl %eax, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L91 /* highest byte is C => stop copying */ + jnc L(91) /* highest byte is C => stop copying */ xorl %eax, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L91 /* one byte is NUL => stop copying */ + jnz L(91) /* one byte is NUL => stop copying */ movl %eax, 4(%ecx,%edx) /* store word to destination */ movl 8(%ecx), %eax /* get word from source */ @@ -215,12 +215,12 @@ L29: movl (%ecx), %eax /* get word from addl %eax, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L92 /* highest byte is C => stop copying */ + jnc L(92) /* highest byte is C => stop copying */ xorl %eax, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L92 /* one byte is NUL => stop copying */ + jnz L(92) /* one byte is NUL => stop copying */ movl %eax, 8(%ecx,%edx) /* store word to destination */ movl 12(%ecx), %eax /* get word from source */ @@ -228,33 +228,33 @@ L29: movl (%ecx), %eax /* get word from addl %eax, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L93 /* highest byte is C => stop copying */ + jnc L(93) /* highest byte is C => stop copying */ xorl %eax, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jz L28 /* no is NUL => carry on copying */ + jz L(28) /* no is NUL => carry on copying */ -L93: addl $4, %ecx /* adjust pointer */ -L92: addl $4, %ecx -L91: addl $4, %ecx +L(93): addl $4, %ecx /* adjust pointer */ +L(92): addl $4, %ecx +L(91): addl $4, %ecx -L9: movb %al, (%ecx,%edx) /* store first byte of last word */ +L(9): movb %al, (%ecx,%edx) /* store first byte of last word */ orb %al, %al /* is it NUL? */ - jz L8 /* yes => return */ + jz L(8) /* yes => return */ movb %ah, 1(%ecx,%edx) /* store second byte of last word */ orb %ah, %ah /* is it NUL? */ - jz L8 /* yes => return */ + jz L(8) /* yes => return */ shrl $16, %eax /* make upper bytes accessible */ movb %al, 2(%ecx,%edx) /* store third byte of last word */ orb %al, %al /* is it NUL? */ - jz L8 /* yes => return */ + jz L(8) /* yes => return */ movb %ah, 3(%ecx,%edx) /* store fourth byte of last word */ -L8: movl 8(%esp), %eax /* start address of destination is result */ +L(8): movl 8(%esp), %eax /* start address of destination is result */ popl %edi /* restore saved register */ ret diff -durpN glibc-2.0.2/sysdeps/i386/i486/strlen.S glibc-2.0.3/sysdeps/i386/i486/strlen.S --- glibc-2.0.2/sysdeps/i386/i486/strlen.S Tue Oct 22 19:28:42 1996 +++ glibc-2.0.3/sysdeps/i386/i486/strlen.S Fri Apr 4 14:00:18 1997 @@ -1,23 +1,23 @@ /* strlen(str) -- determine the length of the string STR. -Optimized for Intel 80x86, x>=4. -Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc. -Contributed by Ulrich Drepper . -This file is part of the GNU C Library. + Optimized for Intel 80x86, x>=4. + Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc. + Contributed by Ulrich Drepper . + This file is part of the GNU C Library. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include #include "asm-syntax.h" @@ -33,21 +33,21 @@ ENTRY (strlen) movl %ecx, %eax /* duplicate it */ andl $3, %ecx /* mask alignment bits */ - jz L1 /* aligned => start loop */ + jz L(1) /* aligned => start loop */ cmpb %ch, (%eax) /* is byte NUL? */ - je L2 /* yes => return */ + je L(2) /* yes => return */ incl %eax /* increment pointer */ xorl $3, %ecx /* was alignment = 3? */ - jz L1 /* yes => now it is aligned and start loop */ + jz L(1) /* yes => now it is aligned and start loop */ cmpb %ch, (%eax) /* is byte NUL? */ - je L2 /* yes => return */ + je L(2) /* yes => return */ addl $1, %eax /* increment pointer */ subl $1, %ecx /* was alignment = 2? */ - jz L1 /* yes => now it is aligned and start loop */ + jz L(1) /* yes => now it is aligned and start loop */ cmpb %ch, (%eax) /* is byte NUL? */ - je L2 /* yes => return */ + je L(2) /* yes => return */ /* Don't change the above `addl $1,%eax' and `subl $1, %ecx' into `incl %eax' and `decl %ecx' resp. The additional two byte per instruction make the @@ -61,73 +61,73 @@ ENTRY (strlen) subl $15, %eax /* effectively +1 */ -L4: addl $16, %eax /* adjust pointer for full loop */ +L(4): addl $16, %eax /* adjust pointer for full loop */ -L1: movl (%eax), %ecx /* get word (= 4 bytes) in question */ +L(1): movl (%eax), %ecx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edx /* magic value */ addl %ecx, %edx /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L3 /* highest byte is NUL => return pointer */ + jnc L(3) /* highest byte is NUL => return pointer */ xorl %ecx, %edx /* (word+magic)^word */ orl $0xfefefeff, %edx /* set all non-carry bits */ incl %edx /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L3 /* found NUL => return pointer */ + jnz L(3) /* found NUL => return pointer */ movl 4(%eax), %ecx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edx /* magic value */ addl %ecx, %edx /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L5 /* highest byte is NUL => return pointer */ + jnc L(5) /* highest byte is NUL => return pointer */ xorl %ecx, %edx /* (word+magic)^word */ orl $0xfefefeff, %edx /* set all non-carry bits */ incl %edx /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L5 /* found NUL => return pointer */ + jnz L(5) /* found NUL => return pointer */ movl 8(%eax), %ecx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edx /* magic value */ addl %ecx, %edx /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L6 /* highest byte is NUL => return pointer */ + jnc L(6) /* highest byte is NUL => return pointer */ xorl %ecx, %edx /* (word+magic)^word */ orl $0xfefefeff, %edx /* set all non-carry bits */ incl %edx /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L6 /* found NUL => return pointer */ + jnz L(6) /* found NUL => return pointer */ movl 12(%eax), %ecx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edx /* magic value */ addl %ecx, %edx /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L7 /* highest byte is NUL => return pointer */ + jnc L(7) /* highest byte is NUL => return pointer */ xorl %ecx, %edx /* (word+magic)^word */ orl $0xfefefeff, %edx /* set all non-carry bits */ incl %edx /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jz L4 /* no NUL found => continue loop */ + jz L(4) /* no NUL found => continue loop */ -L7: addl $4, %eax /* adjust pointer */ -L6: addl $4, %eax -L5: addl $4, %eax +L(7): addl $4, %eax /* adjust pointer */ +L(6): addl $4, %eax +L(5): addl $4, %eax -L3: testb %cl, %cl /* is first byte NUL? */ - jz L2 /* yes => return */ +L(3): testb %cl, %cl /* is first byte NUL? */ + jz L(2) /* yes => return */ incl %eax /* increment pointer */ testb %ch, %ch /* is second byte NUL? */ - jz L2 /* yes => return */ + jz L(2) /* yes => return */ incl %eax /* increment pointer */ testl $0xff0000, %ecx /* is third byte NUL? */ - jz L2 /* yes => return pointer */ + jz L(2) /* yes => return pointer */ incl %eax /* increment pointer */ -L2: subl 4(%esp), %eax /* compute difference to string start */ +L(2): subl 4(%esp), %eax /* compute difference to string start */ ret END (strlen) diff -durpN glibc-2.0.2/sysdeps/i386/i586/add_n.S glibc-2.0.3/sysdeps/i386/i586/add_n.S --- glibc-2.0.2/sysdeps/i386/i586/add_n.S Tue May 7 17:02:48 1996 +++ glibc-2.0.3/sysdeps/i386/i586/add_n.S Fri Apr 4 14:00:30 1997 @@ -1,24 +1,22 @@ /* Pentium __mpn_add_n -- Add two limb vectors of the same length > 0 and store sum in a third limb vector. + Copyright (C) 1992, 1994, 1995, 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU MP Library. -Copyright (C) 1992, 1994, 1995, 1996 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + The GNU MP Library is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. + The GNU MP Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. -You should have received a copy of the GNU Library General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP Library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ /* INPUT PARAMETERS @@ -52,14 +50,14 @@ C_SYMBOL_NAME(__mpn_add_n:) shrl $3,%ecx andl $7,%edx testl %ecx,%ecx /* zero carry flag */ - jz Lend + jz L(end) pushl %edx ALIGN (3) -Loop: movl 28(%edi),%eax /* fetch destination cache line */ +L(oop): movl 28(%edi),%eax /* fetch destination cache line */ leal 32(%edi),%edi -L1: movl (%esi),%eax +L(1): movl (%esi),%eax movl 4(%esi),%edx adcl %ebx,%eax movl 4(%ebp),%ebx @@ -68,7 +66,7 @@ L1: movl (%esi),%eax movl %eax,-32(%edi) movl %edx,-28(%edi) -L2: movl 8(%esi),%eax +L(2): movl 8(%esi),%eax movl 12(%esi),%edx adcl %ebx,%eax movl 12(%ebp),%ebx @@ -77,7 +75,7 @@ L2: movl 8(%esi),%eax movl %eax,-24(%edi) movl %edx,-20(%edi) -L3: movl 16(%esi),%eax +L(3): movl 16(%esi),%eax movl 20(%esi),%edx adcl %ebx,%eax movl 20(%ebp),%ebx @@ -86,7 +84,7 @@ L3: movl 16(%esi),%eax movl %eax,-16(%edi) movl %edx,-12(%edi) -L4: movl 24(%esi),%eax +L(4): movl 24(%esi),%eax movl 28(%esi),%edx adcl %ebx,%eax movl 28(%ebp),%ebx @@ -98,14 +96,14 @@ L4: movl 24(%esi),%eax leal 32(%esi),%esi leal 32(%ebp),%ebp decl %ecx - jnz Loop + jnz L(oop) popl %edx -Lend: +L(end): decl %edx /* test %edx w/o clobbering carry */ - js Lend2 + js L(end2) incl %edx -Loop2: +L(oop2): leal 4(%edi),%edi movl (%esi),%eax adcl %ebx,%eax @@ -114,8 +112,8 @@ Loop2: leal 4(%esi),%esi leal 4(%ebp),%ebp decl %edx - jnz Loop2 -Lend2: + jnz L(oop2) +L(end2): movl (%esi),%eax adcl %ebx,%eax movl %eax,(%edi) diff -durpN glibc-2.0.2/sysdeps/i386/i586/addmul_1.S glibc-2.0.3/sysdeps/i386/i586/addmul_1.S --- glibc-2.0.2/sysdeps/i386/i586/addmul_1.S Tue May 7 17:02:49 1996 +++ glibc-2.0.3/sysdeps/i386/i586/addmul_1.S Fri Apr 4 14:00:33 1997 @@ -1,24 +1,22 @@ /* Pentium __mpn_addmul_1 -- Multiply a limb vector with a limb and add the result to a second limb vector. + Copyright (C) 1992, 1994, 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU MP Library. -Copyright (C) 1992, 1994, 1996 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + The GNU MP Library is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. + The GNU MP Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. -You should have received a copy of the GNU Library General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP Library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ /* INPUT PARAMETERS @@ -57,7 +55,7 @@ C_SYMBOL_NAME(__mpn_addmul_1:) INSN2(xor,l ,R(ebx),R(ebx)) ALIGN (3) -Loop: INSN2(adc,l ,R(ebx),$0) +L(oop): INSN2(adc,l ,R(ebx),$0) INSN2(mov,l ,R(eax),MEM_INDEX(s1_ptr,size,4)) INSN1(mul,l ,R(s2_limb)) @@ -72,7 +70,7 @@ Loop: INSN2(adc,l ,R(ebx),$0) INSN1(inc,l ,R(size)) INSN2(mov,l ,R(ebx),R(edx)) - INSN1(jnz, ,Loop) + INSN1(jnz, ,L(oop)) INSN2(adc,l ,R(ebx),$0) INSN2(mov,l ,R(eax),R(ebx)) diff -durpN glibc-2.0.2/sysdeps/i386/i586/lshift.S glibc-2.0.3/sysdeps/i386/i586/lshift.S --- glibc-2.0.2/sysdeps/i386/i586/lshift.S Thu Dec 19 20:34:22 1996 +++ glibc-2.0.3/sysdeps/i386/i586/lshift.S Fri Apr 4 14:00:36 1997 @@ -1,5 +1,5 @@ /* Pentium optimized __mpn_lshift -- - Copyright (C) 1992, 1994, 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1992, 1994, 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 modify @@ -44,15 +44,15 @@ C_SYMBOL_NAME(__mpn_lshift:) /* We can use faster code for shift-by-1 under certain conditions. */ cmp $1,%ecx - jne Lnormal + jne L(normal) leal 4(%esi),%eax cmpl %edi,%eax - jnc Lspecial /* jump if s_ptr + 1 >= res_ptr */ + jnc L(special) /* jump if s_ptr + 1 >= res_ptr */ leal (%esi,%ebp,4),%eax cmpl %eax,%edi - jnc Lspecial /* jump if res_ptr >= s_ptr + size */ + jnc L(special) /* jump if res_ptr >= s_ptr + size */ -Lnormal: +L(normal): leal -4(%edi,%ebp,4),%edi leal -4(%esi,%ebp,4),%esi @@ -65,12 +65,12 @@ Lnormal: decl %ebp pushl %ebp shrl $3,%ebp - jz Lend + jz L(end) movl (%edi),%eax /* fetch destination cache line */ ALIGN (2) -Loop: movl -28(%edi),%eax /* fetch destination cache line */ +L(oop): movl -28(%edi),%eax /* fetch destination cache line */ movl %edx,%ebx movl (%esi),%eax @@ -104,21 +104,23 @@ Loop: movl -28(%edi),%eax /* fetch dest subl $32,%esi subl $32,%edi decl %ebp - jnz Loop + jnz L(oop) -Lend: popl %ebp +L(end): popl %ebp andl $7,%ebp - jz Lend2 -Loop2: movl (%esi),%eax + jz L(end2) +L(oop2): + movl (%esi),%eax shldl %cl,%eax,%edx movl %edx,(%edi) movl %eax,%edx subl $4,%esi subl $4,%edi decl %ebp - jnz Loop2 + jnz L(oop2) -Lend2: shll %cl,%edx /* compute least significant limb */ +L(end2): + shll %cl,%edx /* compute least significant limb */ movl %edx,(%edi) /* store it */ popl %eax /* pop carry limb */ @@ -134,7 +136,7 @@ Lend2: shll %cl,%edx /* compute least s function is documented to work for overlapping source and destination. */ -Lspecial: +L(special): movl (%esi),%edx addl $4,%esi @@ -145,12 +147,13 @@ Lspecial: addl %edx,%edx incl %ebp decl %ebp - jz LLend + jz L(Lend) movl (%edi),%eax /* fetch destination cache line */ ALIGN (2) -LLoop: movl 28(%edi),%eax /* fetch destination cache line */ +L(Loop): + movl 28(%edi),%eax /* fetch destination cache line */ movl %edx,%ebx movl (%esi),%eax @@ -184,14 +187,16 @@ LLoop: movl 28(%edi),%eax /* fetch dest leal 32(%esi),%esi /* use leal not to clobber carry */ leal 32(%edi),%edi decl %ebp - jnz LLoop + jnz L(Loop) -LLend: popl %ebp +L(Lend): + popl %ebp sbbl %eax,%eax /* save carry in %eax */ andl $7,%ebp - jz LLend2 + jz L(Lend2) addl %eax,%eax /* restore carry from eax */ -LLoop2: movl %edx,%ebx +L(Loop2): + movl %edx,%ebx movl (%esi),%edx adcl %edx,%edx movl %ebx,(%edi) @@ -199,11 +204,12 @@ LLoop2: movl %edx,%ebx leal 4(%esi),%esi /* use leal not to clobber carry */ leal 4(%edi),%edi decl %ebp - jnz LLoop2 + jnz L(Loop2) - jmp LL1 -LLend2: addl %eax,%eax /* restore carry from eax */ -LL1: movl %edx,(%edi) /* store last limb */ + jmp L(L1) +L(Lend2): + addl %eax,%eax /* restore carry from eax */ +L(L1): movl %edx,(%edi) /* store last limb */ sbbl %eax,%eax negl %eax diff -durpN glibc-2.0.2/sysdeps/i386/i586/memset.S glibc-2.0.3/sysdeps/i386/i586/memset.S --- glibc-2.0.2/sysdeps/i386/i586/memset.S Tue Oct 22 19:28:44 1996 +++ glibc-2.0.3/sysdeps/i386/i586/memset.S Fri Apr 4 14:00:41 1997 @@ -1,25 +1,26 @@ /* memset/bzero -- set memory area to CH/0 -Highly optimized version for ix85, x>=5. -Copyright (C) 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Torbjorn Granlund, + Highly optimized version for ix85, x>=5. + Copyright (C) 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Torbjorn Granlund, -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include +#include "asm-syntax.h" /* INPUT PARAMETERS: @@ -52,7 +53,7 @@ ENTRY (memset) /* If less than 36 bytes to write, skip tricky code (it wouldn't work). */ cmpl $36, %edx movl %edx, %ecx /* needed when branch is taken! */ - jl L2 + jl L(2) /* First write 0-3 bytes to make the pointer 32-bit aligned. */ movl %edi, %ecx /* Copy ptr to ecx... */ @@ -66,7 +67,7 @@ ENTRY (memset) movl (%edi), %ecx /* Fetch destination cache line */ .align 2, 0x90 /* supply 0x90 for broken assemblers */ -L1: movl 28(%edi), %ecx /* allocate cache line for destination */ +L(1): movl 28(%edi), %ecx /* allocate cache line for destination */ subl $32, %edx /* decr loop count */ movl %eax, 0(%edi) /* store words pairwise */ movl %eax, 4(%edi) @@ -77,12 +78,12 @@ L1: movl 28(%edi), %ecx /* allocate cach movl %eax, 24(%edi) movl %eax, 28(%edi) leal 32(%edi), %edi /* update destination pointer */ - jge L1 + jge L(1) leal 32(%edx), %ecx /* reset offset count */ /* Write last 0-7 full 32-bit words (up to 8 words if loop was skipped). */ -L2: shrl $2, %ecx /* convert byte count to longword count */ +L(2): shrl $2, %ecx /* convert byte count to longword count */ rep stosl diff -durpN glibc-2.0.2/sysdeps/i386/i586/mul_1.S glibc-2.0.3/sysdeps/i386/i586/mul_1.S --- glibc-2.0.2/sysdeps/i386/i586/mul_1.S Tue May 7 17:02:52 1996 +++ glibc-2.0.3/sysdeps/i386/i586/mul_1.S Fri Apr 4 14:00:45 1997 @@ -1,24 +1,22 @@ /* Pentium __mpn_mul_1 -- Multiply a limb vector with a limb and store the result in a second limb vector. + Copyright (C) 1992, 1994, 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU MP Library. -Copyright (C) 1992, 1994, 1996 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + The GNU MP Library is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. + The GNU MP Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. -You should have received a copy of the GNU Library General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP Library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ /* INPUT PARAMETERS @@ -57,7 +55,7 @@ C_SYMBOL_NAME(__mpn_mul_1:) INSN2(xor,l ,R(ebx),R(ebx)) ALIGN (3) -Loop: INSN2(adc,l ,R(ebx),$0) +L(oop): INSN2(adc,l ,R(ebx),$0) INSN2(mov,l ,R(eax),MEM_INDEX(s1_ptr,size,4)) INSN1(mul,l ,R(s2_limb)) @@ -68,7 +66,7 @@ Loop: INSN2(adc,l ,R(ebx),$0) INSN1(inc,l ,R(size)) INSN2(mov,l ,R(ebx),R(edx)) - INSN1(jnz, ,Loop) + INSN1(jnz, ,L(oop)) INSN2(adc,l ,R(ebx),$0) INSN2(mov,l ,R(eax),R(ebx)) diff -durpN glibc-2.0.2/sysdeps/i386/i586/rshift.S glibc-2.0.3/sysdeps/i386/i586/rshift.S --- glibc-2.0.2/sysdeps/i386/i586/rshift.S Thu Dec 19 20:34:23 1996 +++ glibc-2.0.3/sysdeps/i386/i586/rshift.S Fri Apr 4 14:00:50 1997 @@ -1,23 +1,21 @@ /* Pentium optimized __mpn_rshift -- + Copyright (C) 1992, 1994, 1995, 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU MP Library. -Copyright (C) 1992, 1994, 1995, 1996 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + The GNU MP Library is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. + The GNU MP Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. -You should have received a copy of the GNU Library General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP Library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ /* INPUT PARAMETERS @@ -46,15 +44,15 @@ C_SYMBOL_NAME(__mpn_rshift:) /* We can use faster code for shift-by-1 under certain conditions. */ cmp $1,%ecx - jne Lnormal + jne L(normal) leal 4(%edi),%eax cmpl %esi,%eax - jnc Lspecial /* jump if res_ptr + 1 >= s_ptr */ + jnc L(special) /* jump if res_ptr + 1 >= s_ptr */ leal (%edi,%ebp,4),%eax cmpl %eax,%esi - jnc Lspecial /* jump if s_ptr >= res_ptr + size */ + jnc L(special) /* jump if s_ptr >= res_ptr + size */ -Lnormal: +L(normal): movl (%esi),%edx addl $4,%esi xorl %eax,%eax @@ -64,12 +62,12 @@ Lnormal: decl %ebp pushl %ebp shrl $3,%ebp - jz Lend + jz L(end) movl (%edi),%eax /* fetch destination cache line */ ALIGN (2) -Loop: movl 28(%edi),%eax /* fetch destination cache line */ +L(oop): movl 28(%edi),%eax /* fetch destination cache line */ movl %edx,%ebx movl (%esi),%eax @@ -103,21 +101,23 @@ Loop: movl 28(%edi),%eax /* fetch desti addl $32,%esi addl $32,%edi decl %ebp - jnz Loop + jnz L(oop) -Lend: popl %ebp +L(end): popl %ebp andl $7,%ebp - jz Lend2 -Loop2: movl (%esi),%eax + jz L(end2) +L(oop2): + movl (%esi),%eax shrdl %cl,%eax,%edx /* compute result limb */ movl %edx,(%edi) movl %eax,%edx addl $4,%esi addl $4,%edi decl %ebp - jnz Loop2 + jnz L(oop2) -Lend2: shrl %cl,%edx /* compute most significant limb */ +L(end2): + shrl %cl,%edx /* compute most significant limb */ movl %edx,(%edi) /* store it */ popl %eax /* pop carry limb */ @@ -133,7 +133,7 @@ Lend2: shrl %cl,%edx /* compute most si function is documented to work for overlapping source and destination. */ -Lspecial: +L(special): leal -4(%edi,%ebp,4),%edi leal -4(%esi,%ebp,4),%esi @@ -147,12 +147,13 @@ Lspecial: shrl $1,%edx incl %ebp decl %ebp - jz LLend + jz L(Lend) movl (%edi),%eax /* fetch destination cache line */ ALIGN (2) -LLoop: movl -28(%edi),%eax /* fetch destination cache line */ +L(Loop): + movl -28(%edi),%eax /* fetch destination cache line */ movl %edx,%ebx movl (%esi),%eax @@ -186,14 +187,16 @@ LLoop: movl -28(%edi),%eax /* fetch des leal -32(%esi),%esi /* use leal not to clobber carry */ leal -32(%edi),%edi decl %ebp - jnz LLoop + jnz L(Loop) -LLend: popl %ebp +L(Lend): + popl %ebp sbbl %eax,%eax /* save carry in %eax */ andl $7,%ebp - jz LLend2 + jz L(Lend2) addl %eax,%eax /* restore carry from eax */ -LLoop2: movl %edx,%ebx +L(Loop2): + movl %edx,%ebx movl (%esi),%edx rcrl $1,%edx movl %ebx,(%edi) @@ -201,11 +204,12 @@ LLoop2: movl %edx,%ebx leal -4(%esi),%esi /* use leal not to clobber carry */ leal -4(%edi),%edi decl %ebp - jnz LLoop2 + jnz L(Loop2) - jmp LL1 -LLend2: addl %eax,%eax /* restore carry from eax */ -LL1: movl %edx,(%edi) /* store last limb */ + jmp L(L1) +L(Lend2): + addl %eax,%eax /* restore carry from eax */ +L(L1): movl %edx,(%edi) /* store last limb */ movl $0,%eax rcrl $1,%eax diff -durpN glibc-2.0.2/sysdeps/i386/i586/strchr.S glibc-2.0.3/sysdeps/i386/i586/strchr.S --- glibc-2.0.2/sysdeps/i386/i586/strchr.S Thu Dec 19 20:34:23 1996 +++ glibc-2.0.3/sysdeps/i386/i586/strchr.S Fri Apr 4 14:00:57 1997 @@ -1,6 +1,6 @@ -/* strchr -- find character CH in a NUL terminated string. +/* Find character CH in a NUL terminated string. Highly optimized version for ix85, x>=5. - 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 Ulrich Drepper, . @@ -20,6 +20,7 @@ Boston, MA 02111-1307, USA. */ #include +#include "asm-syntax.h" /* This version is especially optimized for the i586 (and following?) processors. This is mainly done by using the two pipelines. The @@ -67,38 +68,38 @@ ENTRY (strchr) orl %ecx, %edx /* and finally c|c|c|c */ andl $3, %edi /* mask alignment bits */ - jz L11 /* alignment is 0 => start loop */ + jz L(11) /* alignment is 0 => start loop */ movb %dl, %cl /* 0 is needed below */ - jp L0 /* exactly two bits set */ + jp L(0) /* exactly two bits set */ xorb (%eax), %cl /* is byte the one we are looking for? */ - jz L2 /* yes => return pointer */ + jz L(2) /* yes => return pointer */ xorb %dl, %cl /* load single byte and test for NUL */ - je L3 /* yes => return NULL */ + je L(3) /* yes => return NULL */ movb 1(%eax), %cl /* load single byte */ incl %eax cmpb %cl, %dl /* is byte == C? */ - je L2 /* aligned => return pointer */ + je L(2) /* aligned => return pointer */ cmpb $0, %cl /* is byte NUL? */ - je L3 /* yes => return NULL */ + je L(3) /* yes => return NULL */ incl %eax decl %edi - jne L11 + jne L(11) -L0: movb (%eax), %cl /* load single byte */ +L(0): movb (%eax), %cl /* load single byte */ cmpb %cl, %dl /* is byte == C? */ - je L2 /* aligned => return pointer */ + je L(2) /* aligned => return pointer */ cmpb $0, %cl /* is byte NUL? */ - je L3 /* yes => return NULL */ + je L(3) /* yes => return NULL */ incl %eax /* increment pointer */ @@ -106,7 +107,7 @@ L0: movb (%eax), %cl /* load single byte four instruction up to `L1' will not be executed in the loop because the same code is found at the end of the loop, but there it is executed in parallel with other instructions. */ -L11: movl (%eax), %ecx +L(11): movl (%eax), %ecx movl $magic, %ebp movl $magic, %edi @@ -135,17 +136,17 @@ L11: movl (%eax), %ecx C allows us to overlap the test for 0 in the next word with the test for C. */ -L1: xorl %ecx, %ebp /* (word^magic) */ +L(1): xorl %ecx, %ebp /* (word^magic) */ addl %ecx, %edi /* add magic word */ leal 4(%eax), %eax /* increment pointer */ - jnc L4 /* previous addl caused overflow? */ + jnc L(4) /* previous addl caused overflow? */ movl %ecx, %ebx /* duplicate original word */ orl $magic, %ebp /* (word^magic)|magic */ addl $1, %ebp /* (word^magic)|magic == 0xffffffff? */ - jne L4 /* yes => we found word with NUL */ + jne L(4) /* yes => we found word with NUL */ movl $magic, %esi /* load magic value */ xorl %edx, %ebx /* clear words which are C */ @@ -154,7 +155,7 @@ L1: xorl %ecx, %ebp /* (word^magic) */ addl %ebx, %esi /* (word+magic) */ movl $magic, %edi - jnc L5 /* previous addl caused overflow? */ + jnc L(5) /* previous addl caused overflow? */ movl %edi, %ebp xorl %ebx, %esi /* (word+magic)^word */ @@ -163,19 +164,19 @@ L1: xorl %ecx, %ebp /* (word^magic) */ orl $magic, %esi /* ((word+magic)^word)|magic */ addl $1, %esi /* ((word+magic)^word)|magic==0xf..f?*/ - jne L5 /* yes => we found word with C */ + jne L(5) /* yes => we found word with C */ xorl %ecx, %ebp addl %ecx, %edi leal 4(%eax), %eax - jnc L4 + jnc L(4) movl %ecx, %ebx orl $magic, %ebp addl $1, %ebp - jne L4 + jne L(4) movl $magic, %esi xorl %edx, %ebx @@ -184,7 +185,7 @@ L1: xorl %ecx, %ebp /* (word^magic) */ addl %ebx, %esi movl $magic, %edi - jnc L5 + jnc L(5) movl %edi, %ebp xorl %ebx, %esi @@ -193,19 +194,19 @@ L1: xorl %ecx, %ebp /* (word^magic) */ orl $magic, %esi addl $1, %esi - jne L5 + jne L(5) xorl %ecx, %ebp addl %ecx, %edi leal 4(%eax), %eax - jnc L4 + jnc L(4) movl %ecx, %ebx orl $magic, %ebp addl $1, %ebp - jne L4 + jne L(4) movl $magic, %esi xorl %edx, %ebx @@ -214,7 +215,7 @@ L1: xorl %ecx, %ebp /* (word^magic) */ addl %ebx, %esi movl $magic, %edi - jnc L5 + jnc L(5) movl %edi, %ebp xorl %ebx, %esi @@ -223,19 +224,19 @@ L1: xorl %ecx, %ebp /* (word^magic) */ orl $magic, %esi addl $1, %esi - jne L5 + jne L(5) xorl %ecx, %ebp addl %ecx, %edi leal 4(%eax), %eax - jnc L4 + jnc L(4) movl %ecx, %ebx orl $magic, %ebp addl $1, %ebp - jne L4 + jne L(4) movl $magic, %esi xorl %edx, %ebx @@ -244,7 +245,7 @@ L1: xorl %ecx, %ebp /* (word^magic) */ addl %ebx, %esi movl $magic, %edi - jnc L5 + jnc L(5) movl %edi, %ebp xorl %ebx, %esi @@ -254,29 +255,29 @@ L1: xorl %ecx, %ebp /* (word^magic) */ addl $1, %esi - je L1 + je L(1) /* We know there is no NUL byte but a C byte in the word. %ebx contains NUL in this particular byte. */ -L5: subl $4, %eax /* adjust pointer */ +L(5): subl $4, %eax /* adjust pointer */ testb %bl, %bl /* first byte == C? */ - jz L2 /* yes => return pointer */ + jz L(2) /* yes => return pointer */ incl %eax /* increment pointer */ testb %bh, %bh /* second byte == C? */ - jz L2 /* yes => return pointer */ + jz L(2) /* yes => return pointer */ shrl $16, %ebx /* make upper bytes accessible */ incl %eax /* increment pointer */ cmp $0, %bl /* third byte == C */ - je L2 /* yes => return pointer */ + je L(2) /* yes => return pointer */ incl %eax /* increment pointer */ -L2: popl %ebp /* restore saved registers */ +L(2): popl %ebp /* restore saved registers */ popl %ebx popl %esi @@ -286,38 +287,38 @@ L2: popl %ebp /* restore saved register /* We know there is a NUL byte in the word. But we have to test whether there is an C byte before it in the word. */ -L4: subl $4, %eax /* adjust pointer */ +L(4): subl $4, %eax /* adjust pointer */ cmpb %dl, %cl /* first byte == C? */ - je L2 /* yes => return pointer */ + je L(2) /* yes => return pointer */ cmpb $0, %cl /* first byte == NUL? */ - je L3 /* yes => return NULL */ + je L(3) /* yes => return NULL */ incl %eax /* increment pointer */ cmpb %dl, %ch /* second byte == C? */ - je L2 /* yes => return pointer */ + je L(2) /* yes => return pointer */ cmpb $0, %ch /* second byte == NUL? */ - je L3 /* yes => return NULL */ + je L(3) /* yes => return NULL */ shrl $16, %ecx /* make upper bytes accessible */ incl %eax /* increment pointer */ cmpb %dl, %cl /* third byte == C? */ - je L2 /* yes => return pointer */ + je L(2) /* yes => return pointer */ cmpb $0, %cl /* third byte == NUL? */ - je L3 /* yes => return NULL */ + je L(3) /* yes => return NULL */ incl %eax /* increment pointer */ /* The test four the fourth byte is necessary! */ cmpb %dl, %ch /* fourth byte == C? */ - je L2 /* yes => return pointer */ + je L(2) /* yes => return pointer */ -L3: xorl %eax, %eax /* set return value = NULL */ +L(3): xorl %eax, %eax /* set return value = NULL */ popl %ebp /* restore saved registers */ popl %ebx diff -durpN glibc-2.0.2/sysdeps/i386/i586/strlen.S glibc-2.0.3/sysdeps/i386/i586/strlen.S --- glibc-2.0.2/sysdeps/i386/i586/strlen.S Thu Dec 19 20:34:24 1996 +++ glibc-2.0.3/sysdeps/i386/i586/strlen.S Fri Apr 4 14:01:01 1997 @@ -1,6 +1,6 @@ /* strlen -- Compute length og NUL terminated string. Highly optimized version for ix86, x>=5. - 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 Ulrich Drepper, . @@ -20,6 +20,7 @@ Boston, MA 02111-1307, USA. */ #include +#include "asm-syntax.h" /* This version is especially optimized for the i586 (and following?) processors. This is mainly done by using the two pipelines. The @@ -46,24 +47,24 @@ ENTRY(strlen) andl %eax, %edx /* separate last two bits of address */ - jz L1 /* aligned => start loop */ - jp L0 /* exactly two bits set */ + jz L(1) /* aligned => start loop */ + jp L(0) /* exactly two bits set */ cmpb %dh, (%eax) /* is byte NUL? */ - je L2 /* yes => return */ + je L(2) /* yes => return */ incl %eax /* increment pointer */ cmpb %dh, (%eax) /* is byte NUL? */ - je L2 /* yes => return */ + je L(2) /* yes => return */ incl %eax /* increment pointer */ xorl $2, %edx - jz L1 + jz L(1) -L0: cmpb %dh, (%eax) /* is byte NUL? */ - je L2 /* yes => return */ +L(0): cmpb %dh, (%eax) /* is byte NUL? */ + je L(2) /* yes => return */ incl %eax /* increment pointer */ xorl %edx, %edx /* We need %edx == 0 for later */ @@ -91,7 +92,7 @@ L0: cmpb %dh, (%eax) /* is byte NUL? */ Note: %edx == 0 in any case here. */ -L1: +L(1): movl (%eax), %ecx /* get word (= 4 bytes) in question */ addl $4, %eax /* adjust pointer for *next* word */ @@ -99,13 +100,13 @@ L1: addl $magic, %ecx /* add magic word */ decl %edx /* complete negation of word */ - jnc L3 /* previous addl caused overflow? */ + jnc L(3) /* previous addl caused overflow? */ xorl %ecx, %edx /* (word+magic)^word */ andl $~magic, %edx /* any of the carry flags set? */ - jne L3 /* yes => determine byte */ + jne L(3) /* yes => determine byte */ movl (%eax), %ecx /* get word (= 4 bytes) in question */ @@ -115,13 +116,13 @@ L1: addl $magic, %ecx /* add magic word */ decl %edx /* complete negation of word */ - jnc L3 /* previous addl caused overflow? */ + jnc L(3) /* previous addl caused overflow? */ xorl %ecx, %edx /* (word+magic)^word */ andl $~magic, %edx /* any of the carry flags set? */ - jne L3 /* yes => determine byte */ + jne L(3) /* yes => determine byte */ movl (%eax), %ecx /* get word (= 4 bytes) in question */ @@ -131,13 +132,13 @@ L1: addl $magic, %ecx /* add magic word */ decl %edx /* complete negation of word */ - jnc L3 /* previous addl caused overflow? */ + jnc L(3) /* previous addl caused overflow? */ xorl %ecx, %edx /* (word+magic)^word */ andl $~magic, %edx /* any of the carry flags set? */ - jne L3 /* yes => determine byte */ + jne L(3) /* yes => determine byte */ movl (%eax), %ecx /* get word (= 4 bytes) in question */ @@ -147,35 +148,35 @@ L1: addl $magic, %ecx /* add magic word */ decl %edx /* complete negation of word */ - jnc L3 /* previous addl caused overflow? */ + jnc L(3) /* previous addl caused overflow? */ xorl %ecx, %edx /* (word+magic)^word */ andl $~magic, %edx /* any of the carry flags set? */ - je L1 /* no => start loop again */ + je L(1) /* no => start loop again */ -L3: subl $4, %eax /* correct too early pointer increment */ +L(3): subl $4, %eax /* correct too early pointer increment */ subl $magic, %ecx cmpb $0, %cl /* lowest byte NUL? */ - jz L2 /* yes => return */ + jz L(2) /* yes => return */ inc %eax /* increment pointer */ testb %ch, %ch /* second byte NUL? */ - jz L2 /* yes => return */ + jz L(2) /* yes => return */ shrl $16, %ecx /* make upper bytes accessible */ incl %eax /* increment pointer */ cmpb $0, %cl /* is third byte NUL? */ - jz L2 /* yes => return */ + jz L(2) /* yes => return */ incl %eax /* increment pointer */ -L2: subl 4(%esp), %eax /* now compute the length as difference +L(2): subl 4(%esp), %eax /* now compute the length as difference between start and terminating NUL character */ diff -durpN glibc-2.0.2/sysdeps/i386/i586/sub_n.S glibc-2.0.3/sysdeps/i386/i586/sub_n.S --- glibc-2.0.2/sysdeps/i386/i586/sub_n.S Tue May 7 17:02:53 1996 +++ glibc-2.0.3/sysdeps/i386/i586/sub_n.S Fri Apr 4 14:01:05 1997 @@ -1,24 +1,22 @@ /* Pentium __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and store difference in a third limb vector. + Copyright (C) 1992, 1994, 1995, 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU MP Library. -Copyright (C) 1992, 1994, 1995, 1996 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + The GNU MP Library is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. + The GNU MP Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. -You should have received a copy of the GNU Library General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP Library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ /* INPUT PARAMETERS @@ -52,14 +50,14 @@ C_SYMBOL_NAME(__mpn_sub_n:) shrl $3,%ecx andl $7,%edx testl %ecx,%ecx /* zero carry flag */ - jz Lend + jz L(end) pushl %edx ALIGN (3) -Loop: movl 28(%edi),%eax /* fetch destination cache line */ +L(oop): movl 28(%edi),%eax /* fetch destination cache line */ leal 32(%edi),%edi -L1: movl (%esi),%eax +L(1): movl (%esi),%eax movl 4(%esi),%edx sbbl %ebx,%eax movl 4(%ebp),%ebx @@ -68,7 +66,7 @@ L1: movl (%esi),%eax movl %eax,-32(%edi) movl %edx,-28(%edi) -L2: movl 8(%esi),%eax +L(2): movl 8(%esi),%eax movl 12(%esi),%edx sbbl %ebx,%eax movl 12(%ebp),%ebx @@ -77,7 +75,7 @@ L2: movl 8(%esi),%eax movl %eax,-24(%edi) movl %edx,-20(%edi) -L3: movl 16(%esi),%eax +L(3): movl 16(%esi),%eax movl 20(%esi),%edx sbbl %ebx,%eax movl 20(%ebp),%ebx @@ -86,7 +84,7 @@ L3: movl 16(%esi),%eax movl %eax,-16(%edi) movl %edx,-12(%edi) -L4: movl 24(%esi),%eax +L(4): movl 24(%esi),%eax movl 28(%esi),%edx sbbl %ebx,%eax movl 28(%ebp),%ebx @@ -98,14 +96,14 @@ L4: movl 24(%esi),%eax leal 32(%esi),%esi leal 32(%ebp),%ebp decl %ecx - jnz Loop + jnz L(oop) popl %edx -Lend: +L(end): decl %edx /* test %edx w/o clobbering carry */ - js Lend2 + js L(end2) incl %edx -Loop2: +L(oop2): leal 4(%edi),%edi movl (%esi),%eax sbbl %ebx,%eax @@ -114,8 +112,8 @@ Loop2: leal 4(%esi),%esi leal 4(%ebp),%ebp decl %edx - jnz Loop2 -Lend2: + jnz L(oop2) +L(end2): movl (%esi),%eax sbbl %ebx,%eax movl %eax,(%edi) diff -durpN glibc-2.0.2/sysdeps/i386/i586/submul_1.S glibc-2.0.3/sysdeps/i386/i586/submul_1.S --- glibc-2.0.2/sysdeps/i386/i586/submul_1.S Tue May 7 17:02:54 1996 +++ glibc-2.0.3/sysdeps/i386/i586/submul_1.S Fri Apr 4 14:01:08 1997 @@ -1,24 +1,22 @@ /* Pentium __mpn_submul_1 -- Multiply a limb vector with a limb and subtract the result from a second limb vector. + Copyright (C) 1992, 1994, 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU MP Library. -Copyright (C) 1992, 1994, 1996 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + The GNU MP Library is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. + The GNU MP Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. -You should have received a copy of the GNU Library General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP Library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ /* INPUT PARAMETERS @@ -57,7 +55,7 @@ C_SYMBOL_NAME(__mpn_submul_1:) INSN2(xor,l ,R(ebx),R(ebx)) ALIGN (3) -Loop: INSN2(adc,l ,R(ebx),$0) +L(oop): INSN2(adc,l ,R(ebx),$0) INSN2(mov,l ,R(eax),MEM_INDEX(s1_ptr,size,4)) INSN1(mul,l ,R(s2_limb)) @@ -72,7 +70,7 @@ Loop: INSN2(adc,l ,R(ebx),$0) INSN1(inc,l ,R(size)) INSN2(mov,l ,R(ebx),R(edx)) - INSN1(jnz, ,Loop) + INSN1(jnz, ,L(oop)) INSN2(adc,l ,R(ebx),$0) INSN2(mov,l ,R(eax),R(ebx)) diff -durpN glibc-2.0.2/sysdeps/i386/lshift.S glibc-2.0.3/sysdeps/i386/lshift.S --- glibc-2.0.2/sysdeps/i386/lshift.S Tue May 7 17:02:57 1996 +++ glibc-2.0.3/sysdeps/i386/lshift.S Fri Apr 4 13:58:47 1997 @@ -1,23 +1,21 @@ -/* i80386 __mpn_lshift -- - -Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. +/* i80386 __mpn_lshift -- + Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. + This file is part of the GNU MP Library. -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + The GNU MP Library is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. + The GNU MP Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. -You should have received a copy of the GNU Library General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP Library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ /* INPUT PARAMETERS @@ -49,22 +47,22 @@ C_SYMBOL_NAME(__mpn_lshift:) xorl %eax,%eax shldl %cl,%ebx,%eax /* compute carry limb */ decl %edx - jz Lend + jz L(end) pushl %eax /* push carry limb onto stack */ testb $1,%edx - jnz L1 /* enter loop in the middle */ + jnz L(1) /* enter loop in the middle */ movl %ebx,%eax ALIGN (3) -Loop: movl (%esi,%edx,4),%ebx /* load next lower limb */ +L(oop): movl (%esi,%edx,4),%ebx /* load next lower limb */ shldl %cl,%ebx,%eax /* compute result limb */ movl %eax,(%edi,%edx,4) /* store it */ decl %edx -L1: movl (%esi,%edx,4),%eax +L(1): movl (%esi,%edx,4),%eax shldl %cl,%eax,%ebx movl %ebx,(%edi,%edx,4) decl %edx - jnz Loop + jnz L(oop) shll %cl,%eax /* compute least significant limb */ movl %eax,(%edi) /* store it */ @@ -76,7 +74,7 @@ L1: movl (%esi,%edx,4),%eax popl %edi ret -Lend: shll %cl,%ebx /* compute least significant limb */ +L(end): shll %cl,%ebx /* compute least significant limb */ movl %ebx,(%edi) /* store it */ popl %ebx diff -durpN glibc-2.0.2/sysdeps/i386/memchr.S glibc-2.0.3/sysdeps/i386/memchr.S --- glibc-2.0.2/sysdeps/i386/memchr.S Thu Dec 19 20:34:17 1996 +++ glibc-2.0.3/sysdeps/i386/memchr.S Fri Apr 4 13:58:52 1997 @@ -1,7 +1,7 @@ /* memchr (str, ch, n) -- Return pointer to first occurrence of CH in STR less than N. For Intel 80x86, x>=3. - Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper Optimised a little by Alan Modra @@ -54,7 +54,7 @@ ENTRY (memchr) /* If my must not test more than three characters test them one by one. This is especially true for 0. */ cmpl $4, %esi - jb L3 + jb L(3) /* At the moment %edx contains C. What we need for the algorithm is C in all bytes of the dword. Avoid @@ -71,30 +71,30 @@ ENTRY (memchr) reached. Don't use a loop for better performance. */ testb $3, %eax /* correctly aligned ? */ - je L2 /* yes => begin loop */ + je L(2) /* yes => begin loop */ cmpb %dl, (%eax) /* compare byte */ - je L9 /* target found => return */ + je L(9) /* target found => return */ incl %eax /* increment source pointer */ decl %esi /* decrement length counter */ - je L4 /* len==0 => return NULL */ + je L(4) /* len==0 => return NULL */ testb $3, %eax /* correctly aligned ? */ - je L2 /* yes => begin loop */ + je L(2) /* yes => begin loop */ cmpb %dl, (%eax) /* compare byte */ - je L9 /* target found => return */ + je L(9) /* target found => return */ incl %eax /* increment source pointer */ decl %esi /* decrement length counter */ - je L4 /* len==0 => return NULL */ + je L(4) /* len==0 => return NULL */ testb $3, %eax /* correctly aligned ? */ - je L2 /* yes => begin loop */ + je L(2) /* yes => begin loop */ cmpb %dl, (%eax) /* compare byte */ - je L9 /* target found => return */ + je L(9) /* target found => return */ incl %eax /* increment source pointer */ decl %esi /* decrement length counter */ /* no test for len==0 here, because this is done in the loop head */ - jmp L2 + jmp L(2) /* We exit the loop if adding MAGIC_BITS to LONGWORD fails to change any of the hole bits of LONGWORD. @@ -127,7 +127,7 @@ ENTRY (memchr) ALIGN (4) -L1: movl (%eax), %ecx /* get word (= 4 bytes) in question */ +L(1): movl (%eax), %ecx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edi /* magic value */ xorl %edx, %ecx /* XOR with word c|c|c|c => bytes of str == c are now 0 */ @@ -141,7 +141,7 @@ L1: movl (%eax), %ecx /* get word (= 4 b representation with more than 32 bits) not alter then last overflow, we can now test this condition. If no carry is signaled no overflow must have occurred in the last byte => it was 0. */ - jnc L8 + jnc L(8) /* We are only interested in carry bits that change due to the previous add, so remove original bits */ @@ -153,7 +153,7 @@ L1: movl (%eax), %ecx /* get word (= 4 b the addition will not result in 0. */ /* If at least one byte of the word is C we don't get 0 in %edi. */ - jnz L8 /* found it => return pointer */ + jnz L(8) /* found it => return pointer */ /* This process is unfolded four times for better performance. we don't increment the source pointer each time. Instead we @@ -169,12 +169,12 @@ L1: movl (%eax), %ecx /* get word (= 4 b addl %ecx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L7 /* highest byte is C => return pointer */ + jnc L(7) /* highest byte is C => return pointer */ xorl %ecx, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L7 /* found it => return pointer */ + jnz L(7) /* found it => return pointer */ movl 8(%eax), %ecx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edi /* magic value */ @@ -183,12 +183,12 @@ L1: movl (%eax), %ecx /* get word (= 4 b addl %ecx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L6 /* highest byte is C => return pointer */ + jnc L(6) /* highest byte is C => return pointer */ xorl %ecx, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L6 /* found it => return pointer */ + jnz L(6) /* found it => return pointer */ movl 12(%eax), %ecx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edi /* magic value */ @@ -197,21 +197,21 @@ L1: movl (%eax), %ecx /* get word (= 4 b addl %ecx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L5 /* highest byte is C => return pointer */ + jnc L(5) /* highest byte is C => return pointer */ xorl %ecx, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L5 /* found it => return pointer */ + jnz L(5) /* found it => return pointer */ /* Adjust both counters for a full round, i.e. 16 bytes. */ addl $16, %eax -L2: subl $16, %esi - jae L1 /* Still more than 16 bytes remaining */ +L(2): subl $16, %esi + jae L(1) /* Still more than 16 bytes remaining */ /* Process remaining bytes separately. */ cmpl $4-16, %esi /* rest < 4 bytes? */ - jb L3 /* yes, than test byte by byte */ + jb L(3) /* yes, than test byte by byte */ movl (%eax), %ecx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edi /* magic value */ @@ -220,16 +220,16 @@ L2: subl $16, %esi addl %ecx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L8 /* highest byte is C => return pointer */ + jnc L(8) /* highest byte is C => return pointer */ xorl %ecx, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jne L8 /* found it => return pointer */ + jne L(8) /* found it => return pointer */ addl $4, %eax /* adjust source pointer */ cmpl $8-16, %esi /* rest < 8 bytes? */ - jb L3 /* yes, than test byte by byte */ + jb L(3) /* yes, than test byte by byte */ movl (%eax), %ecx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edi /* magic value */ @@ -238,16 +238,16 @@ L2: subl $16, %esi addl %ecx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L8 /* highest byte is C => return pointer */ + jnc L(8) /* highest byte is C => return pointer */ xorl %ecx, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jne L8 /* found it => return pointer */ + jne L(8) /* found it => return pointer */ addl $4, %eax /* adjust source pointer */ cmpl $12-16, %esi /* rest < 12 bytes? */ - jb L3 /* yes, than test byte by byte */ + jb L(3) /* yes, than test byte by byte */ movl (%eax), %ecx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edi /* magic value */ @@ -256,60 +256,60 @@ L2: subl $16, %esi addl %ecx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L8 /* highest byte is C => return pointer */ + jnc L(8) /* highest byte is C => return pointer */ xorl %ecx, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jne L8 /* found it => return pointer */ + jne L(8) /* found it => return pointer */ addl $4, %eax /* adjust source pointer */ /* Check the remaining bytes one by one. */ -L3: andl $3, %esi /* mask out uninteresting bytes */ - jz L4 /* no remaining bytes => return NULL */ +L(3): andl $3, %esi /* mask out uninteresting bytes */ + jz L(4) /* no remaining bytes => return NULL */ cmpb %dl, (%eax) /* compare byte with C */ - je L9 /* equal, than return pointer */ + je L(9) /* equal, than return pointer */ incl %eax /* increment source pointer */ decl %esi /* decrement length */ - jz L4 /* no remaining bytes => return NULL */ + jz L(4) /* no remaining bytes => return NULL */ cmpb %dl, (%eax) /* compare byte with C */ - je L9 /* equal, than return pointer */ + je L(9) /* equal, than return pointer */ incl %eax /* increment source pointer */ decl %esi /* decrement length */ - jz L4 /* no remaining bytes => return NULL */ + jz L(4) /* no remaining bytes => return NULL */ cmpb %dl, (%eax) /* compare byte with C */ - je L9 /* equal, than return pointer */ + je L(9) /* equal, than return pointer */ -L4: /* no byte found => return NULL */ +L(4): /* no byte found => return NULL */ xorl %eax, %eax - jmp L9 + jmp L(9) /* add missing source pointer increments */ -L5: addl $4, %eax -L6: addl $4, %eax -L7: addl $4, %eax +L(5): addl $4, %eax +L(6): addl $4, %eax +L(7): addl $4, %eax /* Test for the matching byte in the word. %ecx contains a NUL char in the byte which originally was the byte we are looking at. */ -L8: testb %cl, %cl /* test first byte in dword */ - jz L9 /* if zero => return pointer */ +L(8): testb %cl, %cl /* test first byte in dword */ + jz L(9) /* if zero => return pointer */ incl %eax /* increment source pointer */ testb %ch, %ch /* test second byte in dword */ - jz L9 /* if zero => return pointer */ + jz L(9) /* if zero => return pointer */ incl %eax /* increment source pointer */ testl $0xff0000, %ecx /* test third byte in dword */ - jz L9 /* if zero => return pointer */ + jz L(9) /* if zero => return pointer */ incl %eax /* increment source pointer */ /* No further test needed we we know it is one of the four bytes. */ -L9: popl %edi /* pop saved registers */ +L(9): popl %edi /* pop saved registers */ popl %esi ret diff -durpN glibc-2.0.2/sysdeps/i386/memcmp.S glibc-2.0.3/sysdeps/i386/memcmp.S --- glibc-2.0.2/sysdeps/i386/memcmp.S Tue Oct 22 19:28:33 1996 +++ glibc-2.0.3/sysdeps/i386/memcmp.S Fri Apr 4 14:15:36 1997 @@ -1,22 +1,21 @@ -/* memcmp -- compare two memory blocks for differences in the first COUNT - bytes. -Copyright (C) 1995, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. +/* Compare two memory blocks for differences in the first COUNT bytes. + Copyright (C) 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 -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include #include "asm-syntax.h" @@ -44,7 +43,7 @@ ENTRY (memcmp) repe /* Compare at most %ecx bytes. */ cmpsb - jz L1 /* If even last byte was equal we return 0. */ + jz L(1) /* If even last byte was equal we return 0. */ /* The memory blocks are not equal. So result of the last subtraction is present in the carry flag. It is set when @@ -59,7 +58,7 @@ ENTRY (memcmp) Note that the following operation does not change 0xffffffff. */ orb $1, %al /* Change 0 to 1. */ -L1: popl %esi /* Restore registers. */ +L(1): popl %esi /* Restore registers. */ movl %edx, %edi ret diff -durpN glibc-2.0.2/sysdeps/i386/memset.c glibc-2.0.3/sysdeps/i386/memset.c --- glibc-2.0.2/sysdeps/i386/memset.c Sun Feb 21 14:10:35 1993 +++ glibc-2.0.3/sysdeps/i386/memset.c Fri Apr 4 13:58:57 1997 @@ -1,32 +1,30 @@ -/* memset -- set a block of memory to some byte value. +/* Set a block of memory to some byte value. For Intel 80x86, x>=3. - Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc. + Copyright (C) 1991, 1992, 1993, 1997 Free Software Foundation, Inc. Contributed by Torbjorn Granlund (tege@sics.se). -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ -#include #include #include #ifdef __GNUC__ -PTR -DEFUN(memset, (dstpp, c, len), - PTR dstpp AND int c AND size_t len) +void * +memset (void *dstpp, int c, size_t len) { unsigned long int dstp = (unsigned long int) dstpp; diff -durpN glibc-2.0.2/sysdeps/i386/mul_1.S glibc-2.0.3/sysdeps/i386/mul_1.S --- glibc-2.0.2/sysdeps/i386/mul_1.S Tue May 7 17:02:58 1996 +++ glibc-2.0.3/sysdeps/i386/mul_1.S Fri Apr 4 13:59:04 1997 @@ -1,24 +1,22 @@ /* i80386 __mpn_mul_1 -- Multiply a limb vector with a limb and store the result in a second limb vector. + Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. + This file is part of the GNU MP Library. -Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + The GNU MP Library is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. + The GNU MP Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. -You should have received a copy of the GNU Library General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP Library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ /* INPUT PARAMETERS @@ -56,7 +54,7 @@ C_SYMBOL_NAME(__mpn_mul_1:) INSN1(neg,l ,R(size)) INSN2(xor,l ,R(ebx),R(ebx)) ALIGN (3) -Loop: +L(oop): INSN2(mov,l ,R(eax),MEM_INDEX(s1_ptr,size,4)) INSN1(mul,l ,R(s2_limb)) INSN2(add,l ,R(eax),R(ebx)) @@ -65,7 +63,7 @@ Loop: INSN2(mov,l ,R(ebx),R(edx)) INSN1(inc,l ,R(size)) - INSN1(jnz, ,Loop) + INSN1(jnz, ,L(oop)) INSN2(mov,l ,R(eax),R(ebx)) INSN1(pop,l ,R(ebp)) diff -durpN glibc-2.0.2/sysdeps/i386/rshift.S glibc-2.0.3/sysdeps/i386/rshift.S --- glibc-2.0.2/sysdeps/i386/rshift.S Tue May 7 17:02:57 1996 +++ glibc-2.0.3/sysdeps/i386/rshift.S Fri Apr 4 13:59:07 1997 @@ -1,23 +1,21 @@ -/* i80386 __mpn_rshift -- - -Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. +/* i80386 __mpn_rshift -- + Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. + This file is part of the GNU MP Library. -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + The GNU MP Library is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. + The GNU MP Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. -You should have received a copy of the GNU Library General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP Library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ /* INPUT PARAMETERS @@ -51,22 +49,22 @@ C_SYMBOL_NAME(__mpn_rshift:) xorl %eax,%eax shrdl %cl,%ebx,%eax /* compute carry limb */ incl %edx - jz Lend + jz L(end) pushl %eax /* push carry limb onto stack */ testb $1,%edx - jnz L1 /* enter loop in the middle */ + jnz L(1) /* enter loop in the middle */ movl %ebx,%eax ALIGN (3) -Loop: movl (%esi,%edx,4),%ebx /* load next higher limb */ +L(oop): movl (%esi,%edx,4),%ebx /* load next higher limb */ shrdl %cl,%ebx,%eax /* compute result limb */ movl %eax,(%edi,%edx,4) /* store it */ incl %edx -L1: movl (%esi,%edx,4),%eax +L(1): movl (%esi,%edx,4),%eax shrdl %cl,%eax,%ebx movl %ebx,(%edi,%edx,4) incl %edx - jnz Loop + jnz L(oop) shrl %cl,%eax /* compute most significant limb */ movl %eax,(%edi) /* store it */ @@ -78,7 +76,7 @@ L1: movl (%esi,%edx,4),%eax popl %edi ret -Lend: shrl %cl,%ebx /* compute most significant limb */ +L(end): shrl %cl,%ebx /* compute most significant limb */ movl %ebx,(%edi) /* store it */ popl %ebx diff -durpN glibc-2.0.2/sysdeps/i386/stpcpy.S glibc-2.0.3/sysdeps/i386/stpcpy.S --- glibc-2.0.2/sysdeps/i386/stpcpy.S Thu Dec 19 20:34:17 1996 +++ glibc-2.0.3/sysdeps/i386/stpcpy.S Fri Apr 4 13:59:14 1997 @@ -1,7 +1,6 @@ -/* stpcpy -- copy SRC to DEST returning the address of the terminating '\0' - in DEST. +/* Copy SRC to DEST returning the address of the terminating '\0' in DEST. For Intel 80x86, x>=3. - Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper (drepper@gnu.ai.mit.edu). @@ -56,32 +55,32 @@ ENTRY (__stpcpy) is achieved by the use of index+base addressing mode. As the loop counter we use the destination address because this is also the result. */ -L1: addl $4, %eax /* increment loop counter */ +L(1): addl $4, %eax /* increment loop counter */ movb (%eax,%ecx), %dl /* load current char */ movb %dl, (%eax) /* and store it */ testb %dl, %dl /* was it NUL? */ - jz L2 /* yes, then exit */ + jz L(2) /* yes, then exit */ movb 1(%eax,%ecx), %dl /* load current char */ movb %dl, 1(%eax) /* and store it */ testb %dl, %dl /* was it NUL? */ - jz L3 /* yes, then exit */ + jz L(3) /* yes, then exit */ movb 2(%eax,%ecx), %dl /* load current char */ movb %dl, 2(%eax) /* and store it */ testb %dl, %dl /* was it NUL? */ - jz L4 /* yes, then exit */ + jz L(4) /* yes, then exit */ movb 3(%eax,%ecx), %dl /* load current char */ movb %dl, 3(%eax) /* and store it */ testb %dl, %dl /* was it NUL? */ - jnz L1 /* no, then continue loop */ + jnz L(1) /* no, then continue loop */ incl %eax /* correct loop counter */ -L4: incl %eax -L3: incl %eax -L2: +L(4): incl %eax +L(3): incl %eax +L(2): ret END (__stpcpy) diff -durpN glibc-2.0.2/sysdeps/i386/stpncpy.S glibc-2.0.3/sysdeps/i386/stpncpy.S --- glibc-2.0.2/sysdeps/i386/stpncpy.S Thu Dec 19 20:34:18 1996 +++ glibc-2.0.3/sysdeps/i386/stpncpy.S Fri Apr 4 13:59:16 1997 @@ -1,7 +1,7 @@ -/* stpncpy -- copy no more then N bytes from SRC to DEST, returning the - address of the terminating '\0' in DEST. +/* copy no more then N bytes from SRC to DEST, returning the address of + the terminating '\0' in DEST. For Intel 80x86, x>=3. - Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper Some bug fixes by Alan Modra @@ -45,98 +45,98 @@ ENTRY (__stpncpy) subl %eax, %esi /* magic: reduce number of loop variants to one using addressing mode */ - jmp L1 /* jump to loop "head" */ + jmp L(1) /* jump to loop "head" */ ALIGN(4) /* Four times unfolded loop with two loop counters. We get the the third value (the source address) by using the index+base addressing mode. */ -L2: movb (%eax,%esi), %dl /* load current char */ +L(2): movb (%eax,%esi), %dl /* load current char */ movb %dl, (%eax) /* and store it */ testb %dl, %dl /* was it NUL? */ - jz L7 /* yes, then exit */ + jz L(7) /* yes, then exit */ movb 1(%eax,%esi), %dl /* load current char */ movb %dl, 1(%eax) /* and store it */ testb %dl, %dl /* was it NUL? */ - jz L6 /* yes, then exit */ + jz L(6) /* yes, then exit */ movb 2(%eax,%esi), %dl /* load current char */ movb %dl, 2(%eax) /* and store it */ testb %dl, %dl /* was it NUL? */ - jz L5 /* yes, then exit */ + jz L(5) /* yes, then exit */ movb 3(%eax,%esi), %dl /* load current char */ movb %dl, 3(%eax) /* and store it */ testb %dl, %dl /* was it NUL? */ - jz L4 /* yes, then exit */ + jz L(4) /* yes, then exit */ addl $4, %eax /* increment loop counter for full round */ -L1: subl $4, %ecx /* still more than 4 bytes allowed? */ - jae L2 /* yes, then go to start of loop */ +L(1): subl $4, %ecx /* still more than 4 bytes allowed? */ + jae L(2) /* yes, then go to start of loop */ /* The maximal remaining 15 bytes are not processed in a loop. */ addl $4, %ecx /* correct above subtraction */ - jz L9 /* maximal allowed char reached => go to end */ + jz L(9) /* maximal allowed char reached => go to end */ movb (%eax,%esi), %dl /* load current char */ movb %dl, (%eax) /* and store it */ testb %dl, %dl /* was it NUL? */ - jz L3 /* yes, then exit */ + jz L(3) /* yes, then exit */ incl %eax /* increment pointer */ decl %ecx /* decrement length counter */ - jz L9 /* no more allowed => exit */ + jz L(9) /* no more allowed => exit */ movb (%eax,%esi), %dl /* load current char */ movb %dl, (%eax) /* and store it */ testb %dl, %dl /* was it NUL? */ - jz L3 /* yes, then exit */ + jz L(3) /* yes, then exit */ incl %eax /* increment pointer */ decl %ecx /* decrement length counter */ - jz L9 /* no more allowed => exit */ + jz L(9) /* no more allowed => exit */ movb (%eax,%esi), %dl /* load current char */ movb %dl, (%eax) /* and store it */ testb %dl, %dl /* was it NUL? */ - jz L3 /* yes, then exit */ + jz L(3) /* yes, then exit */ incl %eax /* increment pointer */ - jmp L9 /* we don't have to test for counter underflow + jmp L(9) /* we don't have to test for counter underflow because we know we had a most 3 bytes remaining => exit */ /* When coming from the main loop we have to adjust the pointer. */ -L4: decl %ecx /* decrement counter */ +L(4): decl %ecx /* decrement counter */ incl %eax /* increment pointer */ -L5: decl %ecx /* increment pointer */ +L(5): decl %ecx /* increment pointer */ incl %eax /* increment pointer */ -L6: decl %ecx /* increment pointer */ +L(6): decl %ecx /* increment pointer */ incl %eax /* increment pointer */ -L7: +L(7): addl $3, %ecx /* correct pre-decrementation of counter at the beginning of the loop; but why 3 and not 4? Very simple, we have to count the NUL char we already wrote. */ - jz L9 /* counter is also 0 => exit */ + jz L(9) /* counter is also 0 => exit */ /* We now have to fill the rest of the buffer with NUL. This is done in a tricky way. Please note that the addressing mode used below is not the same we used above. Here we use the %ecx register. */ -L8: +L(8): movb $0, (%ecx,%eax) /* store NUL char */ -L3: decl %ecx /* all bytes written? */ - jnz L8 /* no, then again */ +L(3): decl %ecx /* all bytes written? */ + jnz L(8) /* no, then again */ -L9: popl %esi /* restore saved register content */ +L(9): popl %esi /* restore saved register content */ ret END (__stpncpy) diff -durpN glibc-2.0.2/sysdeps/i386/strchr.S glibc-2.0.3/sysdeps/i386/strchr.S --- glibc-2.0.2/sysdeps/i386/strchr.S Thu Dec 19 20:34:19 1996 +++ glibc-2.0.3/sysdeps/i386/strchr.S Fri Apr 4 13:59:25 1997 @@ -1,6 +1,6 @@ /* strchr (str, ch) -- Return pointer to first occurrence of CH in STR. For Intel 80x86, x>=3. - Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper Some optimisations by Alan Modra @@ -57,34 +57,34 @@ ENTRY (strchr) boundaries are multiples of 4. */ testb $3, %eax /* correctly aligned ? */ - jz L11 /* yes => begin loop */ + jz L(11) /* yes => begin loop */ movb (%eax), %cl /* load byte in question (we need it twice) */ cmpb %cl, %dl /* compare byte */ - je L6 /* target found => return */ + je L(6) /* target found => return */ testb %cl, %cl /* is NUL? */ - jz L2 /* yes => return NULL */ + jz L(2) /* yes => return NULL */ incl %eax /* increment pointer */ testb $3, %eax /* correctly aligned ? */ - jz L11 /* yes => begin loop */ + jz L(11) /* yes => begin loop */ movb (%eax), %cl /* load byte in question (we need it twice) */ cmpb %cl, %dl /* compare byte */ - je L6 /* target found => return */ + je L(6) /* target found => return */ testb %cl, %cl /* is NUL? */ - jz L2 /* yes => return NULL */ + jz L(2) /* yes => return NULL */ incl %eax /* increment pointer */ testb $3, %eax /* correctly aligned ? */ - jz L11 /* yes => begin loop */ + jz L(11) /* yes => begin loop */ movb (%eax), %cl /* load byte in question (we need it twice) */ cmpb %cl, %dl /* compare byte */ - je L6 /* target found => return */ + je L(6) /* target found => return */ testb %cl, %cl /* is NUL? */ - jz L2 /* yes => return NULL */ + jz L(2) /* yes => return NULL */ incl %eax /* increment pointer */ /* No we have reached alignment. */ - jmp L11 /* begin loop */ + jmp L(11) /* begin loop */ /* We exit the loop if adding MAGIC_BITS to LONGWORD fails to change any of the hole bits of LONGWORD. @@ -116,9 +116,9 @@ ENTRY (strchr) ALIGN(4) -L1: addl $16, %eax /* adjust pointer for whole round */ +L(1): addl $16, %eax /* adjust pointer for whole round */ -L11: movl (%eax), %ecx /* get word (= 4 bytes) in question */ +L(11): movl (%eax), %ecx /* get word (= 4 bytes) in question */ xorl %edx, %ecx /* XOR with word c|c|c|c => bytes of str == c are now 0 */ movl $0xfefefeff, %edi /* magic value */ @@ -132,7 +132,7 @@ L11: movl (%eax), %ecx /* get word (= 4 representation with more than 32 bits) not alter then last overflow, we can now test this condition. If no carry is signaled no overflow must have occurred in the last byte => it was 0. */ - jnc L7 + jnc L(7) /* We are only interested in carry bits that change due to the previous add, so remove original bits */ @@ -144,7 +144,7 @@ L11: movl (%eax), %ecx /* get word (= 4 the addition will not result in 0. */ /* If at least one byte of the word is C we don't get 0 in %edi. */ - jnz L7 /* found it => return pointer */ + jnz L(7) /* found it => return pointer */ /* Now we made sure the dword does not contain the character we are looking for. But because we deal with strings we have to check @@ -155,12 +155,12 @@ L11: movl (%eax), %ecx /* get word (= 4 addl %ecx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L2 /* highest byte is NUL => return NULL */ + jnc L(2) /* highest byte is NUL => return NULL */ xorl %ecx, %edi /* (word+magic)^word */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L2 /* found NUL => return NULL */ + jnz L(2) /* found NUL => return NULL */ movl 4(%eax), %ecx /* get word (= 4 bytes) in question */ xorl %edx, %ecx /* XOR with word c|c|c|c => bytes of str == c @@ -169,23 +169,23 @@ L11: movl (%eax), %ecx /* get word (= 4 addl %ecx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* C */ - jnc L71 /* highest byte is C => return pointer */ + jnc L(71) /* highest byte is C => return pointer */ xorl %ecx, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L71 /* found it => return pointer */ + jnz L(71) /* found it => return pointer */ xorl %edx, %ecx /* restore original dword without reload */ movl $0xfefefeff, %edi /* magic value */ addl %ecx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L2 /* highest byte is NUL => return NULL */ + jnc L(2) /* highest byte is NUL => return NULL */ xorl %ecx, %edi /* (word+magic)^word */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L2 /* found NUL => return NULL */ + jnz L(2) /* found NUL => return NULL */ movl 8(%eax), %ecx /* get word (= 4 bytes) in question */ xorl %edx, %ecx /* XOR with word c|c|c|c => bytes of str == c @@ -194,23 +194,23 @@ L11: movl (%eax), %ecx /* get word (= 4 addl %ecx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* C */ - jnc L72 /* highest byte is C => return pointer */ + jnc L(72) /* highest byte is C => return pointer */ xorl %ecx, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L72 /* found it => return pointer */ + jnz L(72) /* found it => return pointer */ xorl %edx, %ecx /* restore original dword without reload */ movl $0xfefefeff, %edi /* magic value */ addl %ecx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L2 /* highest byte is NUL => return NULL */ + jnc L(2) /* highest byte is NUL => return NULL */ xorl %ecx, %edi /* (word+magic)^word */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L2 /* found NUL => return NULL */ + jnz L(2) /* found NUL => return NULL */ movl 12(%eax), %ecx /* get word (= 4 bytes) in question */ xorl %edx, %ecx /* XOR with word c|c|c|c => bytes of str == c @@ -219,59 +219,59 @@ L11: movl (%eax), %ecx /* get word (= 4 addl %ecx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* C */ - jnc L73 /* highest byte is C => return pointer */ + jnc L(73) /* highest byte is C => return pointer */ xorl %ecx, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L73 /* found it => return pointer */ + jnz L(73) /* found it => return pointer */ xorl %edx, %ecx /* restore original dword without reload */ movl $0xfefefeff, %edi /* magic value */ addl %ecx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L2 /* highest byte is NUL => return NULL */ + jnc L(2) /* highest byte is NUL => return NULL */ xorl %ecx, %edi /* (word+magic)^word */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jz L1 /* no NUL found => restart loop */ + jz L(1) /* no NUL found => restart loop */ -L2: /* Return NULL. */ +L(2): /* Return NULL. */ xorl %eax, %eax /* load NULL in return value register */ popl %edi /* restore saved register content */ ret -L73: addl $4, %eax /* adjust pointer */ -L72: addl $4, %eax -L71: addl $4, %eax +L(73): addl $4, %eax /* adjust pointer */ +L(72): addl $4, %eax +L(71): addl $4, %eax /* We now scan for the byte in which the character was matched. But we have to take care of the case that a NUL char is found before this in the dword. */ -L7: testb %cl, %cl /* is first byte C? */ - jz L6 /* yes => return pointer */ +L(7): testb %cl, %cl /* is first byte C? */ + jz L(6) /* yes => return pointer */ cmpb %dl, %cl /* is first byte NUL? */ - je L2 /* yes => return NULL */ + je L(2) /* yes => return NULL */ incl %eax /* it's not in the first byte */ testb %ch, %ch /* is second byte C? */ - jz L6 /* yes => return pointer */ + jz L(6) /* yes => return pointer */ cmpb %dl, %ch /* is second byte NUL? */ - je L2 /* yes => return NULL? */ + je L(2) /* yes => return NULL? */ incl %eax /* it's not in the second byte */ shrl $16, %ecx /* make upper byte accessible */ testb %cl, %cl /* is third byte C? */ - jz L6 /* yes => return pointer */ + jz L(6) /* yes => return pointer */ cmpb %dl, %cl /* is third byte NUL? */ - je L2 /* yes => return NULL */ + je L(2) /* yes => return NULL */ /* It must be in the fourth byte and it cannot be NUL. */ incl %eax -L6: popl %edi /* restore saved register content */ +L(6): popl %edi /* restore saved register content */ ret END (strchr) diff -durpN glibc-2.0.2/sysdeps/i386/strcspn.S glibc-2.0.3/sysdeps/i386/strcspn.S --- glibc-2.0.2/sysdeps/i386/strcspn.S Thu Dec 19 20:34:19 1996 +++ glibc-2.0.3/sysdeps/i386/strcspn.S Fri Apr 4 13:59:29 1997 @@ -1,7 +1,7 @@ /* strcspn (str, ss) -- Return the length of the initial segment of STR which contains no characters from SS. For Intel 80x86, x>=3. - Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper Bug fixes by Alan Modra @@ -114,28 +114,28 @@ ENTRY (strcspn) /* Don't change the "testb $0xff,%%cl" to "testb %%cl,%%cl". We want longer instructions so that the next loop aligns without adding nops. */ -L2: movb (%eax), %cl /* get byte from stopset */ +L(2): movb (%eax), %cl /* get byte from stopset */ testb %cl, %cl /* is NUL char? */ - jz L1 /* yes => start compare loop */ + jz L(1) /* yes => start compare loop */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ movb 1(%eax), %cl /* get byte from stopset */ testb $0xff, %cl /* is NUL char? */ - jz L1 /* yes => start compare loop */ + jz L(1) /* yes => start compare loop */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ movb 2(%eax), %cl /* get byte from stopset */ testb $0xff, %cl /* is NUL char? */ - jz L1 /* yes => start compare loop */ + jz L(1) /* yes => start compare loop */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ movb 3(%eax), %cl /* get byte from stopset */ addl $4, %eax /* increment stopset pointer */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ testb $0xff, %cl /* is NUL char? */ - jnz L2 /* no => process next dword from stopset */ + jnz L(2) /* no => process next dword from stopset */ -L1: leal -4(%edx), %eax /* prepare loop */ +L(1): leal -4(%edx), %eax /* prepare loop */ /* We use a neat trick for the following loop. Normally we would have to test for two termination conditions @@ -146,29 +146,29 @@ L1: leal -4(%edx), %eax /* prepare loop value in the table. But the value of NUL is NUL so the loop terminates for NUL in every case. */ -L3: addl $4, %eax /* adjust pointer for full loop round */ +L(3): addl $4, %eax /* adjust pointer for full loop round */ movb (%eax), %cl /* get byte from string */ cmpb %cl, (%esp,%ecx) /* is it contained in stopset? */ - je L4 /* yes => return */ + je L(4) /* yes => return */ movb 1(%eax), %cl /* get byte from string */ cmpb %cl, (%esp,%ecx) /* is it contained in stopset? */ - je L5 /* yes => return */ + je L(5) /* yes => return */ movb 2(%eax), %cl /* get byte from string */ cmpb %cl, (%esp,%ecx) /* is it contained in stopset? */ - je L6 /* yes => return */ + je L(6) /* yes => return */ movb 3(%eax), %cl /* get byte from string */ cmpb %cl, (%esp,%ecx) /* is it contained in stopset? */ - jne L3 /* yes => return */ + jne L(3) /* yes => return */ incl %eax /* adjust pointer */ -L6: incl %eax -L5: incl %eax +L(6): incl %eax +L(5): incl %eax -L4: subl %edx, %eax /* we have to return the number of valid +L(4): subl %edx, %eax /* we have to return the number of valid characters, so compute distance to first non-valid character */ addl $256, %esp /* remove stopset */ diff -durpN glibc-2.0.2/sysdeps/i386/strlen.c glibc-2.0.3/sysdeps/i386/strlen.c --- glibc-2.0.2/sysdeps/i386/strlen.c Tue Oct 22 19:28:36 1996 +++ glibc-2.0.3/sysdeps/i386/strlen.c Fri Apr 4 13:59:32 1997 @@ -1,22 +1,21 @@ -/* strlen -- determine the length of a string. - For Intel 80x86, x>=3. - Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc. +/* Determine the length of a string. For Intel 80x86, x>=3. + Copyright (C) 1991, 1992, 1993, 1996, 1997 Free Software Foundation, Inc. Contributed by Torbjorn Granlund (tege@sics.se). -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include diff -durpN glibc-2.0.2/sysdeps/i386/strpbrk.S glibc-2.0.3/sysdeps/i386/strpbrk.S --- glibc-2.0.2/sysdeps/i386/strpbrk.S Tue Oct 22 19:28:36 1996 +++ glibc-2.0.3/sysdeps/i386/strpbrk.S Fri Apr 4 13:59:35 1997 @@ -1,25 +1,25 @@ /* strcspn (str, ss) -- Return the length of the initial segement of STR which contains no characters from SS. -For Intel 80x86, x>=3. -Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. -Contributed by Ulrich Drepper -Bug fixes by Alan Modra -This file is part of the GNU C Library. + For Intel 80x86, x>=3. + Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. + Contributed by Ulrich Drepper + Bug fixes by Alan Modra + This file is part of the GNU C Library. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include #include "asm-syntax.h" @@ -114,28 +114,28 @@ ENTRY (strpbrk) /* Don't change the "testb $0xff,%%cl" to "testb %%cl,%%cl". We want longer instructions so that the next loop aligns without adding nops. */ -L2: movb (%eax), %cl /* get byte from stopset */ +L(2): movb (%eax), %cl /* get byte from stopset */ testb %cl, %cl /* is NUL char? */ - jz L1 /* yes => start compare loop */ + jz L(1) /* yes => start compare loop */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ movb 1(%eax), %cl /* get byte from stopset */ testb $0xff, %cl /* is NUL char? */ - jz L1 /* yes => start compare loop */ + jz L(1) /* yes => start compare loop */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ movb 2(%eax), %cl /* get byte from stopset */ testb $0xff, %cl /* is NUL char? */ - jz L1 /* yes => start compare loop */ + jz L(1) /* yes => start compare loop */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ movb 3(%eax), %cl /* get byte from stopset */ addl $4, %eax /* increment stopset pointer */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ testb $0xff, %cl /* is NUL char? */ - jnz L2 /* no => process next dword from stopset */ + jnz L(2) /* no => process next dword from stopset */ -L1: leal -4(%edx), %eax /* prepare loop */ +L(1): leal -4(%edx), %eax /* prepare loop */ /* We use a neat trick for the following loop. Normally we would have to test for two termination conditions @@ -146,33 +146,33 @@ L1: leal -4(%edx), %eax /* prepare loop value in the table. But the value of NUL is NUL so the loop terminates for NUL in every case. */ -L3: addl $4, %eax /* adjust pointer for full loop round */ +L(3): addl $4, %eax /* adjust pointer for full loop round */ movb (%eax), %cl /* get byte from string */ cmpb %cl, (%esp,%ecx) /* is it contained in stopset? */ - je L4 /* yes => return */ + je L(4) /* yes => return */ movb 1(%eax), %cl /* get byte from string */ cmpb %cl, (%esp,%ecx) /* is it contained in stopset? */ - je L5 /* yes => return */ + je L(5) /* yes => return */ movb 2(%eax), %cl /* get byte from string */ cmpb %cl, (%esp,%ecx) /* is it contained in stopset? */ - je L6 /* yes => return */ + je L(6) /* yes => return */ movb 3(%eax), %cl /* get byte from string */ cmpb %cl, (%esp,%ecx) /* is it contained in stopset? */ - jne L3 /* yes => return */ + jne L(3) /* yes => return */ incl %eax /* adjust pointer */ -L6: incl %eax -L5: incl %eax +L(6): incl %eax +L(5): incl %eax -L4: addl $256, %esp /* remove stopset */ +L(4): addl $256, %esp /* remove stopset */ orb %cl, %cl /* was last character NUL? */ - jnz L7 /* no => return pointer */ + jnz L(7) /* no => return pointer */ xorl %eax, %eax /* return NULL */ -L7: ret +L(7): ret END (strpbrk) diff -durpN glibc-2.0.2/sysdeps/i386/strrchr.S glibc-2.0.3/sysdeps/i386/strrchr.S --- glibc-2.0.2/sysdeps/i386/strrchr.S Thu Dec 19 20:34:20 1996 +++ glibc-2.0.3/sysdeps/i386/strrchr.S Fri Apr 4 13:59:41 1997 @@ -1,6 +1,6 @@ /* strrchr (str, ch) -- Return pointer to last occurrence of CH in STR. For Intel 80x86, x>=3. - Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper Some optimisations by Alan Modra @@ -59,37 +59,37 @@ ENTRY (strrchr) boundaries are multiples of 4. */ testl $3, %esi /* correctly aligned ? */ - jz L19 /* yes => begin loop */ + jz L(19) /* yes => begin loop */ movb (%esi), %dl /* load byte in question (we need it twice) */ cmpb %dl, %cl /* compare byte */ - jne L11 /* target found => return */ + jne L(11) /* target found => return */ movl %esi, %eax /* remember pointer as possible result */ -L11: orb %dl, %dl /* is NUL? */ - jz L2 /* yes => return NULL */ +L(11): orb %dl, %dl /* is NUL? */ + jz L(2) /* yes => return NULL */ incl %esi /* increment pointer */ testl $3, %esi /* correctly aligned ? */ - jz L19 /* yes => begin loop */ + jz L(19) /* yes => begin loop */ movb (%esi), %dl /* load byte in question (we need it twice) */ cmpb %dl, %cl /* compare byte */ - jne L12 /* target found => return */ + jne L(12) /* target found => return */ movl %esi, %eax /* remember pointer as result */ -L12: orb %dl, %dl /* is NUL? */ - jz L2 /* yes => return NULL */ +L(12): orb %dl, %dl /* is NUL? */ + jz L(2) /* yes => return NULL */ incl %esi /* increment pointer */ testl $3, %esi /* correctly aligned ? */ - jz L19 /* yes => begin loop */ + jz L(19) /* yes => begin loop */ movb (%esi), %dl /* load byte in question (we need it twice) */ cmpb %dl, %cl /* compare byte */ - jne L13 /* target found => return */ + jne L(13) /* target found => return */ movl %esi, %eax /* remember pointer as result */ -L13: orb %dl, %dl /* is NUL? */ - jz L2 /* yes => return NULL */ +L(13): orb %dl, %dl /* is NUL? */ + jz L(2) /* yes => return NULL */ incl %esi /* increment pointer */ /* No we have reached alignment. */ - jmp L19 /* begin loop */ + jmp L(19) /* begin loop */ /* We exit the loop if adding MAGIC_BITS to LONGWORD fails to change any of the hole bits of LONGWORD. @@ -140,34 +140,34 @@ L13: orb %dl, %dl /* is NUL? */ .byte 0 #endif -L4: subl $4, %esi /* adjust pointer */ -L41: subl $4, %esi -L42: subl $4, %esi -L43: testl $0xff000000, %edx /* is highest byte == C? */ - jnz L33 /* no => try other bytes */ +L(4): subl $4, %esi /* adjust pointer */ +L(41): subl $4, %esi +L(42): subl $4, %esi +L(43): testl $0xff000000, %edx /* is highest byte == C? */ + jnz L(33) /* no => try other bytes */ leal 15(%esi), %eax /* store address as result */ - jmp L1 /* and start loop again */ + jmp L(1) /* and start loop again */ -L3: subl $4, %esi /* adjust pointer */ -L31: subl $4, %esi -L32: subl $4, %esi -L33: testl $0xff0000, %edx /* is C in third byte? */ - jnz L51 /* no => try other bytes */ +L(3): subl $4, %esi /* adjust pointer */ +L(31): subl $4, %esi +L(32): subl $4, %esi +L(33): testl $0xff0000, %edx /* is C in third byte? */ + jnz L(51) /* no => try other bytes */ leal 14(%esi), %eax /* store address as result */ - jmp L1 /* and start loop again */ + jmp L(1) /* and start loop again */ -L51: +L(51): /* At this point we know that the byte is in one of the lower bytes. We make a guess and correct it if necessary. This reduces the number of necessary jumps. */ leal 12(%esi), %eax /* guess address of lowest byte as result */ testb %dh, %dh /* is guess correct? */ - jnz L1 /* yes => start loop */ + jnz L(1) /* yes => start loop */ leal 13(%esi), %eax /* correct guess to second byte */ -L1: addl $16, %esi /* increment pointer for full round */ +L(1): addl $16, %esi /* increment pointer for full round */ -L19: movl (%esi), %edx /* get word (= 4 bytes) in question */ +L(19): movl (%esi), %edx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edi /* magic value */ addl %edx, %edi /* add the magic value to the word. We get carry bits reported for each byte which @@ -180,7 +180,7 @@ L19: movl (%esi), %edx /* get word (= 4 overflow, we can now test this condition. If no carry is signaled no overflow must have occurred in the last byte => it was 0. */ - jnc L20 /* found NUL => check last word */ + jnc L(20) /* found NUL => check last word */ /* We are only interested in carry bits that change due to the previous add, so remove original bits */ @@ -192,7 +192,7 @@ L19: movl (%esi), %edx /* get word (= 4 the addition will not result in 0. */ /* If at least one byte of the word is C we don't get 0 in %edi. */ - jnz L20 /* found NUL => check last word */ + jnz L(20) /* found NUL => check last word */ /* Now we made sure the dword does not contain the character we are looking for. But because we deal with strings we have to check @@ -204,89 +204,89 @@ L19: movl (%esi), %edx /* get word (= 4 addl %edx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L4 /* highest byte is C => examine dword */ + jnc L(4) /* highest byte is C => examine dword */ xorl %edx, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L3 /* C is detected in the word => examine it */ + jnz L(3) /* C is detected in the word => examine it */ movl 4(%esi), %edx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edi /* magic value */ addl %edx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L21 /* found NUL => check last word */ + jnc L(21) /* found NUL => check last word */ xorl %edx, %edi /* (word+magic)^word */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L21 /* found NUL => check last word */ + jnz L(21) /* found NUL => check last word */ xorl %ecx, %edx /* XOR with word c|c|c|c => bytes of str == c are now 0 */ movl $0xfefefeff, %edi /* magic value */ addl %edx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L41 /* highest byte is C => examine dword */ + jnc L(41) /* highest byte is C => examine dword */ xorl %edx, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L31 /* C is detected in the word => examine it */ + jnz L(31) /* C is detected in the word => examine it */ movl 8(%esi), %edx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edi /* magic value */ addl %edx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L22 /* found NUL => check last word */ + jnc L(22) /* found NUL => check last word */ xorl %edx, %edi /* (word+magic)^word */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L22 /* found NUL => check last word */ + jnz L(22) /* found NUL => check last word */ xorl %ecx, %edx /* XOR with word c|c|c|c => bytes of str == c are now 0 */ movl $0xfefefeff, %edi /* magic value */ addl %edx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L42 /* highest byte is C => examine dword */ + jnc L(42) /* highest byte is C => examine dword */ xorl %edx, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L32 /* C is detected in the word => examine it */ + jnz L(32) /* C is detected in the word => examine it */ movl 12(%esi), %edx /* get word (= 4 bytes) in question */ movl $0xfefefeff, %edi /* magic value */ addl %edx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L23 /* found NUL => check last word */ + jnc L(23) /* found NUL => check last word */ xorl %edx, %edi /* (word+magic)^word */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jnz L23 /* found NUL => check last word */ + jnz L(23) /* found NUL => check last word */ xorl %ecx, %edx /* XOR with word c|c|c|c => bytes of str == c are now 0 */ movl $0xfefefeff, %edi /* magic value */ addl %edx, %edi /* add the magic value to the word. We get carry bits reported for each byte which is *not* 0 */ - jnc L43 /* highest byte is C => examine dword */ + jnc L(43) /* highest byte is C => examine dword */ xorl %edx, %edi /* ((word^charmask)+magic)^(word^charmask) */ orl $0xfefefeff, %edi /* set all non-carry bits */ incl %edi /* add 1: if one carry bit was *not* set the addition will not result in 0. */ - jz L1 /* C is not detected => restart loop */ - jmp L33 /* examine word */ + jz L(1) /* C is not detected => restart loop */ + jmp L(33) /* examine word */ -L23: addl $4, %esi /* adjust pointer */ -L22: addl $4, %esi -L21: addl $4, %esi +L(23): addl $4, %esi /* adjust pointer */ +L(22): addl $4, %esi +L(21): addl $4, %esi /* What remains to do is to test which byte the NUL char is and whether the searched character appears in one of the bytes @@ -294,30 +294,30 @@ L21: addl $4, %esi In this case a pointer to the terminating NUL char has to be returned. */ -L20: cmpb %cl, %dl /* is first byte == C? */ - jne L24 /* no => skip */ +L(20): cmpb %cl, %dl /* is first byte == C? */ + jne L(24) /* no => skip */ movl %esi, %eax /* store address as result */ -L24: testb %dl, %dl /* is first byte == NUL? */ - jz L2 /* yes => return */ +L(24): testb %dl, %dl /* is first byte == NUL? */ + jz L(2) /* yes => return */ cmpb %cl, %dh /* is second byte == C? */ - jne L25 /* no => skip */ + jne L(25) /* no => skip */ leal 1(%esi), %eax /* store address as result */ -L25: testb %dh, %dh /* is second byte == NUL? */ - jz L2 /* yes => return */ +L(25): testb %dh, %dh /* is second byte == NUL? */ + jz L(2) /* yes => return */ shrl $16,%edx /* make upper bytes accessible */ cmpb %cl, %dl /* is third byte == C */ - jne L26 /* no => skip */ + jne L(26) /* no => skip */ leal 2(%esi), %eax /* store address as result */ -L26: testb %dl, %dl /* is third byte == NUL */ - jz L2 /* yes => return */ +L(26): testb %dl, %dl /* is third byte == NUL */ + jz L(2) /* yes => return */ cmpb %cl, %dh /* is fourth byte == C */ - jne L2 /* no => skip */ + jne L(2) /* no => skip */ leal 3(%esi), %eax /* store address as result */ -L2: popl %esi /* restore saved register content */ +L(2): popl %esi /* restore saved register content */ popl %edi ret diff -durpN glibc-2.0.2/sysdeps/i386/strspn.S glibc-2.0.3/sysdeps/i386/strspn.S --- glibc-2.0.2/sysdeps/i386/strspn.S Thu Dec 19 20:34:20 1996 +++ glibc-2.0.3/sysdeps/i386/strspn.S Fri Apr 4 13:59:45 1997 @@ -1,7 +1,7 @@ /* strcspn (str, ss) -- Return the length of the initial segment of STR which contains only characters from SS. For Intel 80x86, x>=3. - Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper Bug fixes by Alan Modra @@ -114,28 +114,28 @@ ENTRY (strspn) /* Don't change the "testb $0xff,%%cl" to "testb %%cl,%%cl". We want longer instructions so that the next loop aligns without adding nops. */ -L2: movb (%eax), %cl /* get byte from stopset */ +L(2): movb (%eax), %cl /* get byte from stopset */ testb %cl, %cl /* is NUL char? */ - jz L1 /* yes => start compare loop */ + jz L(1) /* yes => start compare loop */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ movb 1(%eax), %cl /* get byte from stopset */ testb $0xff, %cl /* is NUL char? */ - jz L1 /* yes => start compare loop */ + jz L(1) /* yes => start compare loop */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ movb 2(%eax), %cl /* get byte from stopset */ testb $0xff, %cl /* is NUL char? */ - jz L1 /* yes => start compare loop */ + jz L(1) /* yes => start compare loop */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ movb 3(%eax), %cl /* get byte from stopset */ addl $4, %eax /* increment stopset pointer */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ testb $0xff, %cl /* is NUL char? */ - jnz L2 /* no => process next dword from stopset */ + jnz L(2) /* no => process next dword from stopset */ -L1: leal -4(%edx), %eax /* prepare loop */ +L(1): leal -4(%edx), %eax /* prepare loop */ /* We use a neat trick for the following loop. Normally we would have to test for two termination conditions @@ -146,29 +146,29 @@ L1: leal -4(%edx), %eax /* prepare loop value in the table. But the value of NUL is NUL so the loop terminates for NUL in every case. */ -L3: addl $4, %eax /* adjust pointer for full loop round */ +L(3): addl $4, %eax /* adjust pointer for full loop round */ movb (%eax), %cl /* get byte from string */ testb %cl, (%esp,%ecx) /* is it contained in skipset? */ - jz L4 /* no => return */ + jz L(4) /* no => return */ movb 1(%eax), %cl /* get byte from string */ testb %cl, (%esp,%ecx) /* is it contained in skipset? */ - jz L5 /* no => return */ + jz L(5) /* no => return */ movb 2(%eax), %cl /* get byte from string */ testb %cl, (%esp,%ecx) /* is it contained in skipset? */ - jz L6 /* no => return */ + jz L(6) /* no => return */ movb 3(%eax), %cl /* get byte from string */ testb %cl, (%esp,%ecx) /* is it contained in skipset? */ - jnz L3 /* yes => start loop again */ + jnz L(3) /* yes => start loop again */ incl %eax /* adjust pointer */ -L6: incl %eax -L5: incl %eax +L(6): incl %eax +L(5): incl %eax -L4: subl %edx, %eax /* we have to return the number of valid +L(4): subl %edx, %eax /* we have to return the number of valid characters, so compute distance to first non-valid character */ addl $256, %esp /* remove stopset */ diff -durpN glibc-2.0.2/sysdeps/i386/strtok.S glibc-2.0.3/sysdeps/i386/strtok.S --- glibc-2.0.2/sysdeps/i386/strtok.S Tue Oct 22 19:28:38 1996 +++ glibc-2.0.3/sysdeps/i386/strtok.S Fri Apr 4 13:59:55 1997 @@ -1,25 +1,26 @@ /* strtok (str, delim) -- Return next DELIM separated token from STR. -For Intel 80x86, x>=3. -Copyright (C) 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper , 1996. + For Intel 80x86, x>=3. + Copyright (C) 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1996. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include +#include "asm-syntax.h" /* This file can be used for three variants of the strtok function: @@ -56,15 +57,16 @@ ENTRY (FUNCTION) #if !defined (USE_AS_STRTOK_R) && defined (PIC) pushl %ebx /* Save PIC register. */ - call Lhere -Lhere: popl %ebx - addl $_GLOBAL_OFFSET_TABLE_+[.-Lhere], %ebx + call L(here) +L(here): + popl %ebx + addl $_GLOBAL_OFFSET_TABLE_+[.-L(here)], %ebx #endif /* If the pointer is NULL we have to use the stored value of the last run. */ cmpl $0, %edx - jne L0 + jne L(0) #ifdef USE_AS_STRTOK_R /* The value is stored in the third argument. */ @@ -80,7 +82,7 @@ Lhere: popl %ebx # endif #endif -L0: +L(0): /* First we create a table with flags for all possible characters. For the ASCII (7bit/8bit) or ISO-8859-X character sets which are supported by the C string functions we have 256 characters. @@ -157,28 +159,28 @@ L0: Although all the following instruction only modify %cl we always have a correct zero-extended 32-bit value in %ecx. */ -L2: movb (%eax), %cl /* get byte from stopset */ +L(2): movb (%eax), %cl /* get byte from stopset */ testb %cl, %cl /* is NUL char? */ - jz L1 /* yes => start compare loop */ + jz L(1) /* yes => start compare loop */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ movb 1(%eax), %cl /* get byte from stopset */ testb $0xff, %cl /* is NUL char? */ - jz L1 /* yes => start compare loop */ + jz L(1) /* yes => start compare loop */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ movb 2(%eax), %cl /* get byte from stopset */ testb $0xff, %cl /* is NUL char? */ - jz L1 /* yes => start compare loop */ + jz L(1) /* yes => start compare loop */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ movb 3(%eax), %cl /* get byte from stopset */ addl $4, %eax /* increment stopset pointer */ movb %cl, (%esp,%ecx) /* set corresponding byte in stopset table */ testb $0xff, %cl /* is NUL char? */ - jnz L2 /* no => process next dword from stopset */ + jnz L(2) /* no => process next dword from stopset */ -L1: leal -4(%edx), %eax /* prepare loop */ +L(1): leal -4(%edx), %eax /* prepare loop */ /* We use a neat trick for the following loop. Normally we would have to test for two termination conditions @@ -189,68 +191,68 @@ L1: leal -4(%edx), %eax /* prepare loop value in the table. The value of NUL is NUL so the loop terminates for NUL in every case. */ -L3: addl $4, %eax /* adjust pointer for full loop round */ +L(3): addl $4, %eax /* adjust pointer for full loop round */ movb (%eax), %cl /* get byte from string */ testb %cl, (%esp,%ecx) /* is it contained in stopset? */ - jz L4 /* no => start of token */ + jz L(4) /* no => start of token */ movb 1(%eax), %cl /* get byte from string */ testb %cl, (%esp,%ecx) /* is it contained in stopset? */ - jz L5 /* no => start of token */ + jz L(5) /* no => start of token */ movb 2(%eax), %cl /* get byte from string */ testb %cl, (%esp,%ecx) /* is it contained in stopset? */ - jz L6 /* no => start of token */ + jz L(6) /* no => start of token */ movb 3(%eax), %cl /* get byte from string */ testb %cl, (%esp,%ecx) /* is it contained in stopset? */ - jnz L3 /* yes => start of loop */ + jnz L(3) /* yes => start of loop */ incl %eax /* adjust pointer */ -L6: incl %eax -L5: incl %eax +L(6): incl %eax +L(5): incl %eax /* Now we have to terminate the string. */ -L4: leal -4(%eax), %edx /* We use %EDX for the next run. */ +L(4): leal -4(%eax), %edx /* We use %EDX for the next run. */ -L7: addl $4, %edx /* adjust pointer for full loop round */ +L(7): addl $4, %edx /* adjust pointer for full loop round */ movb (%edx), %cl /* get byte from string */ cmpb %cl, (%esp,%ecx) /* is it contained in skipset? */ - je L8 /* yes => return */ + je L(8) /* yes => return */ movb 1(%edx), %cl /* get byte from string */ cmpb %cl, (%esp,%ecx) /* is it contained in skipset? */ - je L9 /* yes => return */ + je L(9) /* yes => return */ movb 2(%edx), %cl /* get byte from string */ cmpb %cl, (%esp,%ecx) /* is it contained in skipset? */ - je L10 /* yes => return */ + je L(10) /* yes => return */ movb 3(%edx), %cl /* get byte from string */ cmpb %cl, (%esp,%ecx) /* is it contained in skipset? */ - jne L7 /* no => start loop again */ + jne L(7) /* no => start loop again */ incl %edx /* adjust pointer */ -L10: incl %edx -L9: incl %edx +L(10): incl %edx +L(9): incl %edx -L8: /* Remove the stopset table. */ +L(8): /* Remove the stopset table. */ addl $256, %esp cmpl %eax, %edx - je LreturnNULL /* There was no token anymore. */ + je L(returnNULL) /* There was no token anymore. */ movb $0, (%edx) /* Terminate string. */ /* Are we at end of string? */ cmpb $0, %cl - je L11 + je L(11) incl %edx -L11: +L(11): /* Store the pointer to the next character. */ #ifdef USE_AS_STRTOK_R @@ -266,7 +268,7 @@ L11: #endif ret -LreturnNULL: +L(returnNULL): xorl %eax, %eax /* Store current pointer for next round. */ diff -durpN glibc-2.0.2/sysdeps/i386/sub_n.S glibc-2.0.3/sysdeps/i386/sub_n.S --- glibc-2.0.2/sysdeps/i386/sub_n.S Tue May 7 17:02:59 1996 +++ glibc-2.0.3/sysdeps/i386/sub_n.S Fri Apr 4 14:00:00 1997 @@ -1,24 +1,22 @@ /* i80386 __mpn_sub_n -- Add two limb vectors of the same length > 0 and store sum in a third limb vector. + Copyright (C) 1992, 1994, 1995, 1997 Free Software Foundation, Inc. + This file is part of the GNU MP Library. -Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + The GNU MP Library is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. + The GNU MP Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. -You should have received a copy of the GNU Library General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP Library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ /* INPUT PARAMETERS @@ -47,7 +45,7 @@ C_SYMBOL_NAME(__mpn_sub_n:) shrl $3,%ecx /* compute count for unrolled loop */ negl %eax andl $7,%eax /* get index where to start loop */ - jz Loop /* necessary special case for 0 */ + jz L(oop) /* necessary special case for 0 */ incl %ecx /* adjust loop count */ shll $2,%eax /* adjustment for pointers... */ subl %eax,%edi /* ... since they are offset ... */ @@ -57,18 +55,18 @@ C_SYMBOL_NAME(__mpn_sub_n:) #ifdef PIC /* Calculate start address in loop for PIC. Due to limitations in some assemblers, Loop-L0-3 cannot be put into the leal */ - call L0 -L0: leal (%eax,%eax,8),%eax + call L(0) +L(0): leal (%eax,%eax,8),%eax addl (%esp),%eax - addl $(Loop-L0-3),%eax + addl $(L(oop)-L(0)-3),%eax addl $4,%esp #else /* Calculate start address in loop for non-PIC. */ - leal (Loop - 3)(%eax,%eax,8),%eax + leal (L(oop) - 3)(%eax,%eax,8),%eax #endif jmp *%eax /* jump into loop */ ALIGN (3) -Loop: movl (%esi),%eax +L(oop): movl (%esi),%eax sbbl (%edx),%eax movl %eax,(%edi) movl 4(%esi),%eax @@ -96,7 +94,7 @@ Loop: movl (%esi),%eax leal 32(%esi),%esi leal 32(%edx),%edx decl %ecx - jnz Loop + jnz L(oop) sbbl %eax,%eax negl %eax diff -durpN glibc-2.0.2/sysdeps/i386/submul_1.S glibc-2.0.3/sysdeps/i386/submul_1.S --- glibc-2.0.2/sysdeps/i386/submul_1.S Tue May 7 17:02:59 1996 +++ glibc-2.0.3/sysdeps/i386/submul_1.S Fri Apr 4 14:00:03 1997 @@ -1,24 +1,22 @@ /* i80386 __mpn_submul_1 -- Multiply a limb vector with a limb and subtract the result from a second limb vector. + Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. + This file is part of the GNU MP Library. -Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Library General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at your -option) any later version. + The GNU MP Library is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public -License for more details. + The GNU MP Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. -You should have received a copy of the GNU Library General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public License + along with the GNU MP Library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ /* INPUT PARAMETERS @@ -56,7 +54,7 @@ C_SYMBOL_NAME(__mpn_submul_1:) INSN1(neg,l ,R(size)) INSN2(xor,l ,R(ebx),R(ebx)) ALIGN (3) -Loop: +L(oop): INSN2(mov,l ,R(eax),MEM_INDEX(s1_ptr,size,4)) INSN1(mul,l ,R(s2_limb)) INSN2(add,l ,R(eax),R(ebx)) @@ -66,7 +64,7 @@ Loop: INSN2(mov,l ,R(ebx),R(edx)) INSN1(inc,l ,R(size)) - INSN1(jnz, ,Loop) + INSN1(jnz, ,L(oop)) INSN2(mov,l ,R(eax),R(ebx)) INSN1(pop,l ,R(ebp)) diff -durpN glibc-2.0.2/sysdeps/libm-ieee754/s_asinhl.c glibc-2.0.3/sysdeps/libm-ieee754/s_asinhl.c --- glibc-2.0.2/sysdeps/libm-ieee754/s_asinhl.c Sat Oct 5 22:04:03 1996 +++ glibc-2.0.3/sysdeps/libm-ieee754/s_asinhl.c Fri Apr 4 14:20:38 1997 @@ -65,6 +65,6 @@ huge= 1.000000000000000000e+4900L; t = x*x; w =__log1pl(fabsl(x)+t/(one+__ieee754_sqrtl(one+t))); } - if(hx>0x7fff) return w; else return -w; + if(hx&0x8000) return -w; else return w; } weak_alias (__asinhl, asinhl) diff -durpN glibc-2.0.2/sysdeps/libm-ieee754/s_ceill.c glibc-2.0.3/sysdeps/libm-ieee754/s_ceill.c --- glibc-2.0.2/sysdeps/libm-ieee754/s_ceill.c Thu May 30 12:07:33 1996 +++ glibc-2.0.3/sysdeps/libm-ieee754/s_ceill.c Thu Apr 17 16:43:38 1997 @@ -48,34 +48,34 @@ static long double huge = 1.0e4930; GET_LDOUBLE_WORDS(se,i0,i1,x); sx = (se>>15)&1; j0 = (se&0x7fff)-0x3fff; - if(j0<32) { + if(j0<31) { if(j0<0) { /* raise inexact if x != 0 */ if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */ if(sx) {es=0x8000;i0=0;i1=0;} else if((i0|i1)!=0) { es=0x3fff;i0=0;i1=0;} } } else { - i = (0xffffffff)>>j0; + i = (0x7fffffff)>>j0; if(((i0&i)|i1)==0) return x; /* x is integral */ if(huge+x>0.0) { /* raise inexact flag */ if(sx==0) { - if (j0>0) i0 += (0x80000000)>>(j0-1); + if (j0>0) i0 += (0x80000000)>>j0; else ++se; } i0 &= (~i); i1=0; } } - } else if (j0>63) { + } else if (j0>62) { if(j0==0x4000) return x+x; /* inf or NaN */ else return x; /* x is integral */ } else { - i = ((u_int32_t)(0xffffffff))>>(j0-32); + i = ((u_int32_t)(0xffffffff))>>(j0-31); if((i1&i)==0) return x; /* x is integral */ if(huge+x>0.0) { /* raise inexact flag */ if(sx==0) { - if(j0==32) i0+=1; + if(j0==31) i0+=1; else { - j = i1 + (1<<(64-j0)); + j = i1 + (1<<(63-j0)); if(j>15); + return (int)((u_int32_t)((exp&0x7fff)-0x7fff)>>31); } weak_alias (__finitel, finitel) diff -durpN glibc-2.0.2/sysdeps/libm-ieee754/s_floorl.c glibc-2.0.3/sysdeps/libm-ieee754/s_floorl.c --- glibc-2.0.2/sysdeps/libm-ieee754/s_floorl.c Thu May 30 12:07:40 1996 +++ glibc-2.0.3/sysdeps/libm-ieee754/s_floorl.c Thu Apr 17 16:43:44 1997 @@ -48,7 +48,7 @@ static long double huge = 1.0e4930; GET_LDOUBLE_WORDS(se,i0,i1,x); sx = (se>>15)&1; j0 = (se&0x7fff)-0x3fff; - if(j0<32) { + if(j0<31) { if(j0<0) { /* raise inexact if x != 0 */ if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */ if(sx==0) {se=0;i0=i1=0;} @@ -56,26 +56,26 @@ static long double huge = 1.0e4930; { se=0xbfff;i0;i1=0;} } } else { - i = (0xffffffff)>>j0; + i = (0x7fffffff)>>j0; if(((i0&i)|i1)==0) return x; /* x is integral */ if(huge+x>0.0) { /* raise inexact flag */ if(sx) { - if (j0>0) i0 += (0x80000000)>>(j0-1); + if (j0>0) i0 += (0x80000000)>>j0; else ++se; i0 &= (~i); i1=0; } } - } else if (j0>63) { + } else if (j0>62) { if(j0==0x4000) return x+x; /* inf or NaN */ else return x; /* x is integral */ } else { - i = ((u_int32_t)(0xffffffff))>>(j0-32); + i = ((u_int32_t)(0xffffffff))>>(j0-31); if((i1&i)==0) return x; /* x is integral */ if(huge+x>0.0) { /* raise inexact flag */ if(sx) { - if(j0==32) i0+=1; + if(j0==31) i0+=1; else { - j = i1+(1<<(64-j0)); + j = i1+(1<<(63-j0)); if(j #include -#include /* IEEE positive infinity (-HUGE_VAL is negative infinity). */ -#if __BYTE_ORDER == __BIG_ENDIAN #define __HUGE_VAL_bytes { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } -#endif -#if __BYTE_ORDER == __LITTLE_ENDIAN -#define __HUGE_VAL_bytes { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f } -#endif #define __huge_val_t union { unsigned char __c[8]; double __d; } #ifdef __GNUC__ @@ -48,12 +42,7 @@ static __huge_val_t __huge_val = { __HUG #ifdef __USE_GNU -#if __BYTE_ORDER == __BIG_ENDIAN #define __HUGE_VALf_bytes { 0x7f, 0x80, 0, 0 } -#endif -#if __BYTE_ORDER == __LITTLE_ENDIAN -#define __HUGE_VALf_bytes { 0, 0, 0x80, 0x7f } -#endif #define __huge_valf_t union { unsigned char __c[4]; float __f; } #ifdef __GNUC__ @@ -65,12 +54,7 @@ static __huge_valf_t __huge_valf = { __H #endif /* GCC. */ -#if __BYTE_ORDER == __BIG_ENDIAN #define __HUGE_VALl_bytes { 0x7f, 0xff, 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0 } -#endif -#if __BYTE_ORDER == __LITTLE_ENDIAN -#define __HUGE_VALl_bytes { 0, 0, 0, 0, 0, 0, 0, 0x80, 0xff, 0x7f, 0, 0 } -#endif #define __huge_vall_t union { unsigned char __c[12]; long double __ld; } #ifdef __GNUC__ diff -durpN glibc-2.0.2/sysdeps/stub/fchdir.c glibc-2.0.3/sysdeps/stub/fchdir.c --- glibc-2.0.2/sysdeps/stub/fchdir.c Thu Sep 26 23:32:17 1996 +++ glibc-2.0.3/sysdeps/stub/fchdir.c Fri Apr 4 14:17:31 1997 @@ -1,20 +1,20 @@ -/* Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. +/* Copyright (C) 1991, 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 -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include #include @@ -25,7 +25,7 @@ int fchdir (fd) int fd; { - __set_errno (ENOSYS(; + __set_errno (ENOSYS); return -1; } diff -durpN glibc-2.0.2/sysdeps/stub/fchmod.c glibc-2.0.3/sysdeps/stub/fchmod.c --- glibc-2.0.2/sysdeps/stub/fchmod.c Thu Sep 26 23:32:22 1996 +++ glibc-2.0.3/sysdeps/stub/fchmod.c Fri Apr 4 14:17:28 1997 @@ -1,20 +1,20 @@ -/* Copyright (C) 1991, 1992, 1995, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. +/* Copyright (C) 1991, 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 -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include #include @@ -29,7 +29,7 @@ __fchmod (fd, mode) { if (fd < 0) { - __set_errno (EINVAL(; + __set_errno (EINVAL); return -1; } diff -durpN glibc-2.0.2/sysdeps/stub/shmat.c glibc-2.0.3/sysdeps/stub/shmat.c --- glibc-2.0.2/sysdeps/stub/shmat.c Thu Sep 26 23:37:12 1996 +++ glibc-2.0.3/sysdeps/stub/shmat.c Sat Apr 19 09:40:53 1997 @@ -1,21 +1,21 @@ -/* Copyright (C) 1995, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper , August 1995. +/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , August 1995. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include #include @@ -24,14 +24,14 @@ Boston, MA 02111-1307, USA. */ segment of the calling process. SHMADDR and SHMFLG determine how and where the segment is attached. */ -char * +void * shmat (shmid, shmaddr, shmflg) int shmid; - char *shmaddr; + const void *shmaddr; int shmflg; { __set_errno (ENOSYS); - return (char *) -1; + return (void *) -1; } stub_warning (shmat) diff -durpN glibc-2.0.2/sysdeps/stub/shmdt.c glibc-2.0.3/sysdeps/stub/shmdt.c --- glibc-2.0.2/sysdeps/stub/shmdt.c Thu Sep 26 23:37:17 1996 +++ glibc-2.0.3/sysdeps/stub/shmdt.c Sat Apr 19 09:40:57 1997 @@ -1,21 +1,21 @@ -/* Copyright (C) 1995, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper , August 1995. +/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , August 1995. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include #include @@ -25,7 +25,7 @@ Boston, MA 02111-1307, USA. */ int shmdt (shmaddr) - char *shmaddr; + const void *shmaddr; { __set_errno (ENOSYS); return -1; diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/Dist glibc-2.0.3/sysdeps/unix/sysv/linux/Dist --- glibc-2.0.2/sysdeps/unix/sysv/linux/Dist Tue Mar 18 23:16:07 1997 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/Dist Fri Apr 18 11:39:46 1997 @@ -13,8 +13,7 @@ net/if_ppp.h net/ppp-comp.h net/ppp_defs.h net/route.h -netatalk/atalk.h -netinet/icmp.h +netatalk/at.h netinet/if_fddi.h netinet/if_tr.h netinet/igmp.h diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/Makefile glibc-2.0.3/sysdeps/unix/sysv/linux/Makefile --- glibc-2.0.2/sysdeps/unix/sysv/linux/Makefile Tue Mar 18 23:11:56 1997 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/Makefile Fri Apr 4 15:03:37 1997 @@ -53,7 +53,7 @@ inhibit-siglist := yes endif ifeq ($(subdir),inet) -sysdep_headers += netinet/in_systm.h netinet/udp.h netinet/icmp.h \ +sysdep_headers += netinet/in_systm.h netinet/udp.h \ netinet/if_fddi.h netinet/if_tr.h netinet/igmp.h \ netinet/ip_fw.h netinet/ip_icmp.h sys/socketvar.h endif diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/alpha/termbits.h glibc-2.0.3/sysdeps/unix/sysv/linux/alpha/termbits.h --- glibc-2.0.2/sysdeps/unix/sysv/linux/alpha/termbits.h Fri Mar 21 23:09:03 1997 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/alpha/termbits.h Thu Apr 17 16:07:18 1997 @@ -112,10 +112,6 @@ struct termios #define VT1 00200000 #define XTABS 01000000 /* Hmm.. Linux/i386 considers this part of TABDLY.. */ -/* On Linux there is no OXTABS bit defined. Take it as an alias for - XTABS. */ -#define OXTABS XTABS - /* c_cflag bit meaning */ #define CBAUD 0000037 #define B0 0000000 /* hang up */ diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/iovec.h glibc-2.0.3/sysdeps/unix/sysv/linux/iovec.h --- glibc-2.0.2/sysdeps/unix/sysv/linux/iovec.h Mon Mar 25 12:47:24 1996 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/iovec.h Thu Apr 17 16:04:31 1997 @@ -1,3 +1,47 @@ -/* The Linux kernel header defines `struct iovec' for us. */ +/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. -#include + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _IOVEC_H + +#define _IOVEC_H 1 + +#include + + +/* We should normally use the Linux kernel header file to define this + type and macros but this calls for trouble because of the header + includes other kernel headers. */ + +/* Size of object which can be written atomically. + + This macro has different values in different kernel versions. The + latest versions of ther kernel use 1024 and this is good choice. Since + the C library implementation of readv/writev is able to emulate the + functionality even if the currently running kernel does not support + this large value the readv/writev call will not fail because of this. */ +#define UIO_MAXIOV 1024 + + +/* Structure for scatter/gather I/O. */ +struct iovec + { + void *iov_base; /* Pointer to data. */ + size_t iov_len; /* Length of data. */ + }; + +#endif /* iovec.h */ diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/msgrcv.c glibc-2.0.3/sysdeps/unix/sysv/linux/msgrcv.c --- glibc-2.0.2/sysdeps/unix/sysv/linux/msgrcv.c Fri Sep 8 10:01:11 1995 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/msgrcv.c Thu Apr 17 16:04:10 1997 @@ -1,21 +1,21 @@ -/* Copyright (C) 1995 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper , August 1995. +/* Copyright (C) 1995, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , August 1995. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include @@ -24,7 +24,7 @@ msgrcv (msqid, msgp, msgsz, msgtyp, msgf int msqid; void *msgp; size_t msgsz; - long msgtyp; + long int msgtyp; int msgflg; { /* The problem here is that Linux' calling convention only allows up to diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/netatalk/at.h glibc-2.0.3/sysdeps/unix/sysv/linux/netatalk/at.h --- glibc-2.0.2/sysdeps/unix/sysv/linux/netatalk/at.h Wed Dec 31 19:00:00 1969 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/netatalk/at.h Thu Apr 17 16:13:51 1997 @@ -0,0 +1,28 @@ +/* Copyright (C) 1991, 92, 93, 95, 96, 97 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 + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef __NETATALK_ATALK_H +#define __NETATALK_ATALK_H 1 + +#include +#include +#include + +#define SOL_ATALK 258 /* sockopt level for atalk */ + +#endif diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/netatalk/atalk.h glibc-2.0.3/sysdeps/unix/sysv/linux/netatalk/atalk.h --- glibc-2.0.2/sysdeps/unix/sysv/linux/netatalk/atalk.h Mon Feb 17 23:08:37 1997 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/netatalk/atalk.h Wed Dec 31 19:00:00 1969 @@ -1,27 +0,0 @@ -/* Copyright (C) 1991, 92, 93, 95, 96, 97 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 - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef __NETATALK_ATALK_H -#define __NETATALK_ATALK_H 1 - -#include -#include - -#define SOL_ATALK 258 /* sockopt level for atalk */ - -#endif diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/netinet/icmp.h glibc-2.0.3/sysdeps/unix/sysv/linux/netinet/icmp.h --- glibc-2.0.2/sysdeps/unix/sysv/linux/netinet/icmp.h Mon Feb 17 23:08:39 1997 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/netinet/icmp.h Wed Dec 31 19:00:00 1969 @@ -1,25 +0,0 @@ -/* Copyright (C) 1991, 92, 93, 95, 96, 97 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 - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _NETINET_ICMP_H -#define _NETINET_ICMP_H 1 - -#include -#include - -#endif /* netinet/icmp.h */ diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/netinet/ip.h glibc-2.0.3/sysdeps/unix/sysv/linux/netinet/ip.h --- glibc-2.0.2/sysdeps/unix/sysv/linux/netinet/ip.h Mon Feb 17 23:08:45 1997 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/netinet/ip.h Thu Apr 17 15:59:43 1997 @@ -26,62 +26,65 @@ __BEGIN_DECLS -struct timestamp { - u_int8_t len; - u_int8_t ptr; +struct timestamp + { + u_int8_t len; + u_int8_t ptr; #if __BYTE_ORDER == __LITTLE_ENDIAN - u_int8_t flags:4, - overflow:4; + u_int8_t flags:4; + u_int8_t overflow:4; #elif __BYTE_ORDER == __BIG_ENDIAN - u_int8_t overflow:4, - flags:4; + u_int8_t overflow:4; + u_int8_t flags:4; #else #error "Please fix " -#endif - u_int32_t data[9]; -}; +#endif + u_int32_t data[9]; + }; -struct ip_options { - u_int32_t faddr; /* Saved first hop address */ - u_int8_t optlen; - u_int8_t srr; - u_int8_t rr; - u_int8_t ts; - u_int8_t is_setbyuser:1, /* Set by setsockopt? */ - is_data:1, /* Options in __data, rather than skb */ - is_strictroute:1, /* Strict source route */ - srr_is_hit:1, /* Packet destination addr was our one */ - is_changed:1, /* IP checksum more not valid */ - rr_needaddr:1, /* Need to record addr of outgoing dev */ - ts_needtime:1, /* Need to record timestamp */ - ts_needaddr:1; /* Need to record addr of outgoing dev */ - u_int8_t router_alert; - u_int8_t __pad1; - u_int8_t __pad2; - u_int8_t __data[0]; -}; +struct ip_options + { + u_int32_t faddr; /* Saved first hop address */ + u_int8_t optlen; + u_int8_t srr; + u_int8_t rr; + u_int8_t ts; + u_int8_t is_setbyuser:1; /* Set by setsockopt? */ + u_int8_t is_data:1; /* Options in __data, rather than skb */ + u_int8_t is_strictroute:1; /* Strict source route */ + u_int8_t srr_is_hit:1; /* Packet destination addr was our one */ + u_int8_t is_changed:1; /* IP checksum more not valid */ + u_int8_t rr_needaddr:1; /* Need to record addr of outgoing dev */ + u_int8_t ts_needtime:1; /* Need to record timestamp */ + u_int8_t ts_needaddr:1; /* Need to record addr of outgoing dev */ + u_int8_t router_alert; + u_int8_t __pad1; + u_int8_t __pad2; + u_int8_t __data[0]; + }; -struct iphdr { +struct iphdr + { #if __BYTE_ORDER == __LITTLE_ENDIAN - u_int8_t ihl:4, - version:4; + u_int8_t ihl:4; + u_int8_t version:4; #elif __BYTE_ORDER == __BIG_ENDIAN - u_int8_t version:4, - ihl:4; + u_int8_t version:4; + u_int8_t ihl:4; #else #error "Please fix " #endif - u_int8_t tos; - u_int16_t tot_len; - u_int16_t id; - u_int16_t frag_off; - u_int8_t ttl; - u_int8_t protocol; - u_int16_t check; - u_int32_t saddr; - u_int32_t daddr; - /*The options start here. */ -}; + u_int8_t tos; + u_int16_t tot_len; + u_int16_t id; + u_int16_t frag_off; + u_int8_t ttl; + u_int8_t protocol; + u_int16_t check; + u_int32_t saddr; + u_int32_t daddr; + /*The options start here. */ + }; #ifdef __USE_BSD /* @@ -127,46 +130,48 @@ struct iphdr { /* * Structure of an internet header, naked of options. */ -struct ip { +struct ip + { #if __BYTE_ORDER == __LITTLE_ENDIAN - u_int8_t ip_hl:4, /* header length */ - ip_v:4; /* version */ + u_int8_t ip_hl:4; /* header length */ + u_int8_t ip_v:4; /* version */ #endif #if __BYTE_ORDER == __BIG_ENDIAN - u_int8_t ip_v:4, /* version */ - ip_hl:4; /* header length */ + u_int8_t ip_v:4; /* version */ + u_int8_t ip_hl:4; /* header length */ #endif - u_int8_t ip_tos; /* type of service */ - u_short ip_len; /* total length */ - u_short ip_id; /* identification */ - u_short ip_off; /* fragment offset field */ + u_int8_t ip_tos; /* type of service */ + u_short ip_len; /* total length */ + u_short ip_id; /* identification */ + u_short ip_off; /* fragment offset field */ #define IP_RF 0x8000 /* reserved fragment flag */ #define IP_DF 0x4000 /* dont fragment flag */ #define IP_MF 0x2000 /* more fragments flag */ #define IP_OFFMASK 0x1fff /* mask for fragmenting bits */ - u_int8_t ip_ttl; /* time to live */ - u_int8_t ip_p; /* protocol */ - u_short ip_sum; /* checksum */ - struct in_addr ip_src, ip_dst; /* source and dest address */ -}; + u_int8_t ip_ttl; /* time to live */ + u_int8_t ip_p; /* protocol */ + u_short ip_sum; /* checksum */ + struct in_addr ip_src, ip_dst; /* source and dest address */ + }; /* * Time stamp option structure. */ -struct ip_timestamp { - u_int8_t ipt_code; /* IPOPT_TS */ - u_int8_t ipt_len; /* size of structure (variable) */ - u_int8_t ipt_ptr; /* index of current entry */ +struct ip_timestamp + { + u_int8_t ipt_code; /* IPOPT_TS */ + u_int8_t ipt_len; /* size of structure (variable) */ + u_int8_t ipt_ptr; /* index of current entry */ #if __BYTE_ORDER == __LITTLE_ENDIAN - u_int8_t ipt_flg:4, /* flags, see below */ - ipt_oflw:4; /* overflow counter */ + u_int8_t ipt_flg:4; /* flags, see below */ + u_int8_t ipt_oflw:4; /* overflow counter */ #endif #if __BYTE_ORDER == __BIG_ENDIAN - u_int8_t ipt_oflw:4, /* overflow counter */ - ipt_flg:4; /* flags, see below */ + u_int8_t ipt_oflw:4; /* overflow counter */ + u_int8_t ipt_flg:4; /* flags, see below */ #endif - u_int32_t data[9]; -}; + u_int32_t data[9]; + }; #endif /* __USE_BSD */ #define IPVERSION 4 /* IP version number */ @@ -175,6 +180,8 @@ struct ip_timestamp { /* * Definitions for IP type of service (ip_tos) */ +#define IPTOS_TOS_MASK 0x1E +#define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK) #define IPTOS_LOWDELAY 0x10 #define IPTOS_THROUGHPUT 0x08 #define IPTOS_RELIABILITY 0x04 @@ -184,6 +191,8 @@ struct ip_timestamp { /* * Definitions for IP precedence (also in ip_tos) (hopefully unused) */ +#define IPTOS_PREC_MASK 0xe0 +#define IPTOS_PREC(tos) ((tos) & IPTOS_PREC_MASK) #define IPTOS_PREC_NETCONTROL 0xe0 #define IPTOS_PREC_INTERNETCONTROL 0xc0 #define IPTOS_PREC_CRITIC_ECP 0xa0 @@ -196,24 +205,35 @@ struct ip_timestamp { /* * Definitions for options. */ -#define IPOPT_COPIED(o) ((o)&0x80) -#define IPOPT_CLASS(o) ((o)&0x60) -#define IPOPT_NUMBER(o) ((o)&0x1f) +#define IPOPT_COPY 0x80 +#define IPOPT_CLASS_MASK 0x60 +#define IPOPT_NUMBER_MASK 0x1f + +#define IPOPT_COPIED(o) ((o) & IPOPT_COPY) +#define IPOPT_CLASS(o) ((o) & IPOPT_CLASS_MASK) +#define IPOPT_NUMBER(o) ((o) & IPOPT_NUMBER_MASK) #define IPOPT_CONTROL 0x00 #define IPOPT_RESERVED1 0x20 #define IPOPT_DEBMEAS 0x40 +#define IPOPT_MEASUREMENT IPOPT_DEBMEAS #define IPOPT_RESERVED2 0x60 #define IPOPT_EOL 0 /* end of option list */ +#define IPOPT_END IPOPT_EOL #define IPOPT_NOP 1 /* no operation */ +#define IPOPT_NOOP IP_NOP #define IPOPT_RR 7 /* record packet route */ #define IPOPT_TS 68 /* timestamp */ +#define IPOPT_TIMESTAMP IPOPT_TS #define IPOPT_SECURITY 130 /* provide s,c,h,tcc */ +#define IPOPT_SEC IPOPT_SECURITY #define IPOPT_LSRR 131 /* loose source route */ #define IPOPT_SATID 136 /* satnet id */ +#define IPOPT_SID IPOPT_SATID #define IPOPT_SSRR 137 /* strict source route */ +#define IPOPT_RA 148 /* router alert */ /* * Offsets to fields in options other than EOL and NOP. diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/netinet/ip_icmp.h glibc-2.0.3/sysdeps/unix/sysv/linux/netinet/ip_icmp.h --- glibc-2.0.2/sysdeps/unix/sysv/linux/netinet/ip_icmp.h Mon Feb 17 23:08:47 1997 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/netinet/ip_icmp.h Fri Apr 4 10:45:00 1997 @@ -24,6 +24,74 @@ __BEGIN_DECLS +struct icmphdr +{ + u_int8_t type; /* message type */ + u_int8_t code; /* type sub-code */ + u_int16_t checksum; + union + { + struct + { + u_int16_t id; + u_int16_t sequence; + } echo; /* echo datagram */ + u_int32_t gateway; /* gateway address */ + struct + { + u_int16_t __unused; + u_int16_t mtu; + } frag; /* path mtu discovery */ + } un; +}; + +#define ICMP_ECHOREPLY 0 /* Echo Reply */ +#define ICMP_DEST_UNREACH 3 /* Destination Unreachable */ +#define ICMP_SOURCE_QUENCH 4 /* Source Quench */ +#define ICMP_REDIRECT 5 /* Redirect (change route) */ +#define ICMP_ECHO 8 /* Echo Request */ +#define ICMP_TIME_EXCEEDED 11 /* Time Exceeded */ +#define ICMP_PARAMETERPROB 12 /* Parameter Problem */ +#define ICMP_TIMESTAMP 13 /* Timestamp Request */ +#define ICMP_TIMESTAMPREPLY 14 /* Timestamp Reply */ +#define ICMP_INFO_REQUEST 15 /* Information Request */ +#define ICMP_INFO_REPLY 16 /* Information Reply */ +#define ICMP_ADDRESS 17 /* Address Mask Request */ +#define ICMP_ADDRESSREPLY 18 /* Address Mask Reply */ +#define NR_ICMP_TYPES 18 + + +/* Codes for UNREACH. */ +#define ICMP_NET_UNREACH 0 /* Network Unreachable */ +#define ICMP_HOST_UNREACH 1 /* Host Unreachable */ +#define ICMP_PROT_UNREACH 2 /* Protocol Unreachable */ +#define ICMP_PORT_UNREACH 3 /* Port Unreachable */ +#define ICMP_FRAG_NEEDED 4 /* Fragmentation Needed/DF set */ +#define ICMP_SR_FAILED 5 /* Source Route failed */ +#define ICMP_NET_UNKNOWN 6 +#define ICMP_HOST_UNKNOWN 7 +#define ICMP_HOST_ISOLATED 8 +#define ICMP_NET_ANO 9 +#define ICMP_HOST_ANO 10 +#define ICMP_NET_UNR_TOS 11 +#define ICMP_HOST_UNR_TOS 12 +#define ICMP_PKT_FILTERED 13 /* Packet filtered */ +#define ICMP_PREC_VIOLATION 14 /* Precedence violation */ +#define ICMP_PREC_CUTOFF 15 /* Precedence cut off */ +#define NR_ICMP_UNREACH 15 /* instead of hardcoding immediate value */ + +/* Codes for REDIRECT. */ +#define ICMP_REDIR_NET 0 /* Redirect Net */ +#define ICMP_REDIR_HOST 1 /* Redirect Host */ +#define ICMP_REDIR_NETTOS 2 /* Redirect Net for TOS */ +#define ICMP_REDIR_HOSTTOS 3 /* Redirect Host for TOS */ + +/* Codes for TIME_EXCEEDED. */ +#define ICMP_EXC_TTL 0 /* TTL count exceeded */ +#define ICMP_EXC_FRAGTIME 1 /* Fragment Reass time exceeded */ + + +#ifdef __USE_BSD /* * Copyright (c) 1982, 1986, 1993 * The Regents of the University of California. All rights reserved. @@ -65,31 +133,37 @@ __BEGIN_DECLS /* * Internal of an ICMP Router Advertisement */ -struct icmp_ra_addr { - u_int32_t ira_addr; - u_int32_t ira_preference; +struct icmp_ra_addr +{ + u_int32_t ira_addr; + u_int32_t ira_preference; }; -struct icmp { +struct icmp +{ u_int8_t icmp_type; /* type of message, see below */ u_int8_t icmp_code; /* type sub code */ u_int16_t icmp_cksum; /* ones complement checksum of struct */ - union { + union + { u_char ih_pptr; /* ICMP_PARAMPROB */ struct in_addr ih_gwaddr; /* gateway address */ - struct ih_idseq { /* echo datagram */ + struct ih_idseq /* echo datagram */ + { u_int16_t icd_id; u_int16_t icd_seq; } ih_idseq; u_int32_t ih_void; /* ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */ - struct ih_pmtu { + struct ih_pmtu + { u_int16_t ipm_void; u_int16_t ipm_nextmtu; } ih_pmtu; - struct ih_rtradv { + struct ih_rtradv + { u_int8_t irt_num_addrs; u_int8_t irt_wpa; u_int16_t irt_lifetime; @@ -105,13 +179,16 @@ struct icmp { #define icmp_num_addrs icmp_hun.ih_rtradv.irt_num_addrs #define icmp_wpa icmp_hun.ih_rtradv.irt_wpa #define icmp_lifetime icmp_hun.ih_rtradv.irt_lifetime - union { - struct { + union + { + struct + { u_int32_t its_otime; u_int32_t its_rtime; u_int32_t its_ttime; } id_ts; - struct { + struct + { struct ip idi_ip; /* options and then 64 bits of data */ } id_ip; @@ -149,11 +226,9 @@ struct icmp { #endif /* Definition of type and code fields. */ -#define ICMP_ECHOREPLY 0 /* echo reply */ +/* defined above: ICMP_ECHOREPLY, ICMP_REDIRECT, ICMP_ECHO */ #define ICMP_UNREACH 3 /* dest unreachable, codes: */ #define ICMP_SOURCEQUENCH 4 /* packet lost, slow down */ -#define ICMP_REDIRECT 5 /* shorter route, codes: */ -#define ICMP_ECHO 8 /* echo service */ #define ICMP_ROUTERADVERT 9 /* router advertisement */ #define ICMP_ROUTERSOLICIT 10 /* router solicitation */ #define ICMP_TIMXCEED 11 /* time exceeded, code: */ @@ -204,6 +279,8 @@ struct icmp { (type) == ICMP_TSTAMP || (type) == ICMP_TSTAMPREPLY || \ (type) == ICMP_IREQ || (type) == ICMP_IREQREPLY || \ (type) == ICMP_MASKREQ || (type) == ICMP_MASKREPLY) + +#endif /* __USE_BSD */ __END_DECLS diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/shmat.c glibc-2.0.3/sysdeps/unix/sysv/linux/shmat.c --- glibc-2.0.2/sysdeps/unix/sysv/linux/shmat.c Sun Jan 21 03:17:07 1996 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/shmat.c Thu Apr 17 16:04:21 1997 @@ -1,21 +1,21 @@ -/* Copyright (C) 1995 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper , August 1995. +/* Copyright (C) 1995, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , August 1995. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include @@ -23,15 +23,15 @@ Boston, MA 02111-1307, USA. */ segment of the calling process. SHMADDR and SHMFLG determine how and where the segment is attached. */ -char * +void * shmat (shmid, shmaddr, shmflg) int shmid; - char *shmaddr; + const void *shmaddr; int shmflg; { int retval; unsigned long raddr; retval = __ipc (IPCOP_shmat, shmid, shmflg, (int) &raddr, shmaddr); - return retval < 0 ? (char *) retval : (char *) raddr; + return retval < 0 ? (void *) retval : (void *) raddr; } diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/shmdt.c glibc-2.0.3/sysdeps/unix/sysv/linux/shmdt.c --- glibc-2.0.2/sysdeps/unix/sysv/linux/shmdt.c Fri Sep 8 10:01:50 1995 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/shmdt.c Thu Apr 17 16:04:18 1997 @@ -1,21 +1,21 @@ -/* Copyright (C) 1995 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper , August 1995. +/* Copyright (C) 1995, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , August 1995. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include @@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA. */ int shmdt (shmaddr) - char *shmaddr; + const void *shmaddr; { return __ipc (IPCOP_shmdt, 0, 0, 0, shmaddr); } diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/sigset.h glibc-2.0.3/sysdeps/unix/sysv/linux/sigset.h --- glibc-2.0.2/sysdeps/unix/sysv/linux/sigset.h Sun Jan 19 21:49:26 1997 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/sigset.h Fri Apr 4 10:34:30 1997 @@ -54,16 +54,47 @@ typedef struct #define __sigword(sig) (((sig) - 1) / (8 * sizeof (unsigned long int))) #if defined __GNUC__ && __GNUC__ >= 2 -#define __sigemptyset(set) \ +# define __sigemptyset(set) \ (__extension__ ({ int __cnt = _SIGSET_NWORDS; \ sigset_t *__set = (set); \ while (--__cnt >= 0) __set->__val[__cnt] = 0; \ 0; })) -#define __sigfillset(set) \ +# define __sigfillset(set) \ (__extension__ ({ int __cnt = _SIGSET_NWORDS; \ sigset_t *__set = (set); \ while (--__cnt >= 0) __set->__val[__cnt] = ~0UL; \ 0; })) + +# ifdef _GNU_SOURCE +/* The POSIX does not specify for handling the whole signal set in one + command. This is often wanted and so we define three more functions + here. */ +# define __sigisemptyset(set) \ + (__extension__ ({ int __cnt = _SIGSET_NWORDS; \ + const sigset_t *__set = (set); \ + int __ret = __set->__val[--__cnt]; \ + while (!__ret && --__cnt >= 0) \ + __ret = __set->__val[__cnt]; \ + __ret == 0; })) +# define __sigandset(dest, left, right) \ + (__extension__ ({ int __cnt = _SIGSET_NWORDS; \ + sigset_t *__dest = (dest); \ + const sigset_t *__left = (left); \ + const sigset_t *__right = (right); \ + while (--__cnt >= 0) \ + __dest->__val[__cnt] = (__left->__val[__cnt] \ + & __right->__val[__cnt]); \ + 0; })) +# define __sigorset(dest, left, right) \ + (__extension__ ({ int __cnt = _SIGSET_NWORDS; \ + sigset_t *__dest = (dest); \ + const sigset_t *__left = (left); \ + const sigset_t *__right = (right); \ + while (--__cnt >= 0) \ + __dest->__val[__cnt] = (__left->__val[__cnt] \ + | __right->__val[__cnt]); \ + 0; })) +# endif #endif /* These functions needn't check for a bogus signal number -- error diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/sys/kd.h glibc-2.0.3/sysdeps/unix/sysv/linux/sys/kd.h --- glibc-2.0.2/sysdeps/unix/sysv/linux/sys/kd.h Thu Sep 26 23:44:18 1996 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/sys/kd.h Thu Apr 17 16:03:54 1997 @@ -1 +1,27 @@ +/* Copyright (C) 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 + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _SYS_KD_H +#define _SYS_KD_H 1 + +/* Make sure the header is not loaded. */ +#define _LINUX_TYPES_H 1 + #include + +#endif /* sys/kd.h */ diff -durpN glibc-2.0.2/sysdeps/unix/sysv/linux/termbits.h glibc-2.0.3/sysdeps/unix/sysv/linux/termbits.h --- glibc-2.0.2/sysdeps/unix/sysv/linux/termbits.h Fri Mar 21 22:40:58 1997 +++ glibc-2.0.3/sysdeps/unix/sysv/linux/termbits.h Thu Apr 17 16:07:14 1997 @@ -105,10 +105,6 @@ struct termios #define FF0 0000000 #define FF1 0100000 -/* On Linux there is no OXTABS bit defined. Take it as an alias for - XTABS. */ -#define OXTABS XTABS - /* c_cflag bit meaning */ #define CBAUD 0010017 #define B0 0000000 /* hang up */ diff -durpN glibc-2.0.2/sysdeps/vax/strcmp.s glibc-2.0.3/sysdeps/vax/strcmp.s --- glibc-2.0.2/sysdeps/vax/strcmp.s Thu Dec 19 20:35:28 1996 +++ glibc-2.0.3/sysdeps/vax/strcmp.s Wed Dec 31 19:00:00 1969 @@ -1,85 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strcmp.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Compare string s1 lexicographically to string s2. - * Return: - * 0 s1 == s2 - * > 0 s1 > s2 - * < 0 s2 < s2 - * - * strcmp(s1, s2) - * char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strcmp, 0) - movl 4(ap),r1 # r1 = s1 - movl 8(ap),r3 # r3 = s2 - subb3 (r3),(r1),r0 # quick check for first char different - beql 1f # have to keep checking - cvtbl r0,r0 - ret -1: - clrl r5 # calculate min bytes to next page boundary - subb3 r1,$255,r5 # r5 = (bytes - 1) to end of page for s1 - subb3 r3,$255,r0 # r0 = (bytes - 1) to end of page for s2 - cmpb r0,r5 # r5 = min(r0, r5); - bgtru 2f - movb r0,r5 -2: - incl r5 # r5 = min bytes to next page boundary - cmpc3 r5,(r1),(r3) # compare strings - bneq 3f - subl2 r5,r1 # check if found null yet - locc $0,r5,(r1) - beql 1b # not yet done, continue checking - subl2 r0,r3 - mnegb (r3),r0 # r0 = '\0' - *s2 - cvtbl r0,r0 - ret -3: - subl2 r0,r5 # check for null in matching string - subl2 r5,r1 - locc $0,r5,(r1) - bneq 4f - subb3 (r3),(r1),r0 # r0 = *s1 - *s2 - cvtbl r0,r0 - ret -4: - clrl r0 # both the same to null - ret diff -durpN glibc-2.0.2/sysvipc/sys/shm.h glibc-2.0.3/sysvipc/sys/shm.h --- glibc-2.0.2/sysvipc/sys/shm.h Mon Dec 9 22:08:02 1996 +++ glibc-2.0.3/sysvipc/sys/shm.h Thu Apr 17 16:03:34 1997 @@ -1,4 +1,4 @@ -/* 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 Ulrich Drepper , August 1995. @@ -38,7 +38,7 @@ __BEGIN_DECLS /* The following System V style IPC functions implement a shared memory - facility. The definition is found in XPG2. */ + facility. The definition is found in XPG4.2. */ /* Shared memory control operation. */ extern int shmctl __P ((int __shmid, int __cmd, struct shmid_ds *__buf)); @@ -47,10 +47,10 @@ extern int shmctl __P ((int __shmid, int extern int shmget __P ((key_t __key, int __size, int __shmflg)); /* Attach shared memory segment. */ -extern char *shmat __P ((int __shmid, char *__shmaddr, int __shmflg)); +extern void *shmat __P ((int __shmid, __const void *__shmaddr, int __shmflg)); /* Detach shared memory segment. */ -extern int shmdt __P ((char *__shmaddr)); +extern int shmdt __P ((__const void *__shmaddr)); __END_DECLS diff -durpN glibc-2.0.2/termios/sys/ttydefaults.h glibc-2.0.3/termios/sys/ttydefaults.h --- glibc-2.0.2/termios/sys/ttydefaults.h Fri Mar 21 22:39:39 1997 +++ glibc-2.0.3/termios/sys/ttydefaults.h Thu Apr 17 16:07:44 1997 @@ -48,7 +48,15 @@ * Defaults on "first" open. */ #define TTYDEF_IFLAG (BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY) -#define TTYDEF_OFLAG (OPOST | ONLCR | XTABS) +#ifdef OXTABS +# define TTYDEF_OFLAG (OPOST | ONLCR | OXTABS) +#else +# if defined TAB3 +# define TTYDEF_OFLAG (OPOST | ONLCR | TAB3) +# else +# define TTYDEF_OFLAG (OPOST | ONLCR) +# endif +#endif #define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL) #define TTYDEF_CFLAG (CREAD | CS7 | PARENB | HUPCL) #define TTYDEF_SPEED (B9600) @@ -59,16 +67,16 @@ #define CTRL(x) (x&037) #define CEOF CTRL('d') #ifdef _POSIX_VDISABLE -#define CEOL _POSIX_VDISABLE +# define CEOL _POSIX_VDISABLE #else -#define CEOL ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ +# define CEOL ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ #endif #define CERASE 0177 #define CINTR CTRL('c') #ifdef _POSIX_VDISABLE -#define CSTATUS _POSIX_VDISABLE +# define CSTATUS _POSIX_VDISABLE #else -#define CSTATUS ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ +# define CSTATUS ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ #endif #define CKILL CTRL('u') #define CMIN 1 diff -durpN glibc-2.0.2/time/africa glibc-2.0.3/time/africa --- glibc-2.0.2/time/africa Wed Nov 27 01:13:07 1996 +++ glibc-2.0.3/time/africa Fri Apr 4 13:48:10 1997 @@ -1,4 +1,4 @@ -# @(#)africa 7.16 +# @(#)africa 7.17 # This data is by no means authoritative; if you think you know better, # go ahead and edit the file (and please send any changes to @@ -403,8 +403,10 @@ Rule Libya 1986 only - Oct 3 0:00 0 - Rule Libya 1987 1989 - Apr 1 0:00 1:00 S Rule Libya 1987 1990 - Oct 1 0:00 0 - Rule Libya 1990 only - May 4 0:00 1:00 S -Rule Libya 1996 max - Mar 30 2:00s 1:00 S -Rule Libya 1996 max - Sep 30 2:00s 0 - +Rule Libya 1996 only - Mar 30 2:00s 1:00 S +Rule Libya 1996 only - Sep 30 2:00s 0 - +Rule Libya 1997 max - Mar lastThu 2:00s 1:00 S +Rule Libya 1997 max - Oct Thu>=1 2:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Tripoli 0:52:44 - LMT 1920 1:00 Libya CE%sT 1959 @@ -525,9 +527,10 @@ Zone Atlantic/St_Helena -0:22:48 - LMT 1 -0:06 - SHT 1951 # St Helena Time (?) 0:00 - GMT # The other parts of the St Helena territory are similar: -# Tristan da Cunha: on GMT, says Whitman -# Ascension: on GMT, says usno1995 -# Gough, Inaccessible, Nightingale: no information, but probably GMT +# Tristan da Cunha: on GMT, say Whitman and the CIA +# Ascension: on GMT, says usno1995 and the CIA +# Gough (scientific station since 1955): on GMT, says the CIA +# Inaccessible, Nightingale: no information, but probably GMT # Sao Tome and Principe # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -577,7 +580,8 @@ Rule SA 1943 1944 - Mar Sun>=15 2:00 0 - Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8 1:30 - SAT 1903 Mar 2:00 SA SA%sT -# Prince Edward Is +# Marion and Prince Edward Is +# weather station since 1947 # no information # Sudan diff -durpN glibc-2.0.2/time/antarctica glibc-2.0.3/time/antarctica --- glibc-2.0.2/time/antarctica Mon Mar 3 12:21:51 1997 +++ glibc-2.0.3/time/antarctica Fri Apr 4 13:48:27 1997 @@ -1,8 +1,9 @@ -# @(#)antarctica 7.7 +# @(#)antarctica 7.8 -# From Paul Eggert (1997-01-20): +# From Paul Eggert (1997-03-28): # To keep things manageable, we list only locations occupied year-round; -# see (1996-05-24). +# see (1996-05-24) +# and (1996-09-05). # Unless otherwise specified, we have no time zone information. # # Except for the French entries, @@ -29,7 +30,7 @@ Rule ChileAQ 1970 max - Mar Sun>=9 0:00 # 5 others # Australia - territories -# Heard Island, McDonald Islands +# Heard Island, McDonald Islands (uninhabited) # # year-round bases # Casey, Bailey Peninsula, since 1969 @@ -70,9 +71,10 @@ Zone Antarctica/Mawson 0 - ___ 1954 Feb # # Martin-de-Vivies Base, Amsterdam Island, -374105+0773155, since 1950 # Alfred-Faure Base, Crozet Islands, -462551+0515152, since 1964 -# Port-aux-Francais, Kerguelen Islands, -492110+0701303, since 1951 +# Port-aux-Francais, Kerguelen Islands, -492110+0701303, since 1951; +# a whaling and sealing station operated 1908-14, 1920-29, and 1951-56 # -# St Paul Island - near Amsterdam, uninhabited since 1927 +# St Paul Island - near Amsterdam, uninhabited since 1931 # # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Indian/Kerguelen 0 - ___ 1950 # Port-aux-Francais @@ -107,8 +109,8 @@ Zone Antarctica/DumontDUrville 0 - ___ 1 # King Sejong, King George Island, since 1988 # New Zealand - claims -# Balleny Islands -# Scott Island +# Balleny Islands (never inhabited) +# Scott Island (never inhabited) # # year-round base # Scott, Ross Island, since 1957-01, is like Antarctica/McMurdo. @@ -124,10 +126,10 @@ Rule NZAQ 1976 1989 - Mar Sun>=1 2:00s 0 Rule NZAQ 1990 max - Mar Sun>=15 2:00s 0 S # Norway - territories -# Bouvet (uninhabited) +# Bouvet (never inhabited) # # claims -# Peter I Island (uninhabited) +# Peter I Island (never inhabited) # Poland - year-round base # Arctowski, King George Island, since 1977 @@ -147,7 +149,11 @@ Rule NZAQ 1990 max - Mar Sun>=15 2:00s 0 # # British Antarctic Territories (BAT) claims # South Orkney Islands +# scientific station from 1903 +# whaling station at Signy I 1920-1926 # South Shetland Islands +# whaling station at Deception I 1912-1931 +# scientific station from 1943 # # year-round bases # Halley, Coates Land, -7535-2619, since 1956-01-06 diff -durpN glibc-2.0.2/time/asia glibc-2.0.3/time/asia --- glibc-2.0.2/time/asia Tue Mar 4 09:58:18 1997 +++ glibc-2.0.3/time/asia Fri Apr 4 13:48:40 1997 @@ -1,4 +1,4 @@ -# @(#)asia 7.28 +# @(#)asia 7.29 # This data is by no means authoritative; if you think you know better, # go ahead and edit the file (and please send any changes to @@ -508,8 +508,6 @@ Rule Zion 1988 only - Sep 3 0:00 0 S # From Ephraim Silverberg (ephraim@cs.huji.ac.il), 1997-03-04: -# Zone Information Compiler (ZIC) File for the State of Israel (1989-2009) - # According to the Office of the Secretary General of the Ministry of # Interior, there is NO set rule for Daylight-Savings/Standard time changes. # Each year they decide anew what havoc to wreak on the country. However, @@ -525,27 +523,27 @@ Rule Zion 1988 only - Sep 3 0:00 0 S # change back to standard time took place on Sunday night instead of Saturday # night to avoid conflicts with the Jewish New Year. -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Zion 1989 only - Apr 30 0:00 1:00 D -Rule Zion 1989 only - Sep 3 0:00 0:00 S -Rule Zion 1990 only - Mar 25 0:00 1:00 D -Rule Zion 1990 only - Aug 26 0:00 0:00 S -Rule Zion 1991 only - Mar 24 0:00 1:00 D -Rule Zion 1991 only - Sep 1 0:00 0:00 S -Rule Zion 1992 only - Mar 29 0:00 1:00 D -Rule Zion 1992 only - Sep 6 0:00 0:00 S -Rule Zion 1993 only - Apr 2 0:00 1:00 D -Rule Zion 1993 only - Sep 5 0:00 0:00 S +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +Rule Zion 1989 only - Apr 30 0:00 1:00 D +Rule Zion 1989 only - Sep 3 0:00 0 S +Rule Zion 1990 only - Mar 25 0:00 1:00 D +Rule Zion 1990 only - Aug 26 0:00 0 S +Rule Zion 1991 only - Mar 24 0:00 1:00 D +Rule Zion 1991 only - Sep 1 0:00 0 S +Rule Zion 1992 only - Mar 29 0:00 1:00 D +Rule Zion 1992 only - Sep 6 0:00 0 S +Rule Zion 1993 only - Apr 2 0:00 1:00 D +Rule Zion 1993 only - Sep 5 0:00 0 S # The dates for 1994-1995 were obtained from Office of the Spokeswoman for the # Ministry of Interior, Jerusalem, Israel. The spokeswoman can be reached by # calling the office directly at 972-2-6701447 or 972-2-6701448. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Zion 1994 only - Apr 1 0:00 1:00 D -Rule Zion 1994 only - Aug 28 0:00 0:00 S -Rule Zion 1995 only - Mar 31 0:00 1:00 D -Rule Zion 1995 only - Sep 3 0:00 0:00 S +Rule Zion 1994 only - Apr 1 0:00 1:00 D +Rule Zion 1994 only - Aug 28 0:00 0 S +Rule Zion 1995 only - Mar 31 0:00 1:00 D +Rule Zion 1995 only - Sep 3 0:00 0 S # The dates for 1996 were determined by the Minister of Interior of the # time, Haim Ramon. The official announcement regarding 1996-1998 @@ -560,40 +558,20 @@ Rule Zion 1995 only - # # ftp://ftp.huji.ac.il/pub/tz/announcements/1997.ps.gz -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Zion 1996 only - Mar 15 0:00 1:00 D -Rule Zion 1996 only - Sep 16 0:00 0:00 S -Rule Zion 1997 only - Mar 21 0:00 1:00 D -Rule Zion 1997 only - Sep 14 0:00 0:00 S -Rule Zion 1998 only - Mar 20 0:00 1:00 D -Rule Zion 1998 only - Oct 18 0:00 0:00 S - -# These rules are probably wrong, but they are close approximations (usually -# within a few weeks): +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +Rule Zion 1996 only - Mar 15 0:00 1:00 D +Rule Zion 1996 only - Sep 16 0:00 0 S +Rule Zion 1997 only - Mar 21 0:00 1:00 D +Rule Zion 1997 only - Sep 14 0:00 0 S +Rule Zion 1998 only - Mar 20 0:00 1:00 D +Rule Zion 1998 only - Oct 18 0:00 0 S +# From Paul Eggert (1997-03-15): +# Here are guesses for rules after 1998. +# They are probably wrong, but they are more likely than no DST at all. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Zion 1999 only - Apr 11 0:00 1:00 D -Rule Zion 1999 only - Sep 5 0:00 0:00 S -Rule Zion 2000 only - Apr 30 0:00 1:00 D -Rule Zion 2000 only - Sep 24 0:00 0:00 S -Rule Zion 2001 only - Apr 15 0:00 1:00 D -Rule Zion 2001 only - Sep 9 0:00 0:00 S -Rule Zion 2002 only - Apr 7 0:00 1:00 D -Rule Zion 2002 only - Sep 1 0:00 0:00 S -Rule Zion 2003 only - Apr 27 0:00 1:00 D -Rule Zion 2003 only - Sep 21 0:00 0:00 S -Rule Zion 2004 only - Apr 18 0:00 1:00 D -Rule Zion 2004 only - Sep 12 0:00 0:00 S -Rule Zion 2005 only - May 1 0:00 1:00 D -Rule Zion 2005 only - Sep 25 0:00 0:00 S -Rule Zion 2006 only - Apr 23 0:00 1:00 D -Rule Zion 2006 only - Sep 17 0:00 0:00 S -Rule Zion 2007 only - Apr 15 0:00 1:00 D -Rule Zion 2007 only - Sep 9 0:00 0:00 S -Rule Zion 2008 only - Apr 27 0:00 1:00 D -Rule Zion 2008 only - Sep 21 0:00 0:00 S -Rule Zion 2009 only - Apr 19 0:00 1:00 D -Rule Zion 2009 only - Sep 13 0:00 0:00 S +Rule Zion 1999 max - Mar Fri>=15 0:00 1:00 D +Rule Zion 1999 max - Sep Sun>=15 0:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Jerusalem 2:20:56 - LMT 1880 @@ -810,7 +788,8 @@ Rule Mongol 1985 1990 - Mar lastSun 2:00 Rule Mongol 1985 1990 - Sep lastSun 3:00 0 - Rule Mongol 1991 max - Mar lastSun 0:00 1:00 S Rule Mongol 1991 1995 - Sep lastSun 0:00 0 - -Rule Mongol 1996 max - Oct Fri>=22 0:00 0 - +Rule Mongol 1996 only - Oct Fri>=22 0:00 0 - +Rule Mongol 1997 max - Sep lastSun 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] #Zone Asia/Dariv 6:14:32 - LMT 1905 Aug # 6:00 - DART 1978 # Dariv Time @@ -909,6 +888,11 @@ Zone Asia/Singapore 6:55:24 - LMT 1880 # reported ``the country's standard time will be put forward by one hour at # midnight Friday (1830 GMT) `in the light of the present power crisis'.'' # Transitions before 1996 are from Shanks (1991). +# +# From Dharmasiri Senanayake, Sri Lanka Media Minister (1996-10-24), as quoted +# in (1996-10-26): +# With effect from 12.30 a.m. on 26th October 1996 +# Sri Lanka will be six (06) hours ahead of GMT. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Colombo 5:19:24 - LMT 1880 @@ -917,7 +901,8 @@ Zone Asia/Colombo 5:19:24 - LMT 1880 5:30 0:30 IHST 1942 Sep 5:30 1:00 IST 1945 Oct 16 2:00 5:30 - IST 1996 May 25 0:00 - 6:30 - LKT # Sri Lanka Time + 6:30 - LKT 1996 Oct 26 0:30 + 6:00 - LKT # Syria # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S diff -durpN glibc-2.0.2/time/australasia glibc-2.0.3/time/australasia --- glibc-2.0.2/time/australasia Wed Jan 22 00:26:01 1997 +++ glibc-2.0.3/time/australasia Fri Apr 4 13:49:13 1997 @@ -1,4 +1,4 @@ -# @(#)australasia 7.32 +# @(#)australasia 7.33 # This file also includes Pacific islands. # Notes are at the end of this file @@ -170,7 +170,12 @@ Zone Indian/Christmas 7:02:52 - LMT 1895 # no indigenous inhabitants; only meteorologists # no information # -# Macquarie, Manihiki, Penrhyn, Rakehanga +# Macquarie +# permanent occupation (scientific station) since 1948; +# sealing and penguin oil station operated 1888-1917 +# no information +# +# Manihiki, Penrhyn, Rakehanga # no information @@ -277,6 +282,9 @@ Zone Pacific/Nauru 11:07:40 - LMT 1921 J # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule NC 1977 1978 - Dec Sun>=1 0:00 1:00 S Rule NC 1978 1979 - Feb 27 0:00 0 - +Rule NC 1996 only - Dec 1 2:00s 1:00 S +Rule NC 1997 max - Mar Sun>=1 2:00s 0 - +Rule NC 1997 max - Nov lastSun 2:00s 1:00 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13 11:00 NC NC%sT @@ -315,8 +323,13 @@ Zone Pacific/Auckland 11:39:04 - LMT 186 Zone Pacific/Chatham 12:45 Chatham CHA%sT -# Antipodes Is, Kermadec Is -# uninhabited except by research personnel; probably like Pacific/Auckland +# Auckland Is +# uninhabited + +# Campbell I +# minor whaling stations operated 1909-14 +# scientific station operated 1941-1995 +# was probably like Pacific/Auckland ############################################################################### diff -durpN glibc-2.0.2/time/europe glibc-2.0.3/time/europe --- glibc-2.0.2/time/europe Wed Jan 1 10:28:15 1997 +++ glibc-2.0.3/time/europe Fri Apr 4 13:49:25 1997 @@ -1,4 +1,4 @@ -# @(#)europe 7.42 +# @(#)europe 7.43 # This data is by no means authoritative; if you think you know better, # go ahead and edit the file (and please send any changes to @@ -630,10 +630,18 @@ # came into force on 16 November. It restates the dates from the EC # seventh Summer Time Directive.... # -# From Peter Ilieve (1996-04-20): -# Proposals for the eighth directive were supposed to have been produced -# by the Commission by 1 Jan 96. They have not yet appeared (I asked just -# before Easter). +# From Peter Ilieve (1997-03-28): +# The [European] Transport Council discussed the proposed Eighth Directive +# on 11 March and agreed [to] it, so it moves forward to the next stage, +# from a Commission proposal to a Common Position.... What this means is: +# +# - The eighth directive proposal rules have been accepted. +# These are the same as the current rules (last Sunday in March and last +# Sunday in October). The rules will run until 2001. +# +# - The French have had their request to abandon summer time turned down. +# They have been promised some sort of review in 1999 which might change +# the rules for 2000 and 2001. # From Peter Ilieve (1994-03-28): # The [GB-Eire] end date of 22 October [1995] conflicts with your current rule diff -durpN glibc-2.0.2/time/northamerica glibc-2.0.3/time/northamerica --- glibc-2.0.2/time/northamerica Wed Jan 1 10:28:16 1997 +++ glibc-2.0.3/time/northamerica Fri Apr 4 13:49:29 1997 @@ -1,4 +1,4 @@ -# @(#)northamerica 7.30 +# @(#)northamerica 7.31 # also includes Central America and the Caribbean # This data is by no means authoritative; if you think you know better, @@ -1141,14 +1141,14 @@ Rule Cuba 1969 1971 - Oct lastSun 0:00 0 Rule Cuba 1972 1974 - Oct 8 0:00 0 S Rule Cuba 1975 1977 - Oct lastSun 0:00 0 S Rule Cuba 1978 only - May 7 0:00 1:00 D -Rule Cuba 1978 1980 - Oct Sun>=8 0:00 0 S +Rule Cuba 1978 1990 - Oct Sun>=8 0:00 0 S Rule Cuba 1979 1980 - Mar Sun>=15 0:00 1:00 D Rule Cuba 1981 1985 - May Sun>=5 0:00 1:00 D -Rule Cuba 1981 1990 - Oct Sun>=8 0:00 0 S Rule Cuba 1986 1989 - Mar Sun>=14 0:00 1:00 D Rule Cuba 1990 max - Apr Sun>=1 0:00 1:00 D Rule Cuba 1991 1995 - Oct Sun>=8 0:00s 0 S -Rule Cuba 1996 max - Oct Sun>=1 0:00s 0 S +Rule Cuba 1996 only - Oct Sun>=1 0:00s 0 S +Rule Cuba 1997 max - Oct Sun>=8 0:00s 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Havana -5:29:28 - LMT 1890 diff -durpN glibc-2.0.2/time/private.h glibc-2.0.3/time/private.h --- glibc-2.0.2/time/private.h Sun Mar 16 19:06:59 1997 +++ glibc-2.0.3/time/private.h Fri Apr 4 13:49:35 1997 @@ -176,13 +176,14 @@ extern int errno; ** Private function declarations. */ char * icalloc P((int nelem, int elsize)); -char * icatalloc P((char * old, const char * const new)); -char * icpyalloc P((const char * const string)); -char * imalloc P((const int n)); -void * irealloc P((void * const pointer, const int size)); -void icfree P((char * const pointer)); -void ifree P((char * const pointer)); -char * scheck P((const char * const string, const char * const format)); +char * icatalloc P((char * old, const char * new)); +char * icpyalloc P((const char * string)); +char * imalloc P((int n)); +void * irealloc P((void * pointer, int size)); +void icfree P((char * pointer)); +void ifree P((char * pointer)); +char * scheck P((const char *string, char *format)); + /* ** Finally, some convenience items. diff -durpN glibc-2.0.2/time/scheck.c glibc-2.0.3/time/scheck.c --- glibc-2.0.2/time/scheck.c Sun Mar 16 19:06:55 1997 +++ glibc-2.0.3/time/scheck.c Fri Apr 4 13:49:38 1997 @@ -11,7 +11,7 @@ static char elsieid[] = "@(#)scheck.c 8. char * scheck(string, format) const char * const string; -const char * const format; +char * const format; { register char * fbuf; register const char * fp; diff -durpN glibc-2.0.2/time/southamerica glibc-2.0.3/time/southamerica --- glibc-2.0.2/time/southamerica Wed Jan 1 10:28:17 1997 +++ glibc-2.0.3/time/southamerica Fri Apr 4 13:49:31 1997 @@ -1,4 +1,4 @@ -# @(#)southamerica 7.16 +# @(#)southamerica 7.17 # This data is by no means authoritative; if you think you know better, # go ahead and edit the file (and please send any changes to @@ -267,10 +267,11 @@ Rule Brazil 1988 1989 - Oct Sun>=10 0:0 Rule Brazil 1990 1991 - Feb Sun>=11 0:00 0 S Rule Brazil 1990 1992 - Oct Sun>=20 0:00 1:00 D Rule Brazil 1992 only - Feb 9 0:00 0 S -Rule Brazil 1993 max - Oct Sun>=11 0:00 1:00 D +Rule Brazil 1993 1995 - Oct Sun>=11 0:00 1:00 D Rule Brazil 1993 only - Jan 31 0:00 0 S Rule Brazil 1994 1995 - Feb Sun>=15 0:00 0 S Rule Brazil 1996 max - Feb Sun>=11 0:00 0 S +Rule Brazil 1996 max - Oct Sun>=1 0:00 1:00 D # Zone NAME GMTOFF RULES FORMAT [UNTIL] # @@ -434,9 +435,11 @@ Rule Para 1991 only - Oct 6 0:00 1:00 S Rule Para 1992 only - Mar 1 0:00 0 - Rule Para 1992 only - Oct 5 0:00 1:00 S Rule Para 1993 only - Mar 31 0:00 0 - -Rule Para 1993 max - Oct 1 0:00 1:00 S +Rule Para 1993 1995 - Oct 1 0:00 1:00 S Rule Para 1994 1995 - Feb lastSun 0:00 0 - Rule Para 1996 max - Mar 1 0:00 0 - +Rule Para 1996 only - Oct 6 0:00 1:00 S +Rule Para 1997 max - Oct 1 0:00 1:00 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Asuncion -3:50:40 - LMT 1890 -3:50:40 - AMT 1931 Oct 10 # Asuncion Mean Time diff -durpN glibc-2.0.2/time/strftime.c glibc-2.0.3/time/strftime.c --- glibc-2.0.2/time/strftime.c Sat Feb 1 20:50:11 1997 +++ glibc-2.0.3/time/strftime.c Thu Apr 17 16:46:26 1997 @@ -179,7 +179,7 @@ static const char spaces[16] = " # define memset_space(P, Len) \ do { \ int _len = (Len); \ - \ + \ do \ { \ int _this = _len > 16 ? 16 : _len; \ @@ -190,7 +190,7 @@ static const char spaces[16] = " while (_len > 0); \ } while (0) #else -# define memset_space(P, Len) memset ((P), ' ', (Len)) +# define memset_space(P, Len) (memset ((P), ' ', (Len)), (P) += (Len)) #endif #define add(n, f) \ diff -durpN glibc-2.0.2/time/strptime.c glibc-2.0.3/time/strptime.c --- glibc-2.0.2/time/strptime.c Sun Mar 16 19:49:49 1997 +++ glibc-2.0.3/time/strptime.c Thu Apr 17 16:46:35 1997 @@ -537,7 +537,7 @@ strptime_internal (buf, format, tm, deci case 'y': /* Match year within century. */ get_number (0, 99); - tm->tm_year = val; + tm->tm_year = val >= 50 ? val : val + 100; break; case 'Y': /* Match year including century number. */ diff -durpN glibc-2.0.2/version.h glibc-2.0.3/version.h --- glibc-2.0.2/version.h Sun Feb 9 22:18:10 1997 +++ glibc-2.0.3/version.h Sun Mar 30 10:56:07 1997 @@ -1,4 +1,4 @@ /* This file just defines the current version number of libc. */ #define RELEASE "experimental" -#define VERSION "2.0.2" +#define VERSION "2.0.3"