1999-01-12 04:13:43 +08:00
|
|
|
@node String and Array Utilities, Character Set Handling, Character Handling, Top
|
1998-07-13 20:29:13 +08:00
|
|
|
@c %MENU% Utilities for copying and comparing strings and arrays
|
1995-02-18 09:27:10 +08:00
|
|
|
@chapter String and Array Utilities
|
|
|
|
|
|
|
|
Operations on strings (or arrays of characters) are an important part of
|
2012-02-28 22:44:20 +08:00
|
|
|
many programs. @Theglibc{} provides an extensive set of string
|
1995-02-18 09:27:10 +08:00
|
|
|
utility functions, including functions for copying, concatenating,
|
|
|
|
comparing, and searching strings. Many of these functions can also
|
|
|
|
operate on arbitrary regions of storage; for example, the @code{memcpy}
|
1996-08-09 10:46:09 +08:00
|
|
|
function can be used to copy the contents of any kind of array.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
It's fairly common for beginning C programmers to ``reinvent the wheel''
|
|
|
|
by duplicating this functionality in their own code, but it pays to
|
|
|
|
become familiar with the library functions and to make use of them,
|
|
|
|
since this offers benefits in maintenance, efficiency, and portability.
|
|
|
|
|
|
|
|
For instance, you could easily compare one string to another in two
|
|
|
|
lines of C code, but if you use the built-in @code{strcmp} function,
|
|
|
|
you're less likely to make a mistake. And, since these library
|
|
|
|
functions are typically highly optimized, your program may run faster
|
|
|
|
too.
|
|
|
|
|
|
|
|
@menu
|
|
|
|
* Representation of Strings:: Introduction to basic concepts.
|
|
|
|
* String/Array Conventions:: Whether to use a string function or an
|
|
|
|
arbitrary array function.
|
|
|
|
* String Length:: Determining the length of a string.
|
|
|
|
* Copying and Concatenation:: Functions to copy the contents of strings
|
|
|
|
and arrays.
|
|
|
|
* String/Array Comparison:: Functions for byte-wise and character-wise
|
|
|
|
comparison.
|
|
|
|
* Collation Functions:: Functions for collating strings.
|
|
|
|
* Search Functions:: Searching for a specific element or substring.
|
|
|
|
* Finding Tokens in a String:: Splitting a string into tokens by looking
|
|
|
|
for delimiters.
|
2000-04-28 11:27:50 +08:00
|
|
|
* strfry:: Function for flash-cooking a string.
|
|
|
|
* Trivial Encryption:: Obscuring data.
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
* Encode Binary Data:: Encoding and Decoding of Binary Data.
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
* Argz and Envz Vectors:: Null-separated string vectors.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end menu
|
|
|
|
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
@node Representation of Strings
|
1995-02-18 09:27:10 +08:00
|
|
|
@section Representation of Strings
|
|
|
|
@cindex string, representation of
|
|
|
|
|
|
|
|
This section is a quick summary of string concepts for beginning C
|
|
|
|
programmers. It describes how character strings are represented in C
|
|
|
|
and some common pitfalls. If you are already familiar with this
|
|
|
|
material, you can skip this section.
|
|
|
|
|
|
|
|
@cindex string
|
2001-02-11 09:50:24 +08:00
|
|
|
@cindex multibyte character string
|
1995-02-18 09:27:10 +08:00
|
|
|
A @dfn{string} is an array of @code{char} objects. But string-valued
|
|
|
|
variables are usually declared to be pointers of type @code{char *}.
|
|
|
|
Such variables do not include space for the text of a string; that has
|
|
|
|
to be stored somewhere else---in an array variable, a string constant,
|
|
|
|
or dynamically allocated memory (@pxref{Memory Allocation}). It's up to
|
|
|
|
you to store the address of the chosen memory space into the pointer
|
|
|
|
variable. Alternatively you can store a @dfn{null pointer} in the
|
|
|
|
pointer variable. The null pointer does not point anywhere, so
|
|
|
|
attempting to reference the string it points to gets an error.
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@cindex wide character string
|
|
|
|
``string'' normally refers to multibyte character strings as opposed to
|
|
|
|
wide character strings. Wide character strings are arrays of type
|
|
|
|
@code{wchar_t} and as for multibyte character strings usually pointers
|
|
|
|
of type @code{wchar_t *} are used.
|
|
|
|
|
|
|
|
@cindex null character
|
|
|
|
@cindex null wide character
|
1995-02-18 09:27:10 +08:00
|
|
|
By convention, a @dfn{null character}, @code{'\0'}, marks the end of a
|
2001-02-11 09:50:24 +08:00
|
|
|
multibyte character string and the @dfn{null wide character},
|
|
|
|
@code{L'\0'}, marks the end of a wide character string. For example, in
|
|
|
|
testing to see whether the @code{char *} variable @var{p} points to a
|
|
|
|
null character marking the end of a string, you can write
|
|
|
|
@code{!*@var{p}} or @code{*@var{p} == '\0'}.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
A null character is quite different conceptually from a null pointer,
|
|
|
|
although both are represented by the integer @code{0}.
|
|
|
|
|
|
|
|
@cindex string literal
|
|
|
|
@dfn{String literals} appear in C program source as strings of
|
2001-02-11 09:50:24 +08:00
|
|
|
characters between double-quote characters (@samp{"}) where the initial
|
|
|
|
double-quote character is immediately preceded by a capital @samp{L}
|
|
|
|
(ell) character (as in @code{L"foo"}). In @w{ISO C}, string literals
|
|
|
|
can also be formed by @dfn{string concatenation}: @code{"a" "b"} is the
|
|
|
|
same as @code{"ab"}. For wide character strings one can either use
|
|
|
|
@code{L"a" L"b"} or @code{L"a" "b"}. Modification of string literals is
|
|
|
|
not allowed by the GNU C compiler, because literals are placed in
|
|
|
|
read-only storage.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
Character arrays that are declared @code{const} cannot be modified
|
|
|
|
either. It's generally good style to declare non-modifiable string
|
|
|
|
pointers to be of type @code{const char *}, since this often allows the
|
|
|
|
C compiler to detect accidental modifications as well as providing some
|
|
|
|
amount of documentation about what your program intends to do with the
|
|
|
|
string.
|
|
|
|
|
|
|
|
The amount of memory allocated for the character array may extend past
|
|
|
|
the null character that normally marks the end of the string. In this
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
document, the term @dfn{allocated size} is always used to refer to the
|
1995-02-18 09:27:10 +08:00
|
|
|
total amount of memory allocated for the string, while the term
|
|
|
|
@dfn{length} refers to the number of characters up to (but not
|
|
|
|
including) the terminating null character.
|
|
|
|
@cindex length of string
|
|
|
|
@cindex allocation size of string
|
|
|
|
@cindex size of string
|
|
|
|
@cindex string length
|
|
|
|
@cindex string allocation
|
|
|
|
|
|
|
|
A notorious source of program bugs is trying to put more characters in a
|
|
|
|
string than fit in its allocated size. When writing code that extends
|
|
|
|
strings or moves characters into a pre-allocated array, you should be
|
|
|
|
very careful to keep track of the length of the text and make explicit
|
|
|
|
checks for overflowing the array. Many of the library functions
|
|
|
|
@emph{do not} do this for you! Remember also that you need to allocate
|
|
|
|
an extra byte to hold the null character that marks the end of the
|
|
|
|
string.
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@cindex single-byte string
|
|
|
|
@cindex multibyte string
|
|
|
|
Originally strings were sequences of bytes where each byte represents a
|
|
|
|
single character. This is still true today if the strings are encoded
|
|
|
|
using a single-byte character encoding. Things are different if the
|
|
|
|
strings are encoded using a multibyte encoding (for more information on
|
|
|
|
encodings see @ref{Extended Char Intro}). There is no difference in
|
|
|
|
the programming interface for these two kind of strings; the programmer
|
|
|
|
has to be aware of this and interpret the byte sequences accordingly.
|
|
|
|
|
|
|
|
But since there is no separate interface taking care of these
|
|
|
|
differences the byte-based string functions are sometimes hard to use.
|
|
|
|
Since the count parameters of these functions specify bytes a call to
|
|
|
|
@code{strncpy} could cut a multibyte character in the middle and put an
|
|
|
|
incomplete (and therefore unusable) byte sequence in the target buffer.
|
|
|
|
|
|
|
|
@cindex wide character string
|
|
|
|
To avoid these problems later versions of the @w{ISO C} standard
|
|
|
|
introduce a second set of functions which are operating on @dfn{wide
|
|
|
|
characters} (@pxref{Extended Char Intro}). These functions don't have
|
|
|
|
the problems the single-byte versions have since every wide character is
|
|
|
|
a legal, interpretable value. This does not mean that cutting wide
|
|
|
|
character strings at arbitrary points is without problems. It normally
|
|
|
|
is for alphabet-based languages (except for non-normalized text) but
|
|
|
|
languages based on syllables still have the problem that more than one
|
|
|
|
wide character is necessary to complete a logical unit. This is a
|
|
|
|
higher level problem which the @w{C library} functions are not designed
|
|
|
|
to solve. But it is at least good that no invalid byte sequences can be
|
|
|
|
created. Also, the higher level functions can also much easier operate
|
|
|
|
on wide character than on multibyte characters so that a general advise
|
|
|
|
is to use wide characters internally whenever text is more than simply
|
|
|
|
copied.
|
|
|
|
|
|
|
|
The remaining of this chapter will discuss the functions for handling
|
|
|
|
wide character strings in parallel with the discussion of the multibyte
|
|
|
|
character strings since there is almost always an exact equivalent
|
|
|
|
available.
|
|
|
|
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
@node String/Array Conventions
|
1995-02-18 09:27:10 +08:00
|
|
|
@section String and Array Conventions
|
|
|
|
|
|
|
|
This chapter describes both functions that work on arbitrary arrays or
|
|
|
|
blocks of memory, and functions that are specific to null-terminated
|
2001-02-11 09:50:24 +08:00
|
|
|
arrays of characters and wide characters.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
Functions that operate on arbitrary blocks of memory have names
|
2001-02-11 09:50:24 +08:00
|
|
|
beginning with @samp{mem} and @samp{wmem} (such as @code{memcpy} and
|
|
|
|
@code{wmemcpy}) and invariably take an argument which specifies the size
|
|
|
|
(in bytes and wide characters respectively) of the block of memory to
|
1995-02-18 09:27:10 +08:00
|
|
|
operate on. The array arguments and return values for these functions
|
2001-02-11 09:50:24 +08:00
|
|
|
have type @code{void *} or @code{wchar_t}. As a matter of style, the
|
|
|
|
elements of the arrays used with the @samp{mem} functions are referred
|
|
|
|
to as ``bytes''. You can pass any kind of pointer to these functions,
|
|
|
|
and the @code{sizeof} operator is useful in computing the value for the
|
|
|
|
size argument. Parameters to the @samp{wmem} functions must be of type
|
|
|
|
@code{wchar_t *}. These functions are not really usable with anything
|
|
|
|
but arrays of this type.
|
|
|
|
|
|
|
|
In contrast, functions that operate specifically on strings and wide
|
|
|
|
character strings have names beginning with @samp{str} and @samp{wcs}
|
|
|
|
respectively (such as @code{strcpy} and @code{wcscpy}) and look for a
|
|
|
|
null character to terminate the string instead of requiring an explicit
|
|
|
|
size argument to be passed. (Some of these functions accept a specified
|
1995-02-18 09:27:10 +08:00
|
|
|
maximum length, but they also check for premature termination with a
|
|
|
|
null character.) The array arguments and return values for these
|
2001-02-11 09:50:24 +08:00
|
|
|
functions have type @code{char *} and @code{wchar_t *} respectively, and
|
|
|
|
the array elements are referred to as ``characters'' and ``wide
|
|
|
|
characters''.
|
|
|
|
|
|
|
|
In many cases, there are both @samp{mem} and @samp{str}/@samp{wcs}
|
|
|
|
versions of a function. The one that is more appropriate to use depends
|
|
|
|
on the exact situation. When your program is manipulating arbitrary
|
|
|
|
arrays or blocks of storage, then you should always use the @samp{mem}
|
|
|
|
functions. On the other hand, when you are manipulating null-terminated
|
|
|
|
strings it is usually more convenient to use the @samp{str}/@samp{wcs}
|
|
|
|
functions, unless you already know the length of the string in advance.
|
|
|
|
The @samp{wmem} functions should be used for wide character arrays with
|
|
|
|
known size.
|
|
|
|
|
|
|
|
@cindex wint_t
|
|
|
|
@cindex parameter promotion
|
|
|
|
Some of the memory and string functions take single characters as
|
|
|
|
arguments. Since a value of type @code{char} is automatically promoted
|
|
|
|
into an value of type @code{int} when used as a parameter, the functions
|
|
|
|
are declared with @code{int} as the type of the parameter in question.
|
|
|
|
In case of the wide character function the situation is similarly: the
|
|
|
|
parameter type for a single wide character is @code{wint_t} and not
|
|
|
|
@code{wchar_t}. This would for many implementations not be necessary
|
|
|
|
since the @code{wchar_t} is large enough to not be automatically
|
|
|
|
promoted, but since the @w{ISO C} standard does not require such a
|
|
|
|
choice of types the @code{wint_t} type is used.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
@node String Length
|
1995-02-18 09:27:10 +08:00
|
|
|
@section String Length
|
|
|
|
|
|
|
|
You can get the length of a string using the @code{strlen} function.
|
|
|
|
This function is declared in the header file @file{string.h}.
|
|
|
|
@pindex string.h
|
|
|
|
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun size_t strlen (const char *@var{s})
|
|
|
|
The @code{strlen} function returns the length of the null-terminated
|
2001-02-11 09:50:24 +08:00
|
|
|
string @var{s} in bytes. (In other words, it returns the offset of the
|
|
|
|
terminating null character within the array.)
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
For example,
|
|
|
|
@smallexample
|
|
|
|
strlen ("hello, world")
|
|
|
|
@result{} 12
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
When applied to a character array, the @code{strlen} function returns
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
the length of the string stored there, not its allocated size. You can
|
|
|
|
get the allocated size of the character array that holds a string using
|
1995-02-18 09:27:10 +08:00
|
|
|
the @code{sizeof} operator:
|
|
|
|
|
|
|
|
@smallexample
|
1996-08-09 10:46:09 +08:00
|
|
|
char string[32] = "hello, world";
|
1995-02-18 09:27:10 +08:00
|
|
|
sizeof (string)
|
|
|
|
@result{} 32
|
|
|
|
strlen (string)
|
|
|
|
@result{} 12
|
|
|
|
@end smallexample
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
|
|
|
|
But beware, this will not work unless @var{string} is the character
|
|
|
|
array itself, not a pointer to it. For example:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
char string[32] = "hello, world";
|
|
|
|
char *ptr = string;
|
|
|
|
sizeof (string)
|
|
|
|
@result{} 32
|
|
|
|
sizeof (ptr)
|
|
|
|
@result{} 4 /* @r{(on a machine with 4 byte pointers)} */
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
This is an easy mistake to make when you are working with functions that
|
|
|
|
take string arguments; those arguments are always pointers, not arrays.
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
It must also be noted that for multibyte encoded strings the return
|
|
|
|
value does not have to correspond to the number of characters in the
|
|
|
|
string. To get this value the string can be converted to wide
|
|
|
|
characters and @code{wcslen} can be used or something like the following
|
|
|
|
code can be used:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
/* @r{The input is in @code{string}.}
|
|
|
|
@r{The length is expected in @code{n}.} */
|
|
|
|
@{
|
|
|
|
mbstate_t t;
|
|
|
|
char *scopy = string;
|
|
|
|
/* In initial state. */
|
|
|
|
memset (&t, '\0', sizeof (t));
|
|
|
|
/* Determine number of characters. */
|
|
|
|
n = mbsrtowcs (NULL, &scopy, strlen (scopy), &t);
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
This is cumbersome to do so if the number of characters (as opposed to
|
|
|
|
bytes) is needed often it is better to work with wide characters.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
The wide character equivalent is declared in @file{wchar.h}.
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun size_t wcslen (const wchar_t *@var{ws})
|
|
|
|
The @code{wcslen} function is the wide character equivalent to
|
|
|
|
@code{strlen}. The return value is the number of wide characters in the
|
|
|
|
wide character string pointed to by @var{ws} (this is also the offset of
|
|
|
|
the terminating null wide character of @var{ws}).
|
|
|
|
|
|
|
|
Since there are no multi wide character sequences making up one
|
|
|
|
character the return value is not only the offset in the array, it is
|
|
|
|
also the number of wide characters.
|
|
|
|
|
|
|
|
This function was introduced in @w{Amendment 1} to @w{ISO C90}.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
1997-09-17 05:51:15 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun size_t strnlen (const char *@var{s}, size_t @var{maxlen})
|
2001-02-11 09:50:24 +08:00
|
|
|
The @code{strnlen} function returns the length of the string @var{s} in
|
|
|
|
bytes if this length is smaller than @var{maxlen} bytes. Otherwise it
|
|
|
|
returns @var{maxlen}. Therefore this function is equivalent to
|
2012-02-19 10:02:10 +08:00
|
|
|
@code{(strlen (@var{s}) < @var{maxlen} ? strlen (@var{s}) : @var{maxlen})}
|
|
|
|
but it
|
2001-02-11 09:50:24 +08:00
|
|
|
is more efficient and works even if the string @var{s} is not
|
|
|
|
null-terminated.
|
1997-09-17 05:51:15 +08:00
|
|
|
|
|
|
|
@smallexample
|
|
|
|
char string[32] = "hello, world";
|
|
|
|
strnlen (string, 32)
|
|
|
|
@result{} 12
|
|
|
|
strnlen (string, 5)
|
|
|
|
@result{} 5
|
|
|
|
@end smallexample
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
This function is a GNU extension and is declared in @file{string.h}.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun size_t wcsnlen (const wchar_t *@var{ws}, size_t @var{maxlen})
|
|
|
|
@code{wcsnlen} is the wide character equivalent to @code{strnlen}. The
|
|
|
|
@var{maxlen} parameter specifies the maximum number of wide characters.
|
|
|
|
|
|
|
|
This function is a GNU extension and is declared in @file{wchar.h}.
|
1997-09-17 05:51:15 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
@node Copying and Concatenation
|
1995-02-18 09:27:10 +08:00
|
|
|
@section Copying and Concatenation
|
|
|
|
|
|
|
|
You can use the functions described in this section to copy the contents
|
|
|
|
of strings and arrays, or to append the contents of one string to
|
2001-02-11 09:50:24 +08:00
|
|
|
another. The @samp{str} and @samp{mem} functions are declared in the
|
|
|
|
header file @file{string.h} while the @samp{wstr} and @samp{wmem}
|
|
|
|
functions are declared in the file @file{wchar.h}.
|
1995-02-18 09:27:10 +08:00
|
|
|
@pindex string.h
|
2001-02-11 09:50:24 +08:00
|
|
|
@pindex wchar.h
|
1995-02-18 09:27:10 +08:00
|
|
|
@cindex copying strings and arrays
|
|
|
|
@cindex string copy functions
|
|
|
|
@cindex array copy functions
|
|
|
|
@cindex concatenating strings
|
|
|
|
@cindex string concatenation functions
|
|
|
|
|
|
|
|
A helpful way to remember the ordering of the arguments to the functions
|
|
|
|
in this section is that it corresponds to an assignment expression, with
|
|
|
|
the destination array specified to the left of the source array. All
|
|
|
|
of these functions return the address of the destination array.
|
|
|
|
|
|
|
|
Most of these functions do not work properly if the source and
|
|
|
|
destination arrays overlap. For example, if the beginning of the
|
|
|
|
destination array overlaps the end of the source array, the original
|
|
|
|
contents of that part of the source array may get overwritten before it
|
|
|
|
is copied. Even worse, in the case of the string functions, the null
|
|
|
|
character marking the end of the string may be lost, and the copy
|
|
|
|
function might get stuck in a loop trashing all the memory allocated to
|
|
|
|
your program.
|
|
|
|
|
|
|
|
All functions that have problems copying between overlapping arrays are
|
|
|
|
explicitly identified in this manual. In addition to functions in this
|
|
|
|
section, there are a few others like @code{sprintf} (@pxref{Formatted
|
|
|
|
Output Functions}) and @code{scanf} (@pxref{Formatted Input
|
|
|
|
Functions}).
|
|
|
|
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
2001-02-11 09:50:24 +08:00
|
|
|
@deftypefun {void *} memcpy (void *restrict @var{to}, const void *restrict @var{from}, size_t @var{size})
|
1995-02-18 09:27:10 +08:00
|
|
|
The @code{memcpy} function copies @var{size} bytes from the object
|
|
|
|
beginning at @var{from} into the object beginning at @var{to}. The
|
|
|
|
behavior of this function is undefined if the two arrays @var{to} and
|
|
|
|
@var{from} overlap; use @code{memmove} instead if overlapping is possible.
|
|
|
|
|
|
|
|
The value returned by @code{memcpy} is the value of @var{to}.
|
|
|
|
|
|
|
|
Here is an example of how you might use @code{memcpy} to copy the
|
|
|
|
contents of an array:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
struct foo *oldarray, *newarray;
|
|
|
|
int arraysize;
|
|
|
|
@dots{}
|
|
|
|
memcpy (new, old, arraysize * sizeof (struct foo));
|
|
|
|
@end smallexample
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
2005-04-12 04:22:01 +08:00
|
|
|
@deftypefun {wchar_t *} wmemcpy (wchar_t *restrict @var{wto}, const wchar_t *restrict @var{wfrom}, size_t @var{size})
|
2001-02-11 09:50:24 +08:00
|
|
|
The @code{wmemcpy} function copies @var{size} wide characters from the object
|
|
|
|
beginning at @var{wfrom} into the object beginning at @var{wto}. The
|
|
|
|
behavior of this function is undefined if the two arrays @var{wto} and
|
|
|
|
@var{wfrom} overlap; use @code{wmemmove} instead if overlapping is possible.
|
|
|
|
|
|
|
|
The following is a possible implementation of @code{wmemcpy} but there
|
|
|
|
are more optimizations possible.
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
wchar_t *
|
|
|
|
wmemcpy (wchar_t *restrict wto, const wchar_t *restrict wfrom,
|
|
|
|
size_t size)
|
|
|
|
@{
|
|
|
|
return (wchar_t *) memcpy (wto, wfrom, size * sizeof (wchar_t));
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
The value returned by @code{wmemcpy} is the value of @var{wto}.
|
|
|
|
|
|
|
|
This function was introduced in @w{Amendment 1} to @w{ISO C90}.
|
|
|
|
@end deftypefun
|
|
|
|
|
1997-09-17 05:51:15 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
2001-02-11 09:50:24 +08:00
|
|
|
@deftypefun {void *} mempcpy (void *restrict @var{to}, const void *restrict @var{from}, size_t @var{size})
|
1997-09-17 05:51:15 +08:00
|
|
|
The @code{mempcpy} function is nearly identical to the @code{memcpy}
|
1997-10-15 13:34:02 +08:00
|
|
|
function. It copies @var{size} bytes from the object beginning at
|
1997-09-17 05:51:15 +08:00
|
|
|
@code{from} into the object pointed to by @var{to}. But instead of
|
1999-11-02 07:01:49 +08:00
|
|
|
returning the value of @var{to} it returns a pointer to the byte
|
1997-09-17 05:51:15 +08:00
|
|
|
following the last written byte in the object beginning at @var{to}.
|
|
|
|
I.e., the value is @code{((void *) ((char *) @var{to} + @var{size}))}.
|
|
|
|
|
|
|
|
This function is useful in situations where a number of objects shall be
|
|
|
|
copied to consecutive memory positions.
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
void *
|
|
|
|
combine (void *o1, size_t s1, void *o2, size_t s2)
|
|
|
|
@{
|
|
|
|
void *result = malloc (s1 + s2);
|
|
|
|
if (result != NULL)
|
|
|
|
mempcpy (mempcpy (result, o1, s1), o2, s2);
|
|
|
|
return result;
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
This function is a GNU extension.
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun {wchar_t *} wmempcpy (wchar_t *restrict @var{wto}, const wchar_t *restrict @var{wfrom}, size_t @var{size})
|
|
|
|
The @code{wmempcpy} function is nearly identical to the @code{wmemcpy}
|
|
|
|
function. It copies @var{size} wide characters from the object
|
|
|
|
beginning at @code{wfrom} into the object pointed to by @var{wto}. But
|
|
|
|
instead of returning the value of @var{wto} it returns a pointer to the
|
|
|
|
wide character following the last written wide character in the object
|
|
|
|
beginning at @var{wto}. I.e., the value is @code{@var{wto} + @var{size}}.
|
|
|
|
|
|
|
|
This function is useful in situations where a number of objects shall be
|
|
|
|
copied to consecutive memory positions.
|
|
|
|
|
|
|
|
The following is a possible implementation of @code{wmemcpy} but there
|
|
|
|
are more optimizations possible.
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
wchar_t *
|
|
|
|
wmempcpy (wchar_t *restrict wto, const wchar_t *restrict wfrom,
|
|
|
|
size_t size)
|
|
|
|
@{
|
|
|
|
return (wchar_t *) mempcpy (wto, wfrom, size * sizeof (wchar_t));
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
This function is a GNU extension.
|
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun {void *} memmove (void *@var{to}, const void *@var{from}, size_t @var{size})
|
|
|
|
@code{memmove} copies the @var{size} bytes at @var{from} into the
|
|
|
|
@var{size} bytes at @var{to}, even if those two blocks of space
|
|
|
|
overlap. In the case of overlap, @code{memmove} is careful to copy the
|
|
|
|
original values of the bytes in the block at @var{from}, including those
|
|
|
|
bytes which also belong to the block at @var{to}.
|
2001-02-11 09:50:24 +08:00
|
|
|
|
|
|
|
The value returned by @code{memmove} is the value of @var{to}.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
2013-02-12 06:12:47 +08:00
|
|
|
@deftypefun {wchar_t *} wmemmove (wchar_t *@var{wto}, const wchar_t *@var{wfrom}, size_t @var{size})
|
2001-02-11 09:50:24 +08:00
|
|
|
@code{wmemmove} copies the @var{size} wide characters at @var{wfrom}
|
|
|
|
into the @var{size} wide characters at @var{wto}, even if those two
|
|
|
|
blocks of space overlap. In the case of overlap, @code{memmove} is
|
|
|
|
careful to copy the original values of the wide characters in the block
|
|
|
|
at @var{wfrom}, including those wide characters which also belong to the
|
|
|
|
block at @var{wto}.
|
|
|
|
|
|
|
|
The following is a possible implementation of @code{wmemcpy} but there
|
|
|
|
are more optimizations possible.
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
wchar_t *
|
|
|
|
wmempcpy (wchar_t *restrict wto, const wchar_t *restrict wfrom,
|
|
|
|
size_t size)
|
|
|
|
@{
|
|
|
|
return (wchar_t *) mempcpy (wto, wfrom, size * sizeof (wchar_t));
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
The value returned by @code{wmemmove} is the value of @var{wto}.
|
|
|
|
|
|
|
|
This function is a GNU extension.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment string.h
|
|
|
|
@comment SVID
|
2001-02-11 09:50:24 +08:00
|
|
|
@deftypefun {void *} memccpy (void *restrict @var{to}, const void *restrict @var{from}, int @var{c}, size_t @var{size})
|
1995-02-18 09:27:10 +08:00
|
|
|
This function copies no more than @var{size} bytes from @var{from} to
|
|
|
|
@var{to}, stopping if a byte matching @var{c} is found. The return
|
|
|
|
value is a pointer into @var{to} one byte past where @var{c} was copied,
|
|
|
|
or a null pointer if no byte matching @var{c} appeared in the first
|
|
|
|
@var{size} bytes of @var{from}.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun {void *} memset (void *@var{block}, int @var{c}, size_t @var{size})
|
|
|
|
This function copies the value of @var{c} (converted to an
|
|
|
|
@code{unsigned char}) into each of the first @var{size} bytes of the
|
|
|
|
object beginning at @var{block}. It returns the value of @var{block}.
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun {wchar_t *} wmemset (wchar_t *@var{block}, wchar_t @var{wc}, size_t @var{size})
|
|
|
|
This function copies the value of @var{wc} into each of the first
|
|
|
|
@var{size} wide characters of the object beginning at @var{block}. It
|
|
|
|
returns the value of @var{block}.
|
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
2001-02-11 09:50:24 +08:00
|
|
|
@deftypefun {char *} strcpy (char *restrict @var{to}, const char *restrict @var{from})
|
1995-02-18 09:27:10 +08:00
|
|
|
This copies characters from the string @var{from} (up to and including
|
|
|
|
the terminating null character) into the string @var{to}. Like
|
|
|
|
@code{memcpy}, this function has undefined results if the strings
|
|
|
|
overlap. The return value is the value of @var{to}.
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun {wchar_t *} wcscpy (wchar_t *restrict @var{wto}, const wchar_t *restrict @var{wfrom})
|
|
|
|
This copies wide characters from the string @var{wfrom} (up to and
|
|
|
|
including the terminating null wide character) into the string
|
|
|
|
@var{wto}. Like @code{wmemcpy}, this function has undefined results if
|
|
|
|
the strings overlap. The return value is the value of @var{wto}.
|
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
2001-02-11 09:50:24 +08:00
|
|
|
@deftypefun {char *} strncpy (char *restrict @var{to}, const char *restrict @var{from}, size_t @var{size})
|
1995-02-18 09:27:10 +08:00
|
|
|
This function is similar to @code{strcpy} but always copies exactly
|
|
|
|
@var{size} characters into @var{to}.
|
|
|
|
|
|
|
|
If the length of @var{from} is more than @var{size}, then @code{strncpy}
|
|
|
|
copies just the first @var{size} characters. Note that in this case
|
|
|
|
there is no null terminator written into @var{to}.
|
|
|
|
|
|
|
|
If the length of @var{from} is less than @var{size}, then @code{strncpy}
|
|
|
|
copies all of @var{from}, followed by enough null characters to add up
|
|
|
|
to @var{size} characters in all. This behavior is rarely useful, but it
|
1996-12-08 16:01:13 +08:00
|
|
|
is specified by the @w{ISO C} standard.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
The behavior of @code{strncpy} is undefined if the strings overlap.
|
|
|
|
|
|
|
|
Using @code{strncpy} as opposed to @code{strcpy} is a way to avoid bugs
|
|
|
|
relating to writing past the end of the allocated space for @var{to}.
|
|
|
|
However, it can also make your program much slower in one common case:
|
|
|
|
copying a string which is probably small into a potentially large buffer.
|
|
|
|
In this case, @var{size} may be large, and when it is, @code{strncpy} will
|
|
|
|
waste a considerable amount of time copying null characters.
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun {wchar_t *} wcsncpy (wchar_t *restrict @var{wto}, const wchar_t *restrict @var{wfrom}, size_t @var{size})
|
|
|
|
This function is similar to @code{wcscpy} but always copies exactly
|
|
|
|
@var{size} wide characters into @var{wto}.
|
|
|
|
|
|
|
|
If the length of @var{wfrom} is more than @var{size}, then
|
|
|
|
@code{wcsncpy} copies just the first @var{size} wide characters. Note
|
|
|
|
that in this case there is no null terminator written into @var{wto}.
|
|
|
|
|
|
|
|
If the length of @var{wfrom} is less than @var{size}, then
|
|
|
|
@code{wcsncpy} copies all of @var{wfrom}, followed by enough null wide
|
|
|
|
characters to add up to @var{size} wide characters in all. This
|
|
|
|
behavior is rarely useful, but it is specified by the @w{ISO C}
|
|
|
|
standard.
|
|
|
|
|
|
|
|
The behavior of @code{wcsncpy} is undefined if the strings overlap.
|
|
|
|
|
|
|
|
Using @code{wcsncpy} as opposed to @code{wcscpy} is a way to avoid bugs
|
|
|
|
relating to writing past the end of the allocated space for @var{wto}.
|
|
|
|
However, it can also make your program much slower in one common case:
|
|
|
|
copying a string which is probably small into a potentially large buffer.
|
|
|
|
In this case, @var{size} may be large, and when it is, @code{wcsncpy} will
|
|
|
|
waste a considerable amount of time copying null wide characters.
|
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment SVID
|
|
|
|
@deftypefun {char *} strdup (const char *@var{s})
|
|
|
|
This function copies the null-terminated string @var{s} into a newly
|
|
|
|
allocated string. The string is allocated using @code{malloc}; see
|
|
|
|
@ref{Unconstrained Allocation}. If @code{malloc} cannot allocate space
|
|
|
|
for the new string, @code{strdup} returns a null pointer. Otherwise it
|
|
|
|
returns a pointer to the new string.
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun {wchar_t *} wcsdup (const wchar_t *@var{ws})
|
|
|
|
This function copies the null-terminated wide character string @var{ws}
|
|
|
|
into a newly allocated string. The string is allocated using
|
|
|
|
@code{malloc}; see @ref{Unconstrained Allocation}. If @code{malloc}
|
|
|
|
cannot allocate space for the new string, @code{wcsdup} returns a null
|
|
|
|
pointer. Otherwise it returns a pointer to the new wide character
|
|
|
|
string.
|
|
|
|
|
|
|
|
This function is a GNU extension.
|
|
|
|
@end deftypefun
|
|
|
|
|
1996-08-15 09:23:29 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun {char *} strndup (const char *@var{s}, size_t @var{size})
|
|
|
|
This function is similar to @code{strdup} but always copies at most
|
|
|
|
@var{size} characters into the newly allocated string.
|
|
|
|
|
|
|
|
If the length of @var{s} is more than @var{size}, then @code{strndup}
|
|
|
|
copies just the first @var{size} characters and adds a closing null
|
|
|
|
terminator. Otherwise all characters are copied and the string is
|
|
|
|
terminated.
|
|
|
|
|
|
|
|
This function is different to @code{strncpy} in that it always
|
|
|
|
terminates the destination string.
|
1999-06-28 20:43:04 +08:00
|
|
|
|
|
|
|
@code{strndup} is a GNU extension.
|
1996-08-15 09:23:29 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment Unknown origin
|
2001-02-11 09:50:24 +08:00
|
|
|
@deftypefun {char *} stpcpy (char *restrict @var{to}, const char *restrict @var{from})
|
1995-02-18 09:27:10 +08:00
|
|
|
This function is like @code{strcpy}, except that it returns a pointer to
|
|
|
|
the end of the string @var{to} (that is, the address of the terminating
|
2001-02-11 09:50:24 +08:00
|
|
|
null character @code{to + strlen (from)}) rather than the beginning.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
For example, this program uses @code{stpcpy} to concatenate @samp{foo}
|
|
|
|
and @samp{bar} to produce @samp{foobar}, which it then prints.
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
@include stpcpy.c.texi
|
|
|
|
@end smallexample
|
|
|
|
|
1996-12-08 16:01:13 +08:00
|
|
|
This function is not part of the ISO or POSIX standards, and is not
|
1995-02-18 09:27:10 +08:00
|
|
|
customary on Unix systems, but we did not invent it either. Perhaps it
|
|
|
|
comes from MS-DOG.
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
Its behavior is undefined if the strings overlap. The function is
|
|
|
|
declared in @file{string.h}.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun {wchar_t *} wcpcpy (wchar_t *restrict @var{wto}, const wchar_t *restrict @var{wfrom})
|
|
|
|
This function is like @code{wcscpy}, except that it returns a pointer to
|
|
|
|
the end of the string @var{wto} (that is, the address of the terminating
|
|
|
|
null character @code{wto + strlen (wfrom)}) rather than the beginning.
|
|
|
|
|
|
|
|
This function is not part of ISO or POSIX but was found useful while
|
2012-02-28 22:44:20 +08:00
|
|
|
developing @theglibc{} itself.
|
2001-02-11 09:50:24 +08:00
|
|
|
|
|
|
|
The behavior of @code{wcpcpy} is undefined if the strings overlap.
|
|
|
|
|
|
|
|
@code{wcpcpy} is a GNU extension and is declared in @file{wchar.h}.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
1996-08-15 09:23:29 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
2001-02-11 09:50:24 +08:00
|
|
|
@deftypefun {char *} stpncpy (char *restrict @var{to}, const char *restrict @var{from}, size_t @var{size})
|
1996-08-15 09:23:29 +08:00
|
|
|
This function is similar to @code{stpcpy} but copies always exactly
|
|
|
|
@var{size} characters into @var{to}.
|
|
|
|
|
|
|
|
If the length of @var{from} is more then @var{size}, then @code{stpncpy}
|
|
|
|
copies just the first @var{size} characters and returns a pointer to the
|
|
|
|
character directly following the one which was copied last. Note that in
|
|
|
|
this case there is no null terminator written into @var{to}.
|
|
|
|
|
|
|
|
If the length of @var{from} is less than @var{size}, then @code{stpncpy}
|
|
|
|
copies all of @var{from}, followed by enough null characters to add up
|
2001-05-22 01:38:30 +08:00
|
|
|
to @var{size} characters in all. This behavior is rarely useful, but it
|
|
|
|
is implemented to be useful in contexts where this behavior of the
|
1996-08-15 09:23:29 +08:00
|
|
|
@code{strncpy} is used. @code{stpncpy} returns a pointer to the
|
|
|
|
@emph{first} written null character.
|
|
|
|
|
1996-12-08 16:01:13 +08:00
|
|
|
This function is not part of ISO or POSIX but was found useful while
|
2012-02-28 22:44:20 +08:00
|
|
|
developing @theglibc{} itself.
|
1996-08-15 09:23:29 +08:00
|
|
|
|
2001-05-22 01:38:30 +08:00
|
|
|
Its behavior is undefined if the strings overlap. The function is
|
2001-02-11 09:50:24 +08:00
|
|
|
declared in @file{string.h}.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun {wchar_t *} wcpncpy (wchar_t *restrict @var{wto}, const wchar_t *restrict @var{wfrom}, size_t @var{size})
|
|
|
|
This function is similar to @code{wcpcpy} but copies always exactly
|
|
|
|
@var{wsize} characters into @var{wto}.
|
|
|
|
|
|
|
|
If the length of @var{wfrom} is more then @var{size}, then
|
|
|
|
@code{wcpncpy} copies just the first @var{size} wide characters and
|
2003-06-01 16:52:38 +08:00
|
|
|
returns a pointer to the wide character directly following the last
|
|
|
|
non-null wide character which was copied last. Note that in this case
|
|
|
|
there is no null terminator written into @var{wto}.
|
2001-02-11 09:50:24 +08:00
|
|
|
|
|
|
|
If the length of @var{wfrom} is less than @var{size}, then @code{wcpncpy}
|
|
|
|
copies all of @var{wfrom}, followed by enough null characters to add up
|
2001-05-22 01:38:30 +08:00
|
|
|
to @var{size} characters in all. This behavior is rarely useful, but it
|
|
|
|
is implemented to be useful in contexts where this behavior of the
|
2001-02-11 09:50:24 +08:00
|
|
|
@code{wcsncpy} is used. @code{wcpncpy} returns a pointer to the
|
|
|
|
@emph{first} written null character.
|
|
|
|
|
|
|
|
This function is not part of ISO or POSIX but was found useful while
|
2012-02-28 22:44:20 +08:00
|
|
|
developing @theglibc{} itself.
|
2001-02-11 09:50:24 +08:00
|
|
|
|
2001-05-22 01:38:30 +08:00
|
|
|
Its behavior is undefined if the strings overlap.
|
2001-02-11 09:50:24 +08:00
|
|
|
|
|
|
|
@code{wcpncpy} is a GNU extension and is declared in @file{wchar.h}.
|
1996-08-15 09:23:29 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
1997-09-05 09:43:20 +08:00
|
|
|
@deftypefn {Macro} {char *} strdupa (const char *@var{s})
|
1999-11-02 07:01:49 +08:00
|
|
|
This macro is similar to @code{strdup} but allocates the new string
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
using @code{alloca} instead of @code{malloc} (@pxref{Variable Size
|
|
|
|
Automatic}). This means of course the returned string has the same
|
|
|
|
limitations as any block of memory allocated using @code{alloca}.
|
1996-08-15 09:23:29 +08:00
|
|
|
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
For obvious reasons @code{strdupa} is implemented only as a macro;
|
1997-08-20 11:53:21 +08:00
|
|
|
you cannot get the address of this function. Despite this limitation
|
1996-08-15 09:23:29 +08:00
|
|
|
it is a useful function. The following code shows a situation where
|
|
|
|
using @code{malloc} would be a lot more expensive.
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
@include strdupa.c.texi
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
Please note that calling @code{strtok} using @var{path} directly is
|
2001-02-11 09:50:24 +08:00
|
|
|
invalid. It is also not allowed to call @code{strdupa} in the argument
|
|
|
|
list of @code{strtok} since @code{strdupa} uses @code{alloca}
|
|
|
|
(@pxref{Variable Size Automatic}) can interfere with the parameter
|
|
|
|
passing.
|
1996-08-15 09:23:29 +08:00
|
|
|
|
|
|
|
This function is only available if GNU CC is used.
|
1997-09-05 09:43:20 +08:00
|
|
|
@end deftypefn
|
1996-08-15 09:23:29 +08:00
|
|
|
|
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
1997-09-05 09:43:20 +08:00
|
|
|
@deftypefn {Macro} {char *} strndupa (const char *@var{s}, size_t @var{size})
|
1996-08-15 09:23:29 +08:00
|
|
|
This function is similar to @code{strndup} but like @code{strdupa} it
|
|
|
|
allocates the new string using @code{alloca}
|
|
|
|
@pxref{Variable Size Automatic}. The same advantages and limitations
|
|
|
|
of @code{strdupa} are valid for @code{strndupa}, too.
|
|
|
|
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
This function is implemented only as a macro, just like @code{strdupa}.
|
2001-02-11 09:50:24 +08:00
|
|
|
Just as @code{strdupa} this macro also must not be used inside the
|
|
|
|
parameter list in a function call.
|
1996-08-15 09:23:29 +08:00
|
|
|
|
|
|
|
@code{strndupa} is only available if GNU CC is used.
|
1997-09-05 09:43:20 +08:00
|
|
|
@end deftypefn
|
1996-08-15 09:23:29 +08:00
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
2001-02-11 09:50:24 +08:00
|
|
|
@deftypefun {char *} strcat (char *restrict @var{to}, const char *restrict @var{from})
|
1995-02-18 09:27:10 +08:00
|
|
|
The @code{strcat} function is similar to @code{strcpy}, except that the
|
|
|
|
characters from @var{from} are concatenated or appended to the end of
|
|
|
|
@var{to}, instead of overwriting it. That is, the first character from
|
|
|
|
@var{from} overwrites the null character marking the end of @var{to}.
|
|
|
|
|
|
|
|
An equivalent definition for @code{strcat} would be:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
char *
|
2001-02-11 09:50:24 +08:00
|
|
|
strcat (char *restrict to, const char *restrict from)
|
1995-02-18 09:27:10 +08:00
|
|
|
@{
|
|
|
|
strcpy (to + strlen (to), from);
|
|
|
|
return to;
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
This function has undefined results if the strings overlap.
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun {wchar_t *} wcscat (wchar_t *restrict @var{wto}, const wchar_t *restrict @var{wfrom})
|
|
|
|
The @code{wcscat} function is similar to @code{wcscpy}, except that the
|
|
|
|
characters from @var{wfrom} are concatenated or appended to the end of
|
|
|
|
@var{wto}, instead of overwriting it. That is, the first character from
|
|
|
|
@var{wfrom} overwrites the null character marking the end of @var{wto}.
|
|
|
|
|
|
|
|
An equivalent definition for @code{wcscat} would be:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
wchar_t *
|
|
|
|
wcscat (wchar_t *wto, const wchar_t *wfrom)
|
|
|
|
@{
|
|
|
|
wcscpy (wto + wcslen (wto), wfrom);
|
|
|
|
return wto;
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
This function has undefined results if the strings overlap.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
Programmers using the @code{strcat} or @code{wcscat} function (or the
|
|
|
|
following @code{strncat} or @code{wcsncar} functions for that matter)
|
|
|
|
can easily be recognized as lazy and reckless. In almost all situations
|
|
|
|
the lengths of the participating strings are known (it better should be
|
|
|
|
since how can one otherwise ensure the allocated size of the buffer is
|
|
|
|
sufficient?) Or at least, one could know them if one keeps track of the
|
1999-01-27 08:11:04 +08:00
|
|
|
results of the various function calls. But then it is very inefficient
|
2001-02-11 09:50:24 +08:00
|
|
|
to use @code{strcat}/@code{wcscat}. A lot of time is wasted finding the
|
|
|
|
end of the destination string so that the actual copying can start.
|
|
|
|
This is a common example:
|
1999-01-27 08:11:04 +08:00
|
|
|
|
|
|
|
@cindex va_copy
|
|
|
|
@smallexample
|
2000-02-22 17:00:35 +08:00
|
|
|
/* @r{This function concatenates arbitrarily many strings. The last}
|
1999-01-27 08:11:04 +08:00
|
|
|
@r{parameter must be @code{NULL}.} */
|
|
|
|
char *
|
2001-02-11 09:50:24 +08:00
|
|
|
concat (const char *str, @dots{})
|
1999-01-27 08:11:04 +08:00
|
|
|
@{
|
|
|
|
va_list ap, ap2;
|
|
|
|
size_t total = 1;
|
|
|
|
const char *s;
|
|
|
|
char *result;
|
|
|
|
|
|
|
|
va_start (ap, str);
|
2012-07-21 07:49:24 +08:00
|
|
|
va_copy (ap2, ap);
|
1999-01-27 08:11:04 +08:00
|
|
|
|
|
|
|
/* @r{Determine how much space we need.} */
|
|
|
|
for (s = str; s != NULL; s = va_arg (ap, const char *))
|
|
|
|
total += strlen (s);
|
|
|
|
|
|
|
|
va_end (ap);
|
|
|
|
|
|
|
|
result = (char *) malloc (total);
|
|
|
|
if (result != NULL)
|
|
|
|
@{
|
|
|
|
result[0] = '\0';
|
|
|
|
|
|
|
|
/* @r{Copy the strings.} */
|
|
|
|
for (s = str; s != NULL; s = va_arg (ap2, const char *))
|
|
|
|
strcat (result, s);
|
|
|
|
@}
|
|
|
|
|
|
|
|
va_end (ap2);
|
|
|
|
|
|
|
|
return result;
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
This looks quite simple, especially the second loop where the strings
|
|
|
|
are actually copied. But these innocent lines hide a major performance
|
|
|
|
penalty. Just imagine that ten strings of 100 bytes each have to be
|
|
|
|
concatenated. For the second string we search the already stored 100
|
|
|
|
bytes for the end of the string so that we can append the next string.
|
|
|
|
For all strings in total the comparisons necessary to find the end of
|
|
|
|
the intermediate results sums up to 5500! If we combine the copying
|
|
|
|
with the search for the allocation we can write this function more
|
2000-02-22 17:00:35 +08:00
|
|
|
efficient:
|
1999-01-27 08:11:04 +08:00
|
|
|
|
|
|
|
@smallexample
|
|
|
|
char *
|
2001-02-11 09:50:24 +08:00
|
|
|
concat (const char *str, @dots{})
|
1999-01-27 08:11:04 +08:00
|
|
|
@{
|
|
|
|
va_list ap;
|
|
|
|
size_t allocated = 100;
|
|
|
|
char *result = (char *) malloc (allocated);
|
|
|
|
|
2004-05-25 02:12:23 +08:00
|
|
|
if (result != NULL)
|
1999-01-27 08:11:04 +08:00
|
|
|
@{
|
|
|
|
char *newp;
|
2004-05-25 02:12:23 +08:00
|
|
|
char *wp;
|
2012-05-14 21:30:30 +08:00
|
|
|
const char *s;
|
1999-01-27 08:11:04 +08:00
|
|
|
|
2004-05-25 02:12:23 +08:00
|
|
|
va_start (ap, str);
|
1999-01-27 08:11:04 +08:00
|
|
|
|
|
|
|
wp = result;
|
|
|
|
for (s = str; s != NULL; s = va_arg (ap, const char *))
|
|
|
|
@{
|
|
|
|
size_t len = strlen (s);
|
|
|
|
|
|
|
|
/* @r{Resize the allocated memory if necessary.} */
|
|
|
|
if (wp + len + 1 > result + allocated)
|
|
|
|
@{
|
|
|
|
allocated = (allocated + len) * 2;
|
|
|
|
newp = (char *) realloc (result, allocated);
|
|
|
|
if (newp == NULL)
|
|
|
|
@{
|
|
|
|
free (result);
|
|
|
|
return NULL;
|
|
|
|
@}
|
|
|
|
wp = newp + (wp - result);
|
|
|
|
result = newp;
|
|
|
|
@}
|
|
|
|
|
|
|
|
wp = mempcpy (wp, s, len);
|
|
|
|
@}
|
|
|
|
|
|
|
|
/* @r{Terminate the result string.} */
|
|
|
|
*wp++ = '\0';
|
|
|
|
|
|
|
|
/* @r{Resize memory to the optimal size.} */
|
|
|
|
newp = realloc (result, wp - result);
|
|
|
|
if (newp != NULL)
|
|
|
|
result = newp;
|
|
|
|
|
|
|
|
va_end (ap);
|
|
|
|
@}
|
|
|
|
|
|
|
|
return result;
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
With a bit more knowledge about the input strings one could fine-tune
|
|
|
|
the memory allocation. The difference we are pointing to here is that
|
|
|
|
we don't use @code{strcat} anymore. We always keep track of the length
|
|
|
|
of the current intermediate result so we can safe us the search for the
|
|
|
|
end of the string and use @code{mempcpy}. Please note that we also
|
|
|
|
don't use @code{stpcpy} which might seem more natural since we handle
|
|
|
|
with strings. But this is not necessary since we already know the
|
|
|
|
length of the string and therefore can use the faster memory copying
|
2001-02-11 09:50:24 +08:00
|
|
|
function. The example would work for wide characters the same way.
|
1999-01-27 08:11:04 +08:00
|
|
|
|
|
|
|
Whenever a programmer feels the need to use @code{strcat} she or he
|
|
|
|
should think twice and look through the program whether the code cannot
|
|
|
|
be rewritten to take advantage of already calculated results. Again: it
|
|
|
|
is almost always unnecessary to use @code{strcat}.
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
2001-02-11 09:50:24 +08:00
|
|
|
@deftypefun {char *} strncat (char *restrict @var{to}, const char *restrict @var{from}, size_t @var{size})
|
1995-02-18 09:27:10 +08:00
|
|
|
This function is like @code{strcat} except that not more than @var{size}
|
|
|
|
characters from @var{from} are appended to the end of @var{to}. A
|
|
|
|
single null character is also always appended to @var{to}, so the total
|
|
|
|
allocated size of @var{to} must be at least @code{@var{size} + 1} bytes
|
|
|
|
longer than its initial length.
|
|
|
|
|
|
|
|
The @code{strncat} function could be implemented like this:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
@group
|
|
|
|
char *
|
|
|
|
strncat (char *to, const char *from, size_t size)
|
|
|
|
@{
|
2001-02-11 09:50:24 +08:00
|
|
|
to[strlen (to) + size] = '\0';
|
1995-02-18 09:27:10 +08:00
|
|
|
strncpy (to + strlen (to), from, size);
|
|
|
|
return to;
|
|
|
|
@}
|
|
|
|
@end group
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
The behavior of @code{strncat} is undefined if the strings overlap.
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun {wchar_t *} wcsncat (wchar_t *restrict @var{wto}, const wchar_t *restrict @var{wfrom}, size_t @var{size})
|
|
|
|
This function is like @code{wcscat} except that not more than @var{size}
|
|
|
|
characters from @var{from} are appended to the end of @var{to}. A
|
|
|
|
single null character is also always appended to @var{to}, so the total
|
|
|
|
allocated size of @var{to} must be at least @code{@var{size} + 1} bytes
|
|
|
|
longer than its initial length.
|
|
|
|
|
|
|
|
The @code{wcsncat} function could be implemented like this:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
@group
|
|
|
|
wchar_t *
|
|
|
|
wcsncat (wchar_t *restrict wto, const wchar_t *restrict wfrom,
|
|
|
|
size_t size)
|
|
|
|
@{
|
|
|
|
wto[wcslen (to) + size] = L'\0';
|
|
|
|
wcsncpy (wto + wcslen (wto), wfrom, size);
|
|
|
|
return wto;
|
|
|
|
@}
|
|
|
|
@end group
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
The behavior of @code{wcsncat} is undefined if the strings overlap.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
Here is an example showing the use of @code{strncpy} and @code{strncat}
|
|
|
|
(the wide character version is equivalent). Notice how, in the call to
|
|
|
|
@code{strncat}, the @var{size} parameter is computed to avoid
|
|
|
|
overflowing the character array @code{buffer}.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
@smallexample
|
|
|
|
@include strncat.c.texi
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
The output produced by this program looks like:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
hello
|
|
|
|
hello, wo
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
@comment string.h
|
|
|
|
@comment BSD
|
Update.
1997-10-26 18:12 Ulrich Drepper <drepper@cygnus.com>
* libio/genops.c: Partial undo of last patch.
* libio/stdfiles.c: Likewise.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_file_plus.
* libio/iopopen.c: Likewise.
* libio/iovdprintf.c: Likewise.
* libio/libio.h: Remove duplicated `;'.
* libio/stdio.c: Remove misleading comment.
* libio/stdio.h: Declare standard streams as variables.
* login/Makefile (distribute): Add README.utmpd.
* login/README.utmpd: New file.
Provided by Mark M. Kettenis <kettenis@phys.uva.nl>.
* manual/job.texi: Document tcgetsid.
* manual/pattern.texi: Document globfree.
* manual/terminal.texi: Document B38400 ... B460800.
* posix/confstr.c: Print "-D_FILE_OFFSET_SIZE=64" for _CS_LFS_CFLAGS.
* posix/unistd.h: Add explanation of _POSIX_* constants.
* posix/unists.h: Add prototypes for __pread, __pread64, __pwrite
and __pwrite64.
* sysdeps/generic/pread.c: Define as __pread and make pread weak alias.
* sysdeps/generic/pread64.c: Likewise.
* sysdeps/generic/pwrite.c: Likewise.
* sysdeps/generic/pwrite64.c: Likewise.
* sysdeps/posix/pread.c: Likewise.
* sysdeps/posix/pwrite.c: Likewise.
* sysdeps/posix/pread64.c: New file.
* sysdeps/posix/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)=posix] (sysdep_routines):
Add s_pread64 and s_pwrite64.
* sysdeps/unix/sysv/linux/pread.c: New file.
* sysdeps/unix/sysv/linux/pread64.c: New file.
* sysdeps/unix/sysv/linux/pwrite.c: New file.
* sysdeps/unix/sysv/linux/pwrite64.c: New file.
* sysdeps/unix/sysv/linux/s_pread64.c: New file.
* sysdeps/unix/sysv/linux/s_pwrite64.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add pread and pwrite.
* sysdeps/unix/sysv/linux/alpha/pread64.c: New (empty) file.
* sysdeps/unix/sysv/linux/alpha/pwrite64.c: New (empty) file.
* sysdeps/unix/sysv/linux/sparc/sparc64/pread64.c: New (empty) file.
* sysdeps/unix/sysv/linux/sparc/sparc64/pwrite64.c: New (empty) file.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add pread and pwrite
with weak aliases for *64 functions.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* string/bits/string2.h: Add casts to allow void * arguments.
* sysdeps/i386/i486/bits/string.h: Define index and rindex only if
__USE_BSD or __USE_XOPEN_EXTENDED.
* sysdeps/unix/sysv/linux/bits/socket.h: Add SCM_RIGHTS and other
SCM_* constants from kernel header.
* termios/termios.h: Add prototype for tcgetsid.
1997-10-26 13:26 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* sunrpc/clnt_perr.c: Add trailing '\0' to strings.
* sunrpc/get_myaddr.c: Include rpc/clnt.h for prototypes.
* sunrpc/pmap_clnt.c: Use get_myaddress from header file.
1997-10-26 05:26 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Punt if any directory mentioned in the
enable-add-on parameter does not exist.
1997-10-25 19:25 Ulrich Drepper <drepper@cygnus.com>
* termios/Makefile (routines): Add tcgetsid.
* termios/tcgetsid.c: New file.
Provided by Mark M. Kettenis <kettenis@phys.uva.nl>.
1997-10-25 18:56 Ulrich Drepper <drepper@cygnus.com>
* stdlib/stdlib.h: Remove mblen optimization.
* stdlib/mblen.c: Rewrite to make sure global state is not changed.
Reported by anderson@metrolink.com.
1997-10-19 21:51 Wolfram Gloger <wg@wolfram.dent.med.uni-muenchen.de>
* malloc/thread-m.h [_LIBC]: Use new __libc_internal_tsd_{set,get}
interface for thread-specific data.
1997-10-25 06:51 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-addr.c: Use braces for correct logical grouping.
Patch by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-18 09:15 Geoff Keating <geoffk@ozemail.com.au>
* io/ftwtest-sh: Sometimes /tmp is a symlink to somewhere more
convenient; that caused this test to break.
* sysdeps/powerpc/dl-machine.h: Fix typo.
* sysdeps/powerpc/bits/fenv.h: Don't use floating-point registers
when -msoft-float is in effect, because this causes compilation to
stop.
* sysdeps/powerpc/bits/mathinlines.h: Likewise.
* rpm/template: Add description, use RPM flags rather than the ones
used to build the spec. Build in a temporary directory, not /.
* elf/dl-lookup.c: Don't include _itoa.h, it's not used.
* elf/dl-minimal.c: Use _itoa_word rather than _itoa. It seems that
_itoa is the only routine that ld.so uses that requires something
from libgcc.a on powerpc, so it would be best to avoid it in ld.so.
* elf/rtld.c: Likewise.
* sysdeps/generic/_strerror.c: Likewise.
* stdio-common/_itoa.c: Split out digits strings.
* stdio-common/itoa-digits.c: New file.
* stdio-common/Makefile: Add itoa-digits.
1997-10-21 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/filesys.texi (Scanning Directory Content): Document error
case more.
* dirent/scandir.c (scandir): Ignore errors from select function.
Suggested by urbanw@cs.umu.se (closes PR libc/316).
1997-10-25 06:18 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Corrections.
Patch by Erik Troan <ewt@redhat.com>.
1997-10-25 04:00 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Favour exact
matching of version function if both the general (1) and
glibc-specific (3) entry are present.
1997-10-22 18:47 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* sunrpc/rpc/clnt.h: Add get_myaddress prototype.
* nis/libnsl.map: Fix typo.
* nis/nis_call.c: Fix memory leak.
1997-10-22 19:29 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/memcmp.c: Define __P if not defined before.
Patch by Jim Meyering <meyering@eng.ascend.com>.
1997-10-21 22:09 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sys/prctl.h: New file by Richard Gooch
<rgooch@atnf.csiro.au>.
1997-10-21 21:50 Ulrich Drepper <drepper@cygnus.com>
* misc/syslog.c (vsyslog): Open console with O_NOCTTY.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1997-10-21 18:07 Ulrich Drepper <drepper@cygnus.com>
* posix/wordexp.c: Improve handling of $... expressions.
Patch by Tim Waugh <tim@cyberelk.demon.co.uk>.
1997-10-21 16:12 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Correct return values of bcopy and bzero.
Patch by Matthew Wilcox <willy@odie.barnet.ac.uk>.
1997-10-18 15:03 Philip Blundell <Philip.Blundell@pobox.com>
* sysdeps/unix/sysv/linux/bits/socket.h: Correct types of some
elements in struct msghdr and struct cmsghdr, to keep in step with
the kernel.
1997-10-17 22:29 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/init-first.h: Fix another
bug in startup code.
Patch by Eric Delaunay <delaunay@lix.polytechnique.fr>.
1997-10-16 20:17 Richard Henderson <rth@cygnus.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Dump args to the
stack and give the kernel a pointer. Use the sysdep.h macros.
1997-10-17 04:07 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/sparc/sparc32/elf/start.S: Calculate argv correctly.
Patch by Eric Delaunay <delaunay@lix.polytechnique.fr>.
1997-10-16 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/libm-ieee754/s_nextafterxf.c [!__STDC__]: Correct typo.
1997-10-16 14:50 Ulrich Drepper <drepper@cygnus.com>
* manual/pattern.texi: Document globfree.
1997-10-15 21:11 Philip Blundell <Philip.Blundell@pobox.com>
* sysdeps/unix/sysv/linux/net/if_packet.h: New file.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
net/if_packet.h.
* sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_ASH): New type, for
64Mbps ASH.
(ARPHRD_ETHER): This is used for 100Mbps networks too.
1997-10-15 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Makerules (install): Use full pathnames for linker script.
This is to work around a limitation in `ld' while no better solution
is possible.
1997-10-15 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* malloc/malloc.c (mmap_chunk): Put inline before static in
function definition to avoid compiler warning.
(malloc_extend): Likewise.
* sysdeps/generic/des_impl.c: Include "des.h" to avoid warning.
1997-10-15 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* NEWS: Fix @gnu.ai.mit.edu -> @gnu.org.
* README.template: Likewise.
* db/makedb.c: Likewise.
* elf/ldd.bash.in: Likewise.
* elf/ldd.sh.in: Likewise.
* intl/locale.alias: Likewise.
* login/programs/utmpd.c: Likewise.
* libio/stdfiles.c [!_IO_MTSAFE] (DEF_STDFILE): Fix parameter list.
1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Rules: Remove all empty.* files.
(shared-only-routines): Correct implementation.
1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_lrintl.c: Make compilable.
* sysdeps/libm-ieee754/s_llrintl.c: Likewise. Optimized.
1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/ldd.bash.in: Only prepend ./ if the file contains no slash
at all.
* elf/ldd.sh.in: Likewise.
1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/sys/ucontext.h: New file.
1997-10-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/s_scalbln.c: New (empty) file.
* sysdeps/m68k/fpu/s_scalblnf.c: New (empty) file.
* sysdeps/m68k/fpu/s_scalblnl.c: New (empty) file.
* sysdeps/m68k/fpu/s_scalbn.c: Add scalbln alias.
* sysdeps/m68k/fpu/s_scalbnf.c: Adapted.
* sysdeps/m68k/fpu/s_scalbnl.c: Adapted.
* sysdeps/m68k/fpu/s_lrint.c: Add standard skeleton stuff.
* sysdeps/m68k/fpu/s_lrintf.c: New file.
* sysdeps/m68k/fpu/s_lrintl.c: New file.
* sysdeps/m68k/fpu/bits/mathinline.h: Add fma and scalbln. Update
lrint and scalbn.
(__m81_inline) [__cplusplus]: Define to __inline.
* math/bits/mathcalls.h: Remove whitespace before second argument
of __MATHDECL. Add note explaining this.
1997-10-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manual/arith.texi (Absolute Value): Spelling fix.
1997-10-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* malloc/obstack.h (obstack_empty_p) [!__GNUC__]: Properly
parenthesize the macro parameter.
* Rules: Remove rules to magically install <subdir>.h headers.
1997-10-27 04:13:00 +08:00
|
|
|
@deftypefun void bcopy (const void *@var{from}, void *@var{to}, size_t @var{size})
|
1995-02-18 09:27:10 +08:00
|
|
|
This is a partially obsolete alternative for @code{memmove}, derived from
|
|
|
|
BSD. Note that it is not quite equivalent to @code{memmove}, because the
|
Update.
1997-10-26 18:12 Ulrich Drepper <drepper@cygnus.com>
* libio/genops.c: Partial undo of last patch.
* libio/stdfiles.c: Likewise.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_file_plus.
* libio/iopopen.c: Likewise.
* libio/iovdprintf.c: Likewise.
* libio/libio.h: Remove duplicated `;'.
* libio/stdio.c: Remove misleading comment.
* libio/stdio.h: Declare standard streams as variables.
* login/Makefile (distribute): Add README.utmpd.
* login/README.utmpd: New file.
Provided by Mark M. Kettenis <kettenis@phys.uva.nl>.
* manual/job.texi: Document tcgetsid.
* manual/pattern.texi: Document globfree.
* manual/terminal.texi: Document B38400 ... B460800.
* posix/confstr.c: Print "-D_FILE_OFFSET_SIZE=64" for _CS_LFS_CFLAGS.
* posix/unistd.h: Add explanation of _POSIX_* constants.
* posix/unists.h: Add prototypes for __pread, __pread64, __pwrite
and __pwrite64.
* sysdeps/generic/pread.c: Define as __pread and make pread weak alias.
* sysdeps/generic/pread64.c: Likewise.
* sysdeps/generic/pwrite.c: Likewise.
* sysdeps/generic/pwrite64.c: Likewise.
* sysdeps/posix/pread.c: Likewise.
* sysdeps/posix/pwrite.c: Likewise.
* sysdeps/posix/pread64.c: New file.
* sysdeps/posix/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)=posix] (sysdep_routines):
Add s_pread64 and s_pwrite64.
* sysdeps/unix/sysv/linux/pread.c: New file.
* sysdeps/unix/sysv/linux/pread64.c: New file.
* sysdeps/unix/sysv/linux/pwrite.c: New file.
* sysdeps/unix/sysv/linux/pwrite64.c: New file.
* sysdeps/unix/sysv/linux/s_pread64.c: New file.
* sysdeps/unix/sysv/linux/s_pwrite64.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add pread and pwrite.
* sysdeps/unix/sysv/linux/alpha/pread64.c: New (empty) file.
* sysdeps/unix/sysv/linux/alpha/pwrite64.c: New (empty) file.
* sysdeps/unix/sysv/linux/sparc/sparc64/pread64.c: New (empty) file.
* sysdeps/unix/sysv/linux/sparc/sparc64/pwrite64.c: New (empty) file.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add pread and pwrite
with weak aliases for *64 functions.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* string/bits/string2.h: Add casts to allow void * arguments.
* sysdeps/i386/i486/bits/string.h: Define index and rindex only if
__USE_BSD or __USE_XOPEN_EXTENDED.
* sysdeps/unix/sysv/linux/bits/socket.h: Add SCM_RIGHTS and other
SCM_* constants from kernel header.
* termios/termios.h: Add prototype for tcgetsid.
1997-10-26 13:26 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* sunrpc/clnt_perr.c: Add trailing '\0' to strings.
* sunrpc/get_myaddr.c: Include rpc/clnt.h for prototypes.
* sunrpc/pmap_clnt.c: Use get_myaddress from header file.
1997-10-26 05:26 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Punt if any directory mentioned in the
enable-add-on parameter does not exist.
1997-10-25 19:25 Ulrich Drepper <drepper@cygnus.com>
* termios/Makefile (routines): Add tcgetsid.
* termios/tcgetsid.c: New file.
Provided by Mark M. Kettenis <kettenis@phys.uva.nl>.
1997-10-25 18:56 Ulrich Drepper <drepper@cygnus.com>
* stdlib/stdlib.h: Remove mblen optimization.
* stdlib/mblen.c: Rewrite to make sure global state is not changed.
Reported by anderson@metrolink.com.
1997-10-19 21:51 Wolfram Gloger <wg@wolfram.dent.med.uni-muenchen.de>
* malloc/thread-m.h [_LIBC]: Use new __libc_internal_tsd_{set,get}
interface for thread-specific data.
1997-10-25 06:51 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-addr.c: Use braces for correct logical grouping.
Patch by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-18 09:15 Geoff Keating <geoffk@ozemail.com.au>
* io/ftwtest-sh: Sometimes /tmp is a symlink to somewhere more
convenient; that caused this test to break.
* sysdeps/powerpc/dl-machine.h: Fix typo.
* sysdeps/powerpc/bits/fenv.h: Don't use floating-point registers
when -msoft-float is in effect, because this causes compilation to
stop.
* sysdeps/powerpc/bits/mathinlines.h: Likewise.
* rpm/template: Add description, use RPM flags rather than the ones
used to build the spec. Build in a temporary directory, not /.
* elf/dl-lookup.c: Don't include _itoa.h, it's not used.
* elf/dl-minimal.c: Use _itoa_word rather than _itoa. It seems that
_itoa is the only routine that ld.so uses that requires something
from libgcc.a on powerpc, so it would be best to avoid it in ld.so.
* elf/rtld.c: Likewise.
* sysdeps/generic/_strerror.c: Likewise.
* stdio-common/_itoa.c: Split out digits strings.
* stdio-common/itoa-digits.c: New file.
* stdio-common/Makefile: Add itoa-digits.
1997-10-21 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/filesys.texi (Scanning Directory Content): Document error
case more.
* dirent/scandir.c (scandir): Ignore errors from select function.
Suggested by urbanw@cs.umu.se (closes PR libc/316).
1997-10-25 06:18 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Corrections.
Patch by Erik Troan <ewt@redhat.com>.
1997-10-25 04:00 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Favour exact
matching of version function if both the general (1) and
glibc-specific (3) entry are present.
1997-10-22 18:47 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* sunrpc/rpc/clnt.h: Add get_myaddress prototype.
* nis/libnsl.map: Fix typo.
* nis/nis_call.c: Fix memory leak.
1997-10-22 19:29 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/memcmp.c: Define __P if not defined before.
Patch by Jim Meyering <meyering@eng.ascend.com>.
1997-10-21 22:09 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sys/prctl.h: New file by Richard Gooch
<rgooch@atnf.csiro.au>.
1997-10-21 21:50 Ulrich Drepper <drepper@cygnus.com>
* misc/syslog.c (vsyslog): Open console with O_NOCTTY.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1997-10-21 18:07 Ulrich Drepper <drepper@cygnus.com>
* posix/wordexp.c: Improve handling of $... expressions.
Patch by Tim Waugh <tim@cyberelk.demon.co.uk>.
1997-10-21 16:12 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Correct return values of bcopy and bzero.
Patch by Matthew Wilcox <willy@odie.barnet.ac.uk>.
1997-10-18 15:03 Philip Blundell <Philip.Blundell@pobox.com>
* sysdeps/unix/sysv/linux/bits/socket.h: Correct types of some
elements in struct msghdr and struct cmsghdr, to keep in step with
the kernel.
1997-10-17 22:29 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/init-first.h: Fix another
bug in startup code.
Patch by Eric Delaunay <delaunay@lix.polytechnique.fr>.
1997-10-16 20:17 Richard Henderson <rth@cygnus.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Dump args to the
stack and give the kernel a pointer. Use the sysdep.h macros.
1997-10-17 04:07 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/sparc/sparc32/elf/start.S: Calculate argv correctly.
Patch by Eric Delaunay <delaunay@lix.polytechnique.fr>.
1997-10-16 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/libm-ieee754/s_nextafterxf.c [!__STDC__]: Correct typo.
1997-10-16 14:50 Ulrich Drepper <drepper@cygnus.com>
* manual/pattern.texi: Document globfree.
1997-10-15 21:11 Philip Blundell <Philip.Blundell@pobox.com>
* sysdeps/unix/sysv/linux/net/if_packet.h: New file.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
net/if_packet.h.
* sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_ASH): New type, for
64Mbps ASH.
(ARPHRD_ETHER): This is used for 100Mbps networks too.
1997-10-15 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Makerules (install): Use full pathnames for linker script.
This is to work around a limitation in `ld' while no better solution
is possible.
1997-10-15 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* malloc/malloc.c (mmap_chunk): Put inline before static in
function definition to avoid compiler warning.
(malloc_extend): Likewise.
* sysdeps/generic/des_impl.c: Include "des.h" to avoid warning.
1997-10-15 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* NEWS: Fix @gnu.ai.mit.edu -> @gnu.org.
* README.template: Likewise.
* db/makedb.c: Likewise.
* elf/ldd.bash.in: Likewise.
* elf/ldd.sh.in: Likewise.
* intl/locale.alias: Likewise.
* login/programs/utmpd.c: Likewise.
* libio/stdfiles.c [!_IO_MTSAFE] (DEF_STDFILE): Fix parameter list.
1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Rules: Remove all empty.* files.
(shared-only-routines): Correct implementation.
1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_lrintl.c: Make compilable.
* sysdeps/libm-ieee754/s_llrintl.c: Likewise. Optimized.
1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/ldd.bash.in: Only prepend ./ if the file contains no slash
at all.
* elf/ldd.sh.in: Likewise.
1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/sys/ucontext.h: New file.
1997-10-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/s_scalbln.c: New (empty) file.
* sysdeps/m68k/fpu/s_scalblnf.c: New (empty) file.
* sysdeps/m68k/fpu/s_scalblnl.c: New (empty) file.
* sysdeps/m68k/fpu/s_scalbn.c: Add scalbln alias.
* sysdeps/m68k/fpu/s_scalbnf.c: Adapted.
* sysdeps/m68k/fpu/s_scalbnl.c: Adapted.
* sysdeps/m68k/fpu/s_lrint.c: Add standard skeleton stuff.
* sysdeps/m68k/fpu/s_lrintf.c: New file.
* sysdeps/m68k/fpu/s_lrintl.c: New file.
* sysdeps/m68k/fpu/bits/mathinline.h: Add fma and scalbln. Update
lrint and scalbn.
(__m81_inline) [__cplusplus]: Define to __inline.
* math/bits/mathcalls.h: Remove whitespace before second argument
of __MATHDECL. Add note explaining this.
1997-10-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manual/arith.texi (Absolute Value): Spelling fix.
1997-10-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* malloc/obstack.h (obstack_empty_p) [!__GNUC__]: Properly
parenthesize the macro parameter.
* Rules: Remove rules to magically install <subdir>.h headers.
1997-10-27 04:13:00 +08:00
|
|
|
arguments are not in the same order and there is no return value.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment string.h
|
|
|
|
@comment BSD
|
Update.
1997-10-26 18:12 Ulrich Drepper <drepper@cygnus.com>
* libio/genops.c: Partial undo of last patch.
* libio/stdfiles.c: Likewise.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_file_plus.
* libio/iopopen.c: Likewise.
* libio/iovdprintf.c: Likewise.
* libio/libio.h: Remove duplicated `;'.
* libio/stdio.c: Remove misleading comment.
* libio/stdio.h: Declare standard streams as variables.
* login/Makefile (distribute): Add README.utmpd.
* login/README.utmpd: New file.
Provided by Mark M. Kettenis <kettenis@phys.uva.nl>.
* manual/job.texi: Document tcgetsid.
* manual/pattern.texi: Document globfree.
* manual/terminal.texi: Document B38400 ... B460800.
* posix/confstr.c: Print "-D_FILE_OFFSET_SIZE=64" for _CS_LFS_CFLAGS.
* posix/unistd.h: Add explanation of _POSIX_* constants.
* posix/unists.h: Add prototypes for __pread, __pread64, __pwrite
and __pwrite64.
* sysdeps/generic/pread.c: Define as __pread and make pread weak alias.
* sysdeps/generic/pread64.c: Likewise.
* sysdeps/generic/pwrite.c: Likewise.
* sysdeps/generic/pwrite64.c: Likewise.
* sysdeps/posix/pread.c: Likewise.
* sysdeps/posix/pwrite.c: Likewise.
* sysdeps/posix/pread64.c: New file.
* sysdeps/posix/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)=posix] (sysdep_routines):
Add s_pread64 and s_pwrite64.
* sysdeps/unix/sysv/linux/pread.c: New file.
* sysdeps/unix/sysv/linux/pread64.c: New file.
* sysdeps/unix/sysv/linux/pwrite.c: New file.
* sysdeps/unix/sysv/linux/pwrite64.c: New file.
* sysdeps/unix/sysv/linux/s_pread64.c: New file.
* sysdeps/unix/sysv/linux/s_pwrite64.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add pread and pwrite.
* sysdeps/unix/sysv/linux/alpha/pread64.c: New (empty) file.
* sysdeps/unix/sysv/linux/alpha/pwrite64.c: New (empty) file.
* sysdeps/unix/sysv/linux/sparc/sparc64/pread64.c: New (empty) file.
* sysdeps/unix/sysv/linux/sparc/sparc64/pwrite64.c: New (empty) file.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add pread and pwrite
with weak aliases for *64 functions.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* string/bits/string2.h: Add casts to allow void * arguments.
* sysdeps/i386/i486/bits/string.h: Define index and rindex only if
__USE_BSD or __USE_XOPEN_EXTENDED.
* sysdeps/unix/sysv/linux/bits/socket.h: Add SCM_RIGHTS and other
SCM_* constants from kernel header.
* termios/termios.h: Add prototype for tcgetsid.
1997-10-26 13:26 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* sunrpc/clnt_perr.c: Add trailing '\0' to strings.
* sunrpc/get_myaddr.c: Include rpc/clnt.h for prototypes.
* sunrpc/pmap_clnt.c: Use get_myaddress from header file.
1997-10-26 05:26 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Punt if any directory mentioned in the
enable-add-on parameter does not exist.
1997-10-25 19:25 Ulrich Drepper <drepper@cygnus.com>
* termios/Makefile (routines): Add tcgetsid.
* termios/tcgetsid.c: New file.
Provided by Mark M. Kettenis <kettenis@phys.uva.nl>.
1997-10-25 18:56 Ulrich Drepper <drepper@cygnus.com>
* stdlib/stdlib.h: Remove mblen optimization.
* stdlib/mblen.c: Rewrite to make sure global state is not changed.
Reported by anderson@metrolink.com.
1997-10-19 21:51 Wolfram Gloger <wg@wolfram.dent.med.uni-muenchen.de>
* malloc/thread-m.h [_LIBC]: Use new __libc_internal_tsd_{set,get}
interface for thread-specific data.
1997-10-25 06:51 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-addr.c: Use braces for correct logical grouping.
Patch by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-18 09:15 Geoff Keating <geoffk@ozemail.com.au>
* io/ftwtest-sh: Sometimes /tmp is a symlink to somewhere more
convenient; that caused this test to break.
* sysdeps/powerpc/dl-machine.h: Fix typo.
* sysdeps/powerpc/bits/fenv.h: Don't use floating-point registers
when -msoft-float is in effect, because this causes compilation to
stop.
* sysdeps/powerpc/bits/mathinlines.h: Likewise.
* rpm/template: Add description, use RPM flags rather than the ones
used to build the spec. Build in a temporary directory, not /.
* elf/dl-lookup.c: Don't include _itoa.h, it's not used.
* elf/dl-minimal.c: Use _itoa_word rather than _itoa. It seems that
_itoa is the only routine that ld.so uses that requires something
from libgcc.a on powerpc, so it would be best to avoid it in ld.so.
* elf/rtld.c: Likewise.
* sysdeps/generic/_strerror.c: Likewise.
* stdio-common/_itoa.c: Split out digits strings.
* stdio-common/itoa-digits.c: New file.
* stdio-common/Makefile: Add itoa-digits.
1997-10-21 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/filesys.texi (Scanning Directory Content): Document error
case more.
* dirent/scandir.c (scandir): Ignore errors from select function.
Suggested by urbanw@cs.umu.se (closes PR libc/316).
1997-10-25 06:18 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Corrections.
Patch by Erik Troan <ewt@redhat.com>.
1997-10-25 04:00 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Favour exact
matching of version function if both the general (1) and
glibc-specific (3) entry are present.
1997-10-22 18:47 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* sunrpc/rpc/clnt.h: Add get_myaddress prototype.
* nis/libnsl.map: Fix typo.
* nis/nis_call.c: Fix memory leak.
1997-10-22 19:29 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/memcmp.c: Define __P if not defined before.
Patch by Jim Meyering <meyering@eng.ascend.com>.
1997-10-21 22:09 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sys/prctl.h: New file by Richard Gooch
<rgooch@atnf.csiro.au>.
1997-10-21 21:50 Ulrich Drepper <drepper@cygnus.com>
* misc/syslog.c (vsyslog): Open console with O_NOCTTY.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1997-10-21 18:07 Ulrich Drepper <drepper@cygnus.com>
* posix/wordexp.c: Improve handling of $... expressions.
Patch by Tim Waugh <tim@cyberelk.demon.co.uk>.
1997-10-21 16:12 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Correct return values of bcopy and bzero.
Patch by Matthew Wilcox <willy@odie.barnet.ac.uk>.
1997-10-18 15:03 Philip Blundell <Philip.Blundell@pobox.com>
* sysdeps/unix/sysv/linux/bits/socket.h: Correct types of some
elements in struct msghdr and struct cmsghdr, to keep in step with
the kernel.
1997-10-17 22:29 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/init-first.h: Fix another
bug in startup code.
Patch by Eric Delaunay <delaunay@lix.polytechnique.fr>.
1997-10-16 20:17 Richard Henderson <rth@cygnus.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Dump args to the
stack and give the kernel a pointer. Use the sysdep.h macros.
1997-10-17 04:07 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/sparc/sparc32/elf/start.S: Calculate argv correctly.
Patch by Eric Delaunay <delaunay@lix.polytechnique.fr>.
1997-10-16 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/libm-ieee754/s_nextafterxf.c [!__STDC__]: Correct typo.
1997-10-16 14:50 Ulrich Drepper <drepper@cygnus.com>
* manual/pattern.texi: Document globfree.
1997-10-15 21:11 Philip Blundell <Philip.Blundell@pobox.com>
* sysdeps/unix/sysv/linux/net/if_packet.h: New file.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
net/if_packet.h.
* sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_ASH): New type, for
64Mbps ASH.
(ARPHRD_ETHER): This is used for 100Mbps networks too.
1997-10-15 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Makerules (install): Use full pathnames for linker script.
This is to work around a limitation in `ld' while no better solution
is possible.
1997-10-15 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* malloc/malloc.c (mmap_chunk): Put inline before static in
function definition to avoid compiler warning.
(malloc_extend): Likewise.
* sysdeps/generic/des_impl.c: Include "des.h" to avoid warning.
1997-10-15 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* NEWS: Fix @gnu.ai.mit.edu -> @gnu.org.
* README.template: Likewise.
* db/makedb.c: Likewise.
* elf/ldd.bash.in: Likewise.
* elf/ldd.sh.in: Likewise.
* intl/locale.alias: Likewise.
* login/programs/utmpd.c: Likewise.
* libio/stdfiles.c [!_IO_MTSAFE] (DEF_STDFILE): Fix parameter list.
1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Rules: Remove all empty.* files.
(shared-only-routines): Correct implementation.
1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_lrintl.c: Make compilable.
* sysdeps/libm-ieee754/s_llrintl.c: Likewise. Optimized.
1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/ldd.bash.in: Only prepend ./ if the file contains no slash
at all.
* elf/ldd.sh.in: Likewise.
1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/sys/ucontext.h: New file.
1997-10-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/s_scalbln.c: New (empty) file.
* sysdeps/m68k/fpu/s_scalblnf.c: New (empty) file.
* sysdeps/m68k/fpu/s_scalblnl.c: New (empty) file.
* sysdeps/m68k/fpu/s_scalbn.c: Add scalbln alias.
* sysdeps/m68k/fpu/s_scalbnf.c: Adapted.
* sysdeps/m68k/fpu/s_scalbnl.c: Adapted.
* sysdeps/m68k/fpu/s_lrint.c: Add standard skeleton stuff.
* sysdeps/m68k/fpu/s_lrintf.c: New file.
* sysdeps/m68k/fpu/s_lrintl.c: New file.
* sysdeps/m68k/fpu/bits/mathinline.h: Add fma and scalbln. Update
lrint and scalbn.
(__m81_inline) [__cplusplus]: Define to __inline.
* math/bits/mathcalls.h: Remove whitespace before second argument
of __MATHDECL. Add note explaining this.
1997-10-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manual/arith.texi (Absolute Value): Spelling fix.
1997-10-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* malloc/obstack.h (obstack_empty_p) [!__GNUC__]: Properly
parenthesize the macro parameter.
* Rules: Remove rules to magically install <subdir>.h headers.
1997-10-27 04:13:00 +08:00
|
|
|
@deftypefun void bzero (void *@var{block}, size_t @var{size})
|
1995-02-18 09:27:10 +08:00
|
|
|
This is a partially obsolete alternative for @code{memset}, derived from
|
|
|
|
BSD. Note that it is not as general as @code{memset}, because the only
|
|
|
|
value it can store is zero.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
@node String/Array Comparison
|
1995-02-18 09:27:10 +08:00
|
|
|
@section String/Array Comparison
|
|
|
|
@cindex comparing strings and arrays
|
|
|
|
@cindex string comparison functions
|
|
|
|
@cindex array comparison functions
|
|
|
|
@cindex predicates on strings
|
|
|
|
@cindex predicates on arrays
|
|
|
|
|
|
|
|
You can use the functions in this section to perform comparisons on the
|
|
|
|
contents of strings and arrays. As well as checking for equality, these
|
|
|
|
functions can also be used as the ordering functions for sorting
|
|
|
|
operations. @xref{Searching and Sorting}, for an example of this.
|
|
|
|
|
|
|
|
Unlike most comparison operations in C, the string comparison functions
|
|
|
|
return a nonzero value if the strings are @emph{not} equivalent rather
|
|
|
|
than if they are. The sign of the value indicates the relative ordering
|
|
|
|
of the first characters in the strings that are not equivalent: a
|
|
|
|
negative value indicates that the first string is ``less'' than the
|
1996-08-09 10:46:09 +08:00
|
|
|
second, while a positive value indicates that the first string is
|
1995-02-18 09:27:10 +08:00
|
|
|
``greater''.
|
|
|
|
|
|
|
|
The most common use of these functions is to check only for equality.
|
|
|
|
This is canonically done with an expression like @w{@samp{! strcmp (s1, s2)}}.
|
|
|
|
|
|
|
|
All of these functions are declared in the header file @file{string.h}.
|
|
|
|
@pindex string.h
|
|
|
|
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun int memcmp (const void *@var{a1}, const void *@var{a2}, size_t @var{size})
|
|
|
|
The function @code{memcmp} compares the @var{size} bytes of memory
|
|
|
|
beginning at @var{a1} against the @var{size} bytes of memory beginning
|
|
|
|
at @var{a2}. The value returned has the same sign as the difference
|
|
|
|
between the first differing pair of bytes (interpreted as @code{unsigned
|
|
|
|
char} objects, then promoted to @code{int}).
|
|
|
|
|
|
|
|
If the contents of the two blocks are equal, @code{memcmp} returns
|
|
|
|
@code{0}.
|
|
|
|
@end deftypefun
|
|
|
|
|
2013-02-12 06:12:47 +08:00
|
|
|
@comment wchar.h
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment ISO
|
|
|
|
@deftypefun int wmemcmp (const wchar_t *@var{a1}, const wchar_t *@var{a2}, size_t @var{size})
|
|
|
|
The function @code{wmemcmp} compares the @var{size} wide characters
|
|
|
|
beginning at @var{a1} against the @var{size} wide characters beginning
|
|
|
|
at @var{a2}. The value returned is smaller than or larger than zero
|
|
|
|
depending on whether the first differing wide character is @var{a1} is
|
|
|
|
smaller or larger than the corresponding character in @var{a2}.
|
|
|
|
|
|
|
|
If the contents of the two blocks are equal, @code{wmemcmp} returns
|
|
|
|
@code{0}.
|
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
On arbitrary arrays, the @code{memcmp} function is mostly useful for
|
|
|
|
testing equality. It usually isn't meaningful to do byte-wise ordering
|
|
|
|
comparisons on arrays of things other than bytes. For example, a
|
|
|
|
byte-wise comparison on the bytes that make up floating-point numbers
|
|
|
|
isn't likely to tell you anything about the relationship between the
|
|
|
|
values of the floating-point numbers.
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@code{wmemcmp} is really only useful to compare arrays of type
|
|
|
|
@code{wchar_t} since the function looks at @code{sizeof (wchar_t)} bytes
|
|
|
|
at a time and this number of bytes is system dependent.
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
You should also be careful about using @code{memcmp} to compare objects
|
|
|
|
that can contain ``holes'', such as the padding inserted into structure
|
|
|
|
objects to enforce alignment requirements, extra space at the end of
|
|
|
|
unions, and extra characters at the ends of strings whose length is less
|
|
|
|
than their allocated size. The contents of these ``holes'' are
|
|
|
|
indeterminate and may cause strange behavior when performing byte-wise
|
|
|
|
comparisons. For more predictable results, perform an explicit
|
|
|
|
component-wise comparison.
|
|
|
|
|
|
|
|
For example, given a structure type definition like:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
struct foo
|
|
|
|
@{
|
|
|
|
unsigned char tag;
|
|
|
|
union
|
|
|
|
@{
|
|
|
|
double f;
|
|
|
|
long i;
|
|
|
|
char *p;
|
|
|
|
@} value;
|
|
|
|
@};
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
you are better off writing a specialized comparison function to compare
|
|
|
|
@code{struct foo} objects instead of comparing them with @code{memcmp}.
|
|
|
|
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun int strcmp (const char *@var{s1}, const char *@var{s2})
|
|
|
|
The @code{strcmp} function compares the string @var{s1} against
|
|
|
|
@var{s2}, returning a value that has the same sign as the difference
|
|
|
|
between the first differing pair of characters (interpreted as
|
|
|
|
@code{unsigned char} objects, then promoted to @code{int}).
|
|
|
|
|
|
|
|
If the two strings are equal, @code{strcmp} returns @code{0}.
|
|
|
|
|
|
|
|
A consequence of the ordering used by @code{strcmp} is that if @var{s1}
|
|
|
|
is an initial substring of @var{s2}, then @var{s1} is considered to be
|
|
|
|
``less than'' @var{s2}.
|
2001-02-11 09:50:24 +08:00
|
|
|
|
|
|
|
@code{strcmp} does not take sorting conventions of the language the
|
|
|
|
strings are written in into account. To get that one has to use
|
|
|
|
@code{strcoll}.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun int wcscmp (const wchar_t *@var{ws1}, const wchar_t *@var{ws2})
|
|
|
|
|
|
|
|
The @code{wcscmp} function compares the wide character string @var{ws1}
|
|
|
|
against @var{ws2}. The value returned is smaller than or larger than zero
|
|
|
|
depending on whether the first differing wide character is @var{ws1} is
|
|
|
|
smaller or larger than the corresponding character in @var{ws2}.
|
|
|
|
|
|
|
|
If the two strings are equal, @code{wcscmp} returns @code{0}.
|
|
|
|
|
|
|
|
A consequence of the ordering used by @code{wcscmp} is that if @var{ws1}
|
|
|
|
is an initial substring of @var{ws2}, then @var{ws1} is considered to be
|
|
|
|
``less than'' @var{ws2}.
|
|
|
|
|
|
|
|
@code{wcscmp} does not take sorting conventions of the language the
|
|
|
|
strings are written in into account. To get that one has to use
|
|
|
|
@code{wcscoll}.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment string.h
|
|
|
|
@comment BSD
|
|
|
|
@deftypefun int strcasecmp (const char *@var{s1}, const char *@var{s2})
|
1997-09-17 05:51:15 +08:00
|
|
|
This function is like @code{strcmp}, except that differences in case are
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
ignored. How uppercase and lowercase characters are related is
|
1997-09-17 05:51:15 +08:00
|
|
|
determined by the currently selected locale. In the standard @code{"C"}
|
|
|
|
locale the characters @"A and @"a do not match but in a locale which
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
regards these characters as parts of the alphabet they do match.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
1998-09-01 18:41:59 +08:00
|
|
|
@noindent
|
1995-02-18 09:27:10 +08:00
|
|
|
@code{strcasecmp} is derived from BSD.
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment GNU
|
2013-02-12 06:12:47 +08:00
|
|
|
@deftypefun int wcscasecmp (const wchar_t *@var{ws1}, const wchar_t *@var{ws2})
|
2001-02-11 09:50:24 +08:00
|
|
|
This function is like @code{wcscmp}, except that differences in case are
|
|
|
|
ignored. How uppercase and lowercase characters are related is
|
|
|
|
determined by the currently selected locale. In the standard @code{"C"}
|
|
|
|
locale the characters @"A and @"a do not match but in a locale which
|
|
|
|
regards these characters as parts of the alphabet they do match.
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
@code{wcscasecmp} is a GNU extension.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment string.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun int strncmp (const char *@var{s1}, const char *@var{s2}, size_t @var{size})
|
|
|
|
This function is the similar to @code{strcmp}, except that no more than
|
[BZ #2510, BZ #2830, BZ #3137, BZ #3313, BZ #3426, BZ #3465, BZ #3480, BZ #3483, BZ #3493, BZ #3514, BZ #3515, BZ #3664, BZ #3673, BZ #3674]
2007-01-11 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/soft-fp/sfp-machine.h: Remove.
* sysdeps/x86_64/soft-fp/sfp-machine.h: Likewise.
2007-01-10 Ulrich Drepper <drepper@redhat.com>
* io/fts.c: Make sure fts_cur is always valid after return from
fts_read.
Patch by Miloslav Trmac <mitr@redhat.com>.
2006-10-27 Richard Sandiford <richard@codesourcery.com>
* elf/elf.h (R_MIPS_GLOB_DAT): Define.
(R_MIPS_NUM): Bump by 1.
2007-01-03 Jakub Jelinek <jakub@redhat.com>
* posix/execvp.c: Include alloca.h.
(allocate_scripts_argv): Renamed to...
(scripts_argv): ... this. Don't allocate buffer here nor count
arguments.
(execvp): Use alloca if possible.
* posix/Makefile: Add rules to build and run tst-vfork3 test.
* posix/tst-vfork3.c: New test.
* stdlib/Makefile (tst-strtod3-ENV): Define.
2007-01-02 Ulrich Drepper <drepper@redhat.com>
* posix/getconf.c: Update copyright year.
* nss/getent.c: Likewise.
* iconv/iconvconfig.c: Likewise.
* iconv/iconv_prog.c: Likewise.
* elf/ldconfig.c: Likewise.
* catgets/gencat.c: Likewise.
* csu/version.c: Likewise.
* elf/ldd.bash.in: Likewise.
* elf/sprof.c (print_version): Likewise.
* locale/programs/locale.c: Likewise.
* locale/programs/localedef.c: Likewise.
* nscd/nscd.c (print_version): Likewise.
* debug/xtrace.sh: Likewise.
* malloc/memusage.sh: Likewise.
* malloc/mtrace.pl: Likewise.
* debug/catchsegv.sh: Likewise.
2006-12-24 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c (sYSMALLOc): Remove some unnecessary alignment
attempts.
2006-12-23 Ulrich Drepper <drepper@redhat.com>
* posix/wordexp.c: Remove some unnecessary tests.
2006-12-20 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
* sysdeps/unix/sysv/linux/sh/bits/shm.h: New file.
* nss/getXXbyYY_r.c: Include atomic.h.
(INTERNAL (REENTRANT_NAME)): Write startp after start_fct,
add atomic_write_barrier () in between.
2006-11-28 Jakub Jelinek <jakub@redhat.com>
* elf/dl-support.c: Include dl-procinfo.h.
* sysdeps/powerpc/dl-procinfo.h (PPC_PLATFORM_POWER4,
PPC_PLATFORM_PPC970, PPC_PLATFORM_POWER5, PPC_PLATFORM_POWER5_PLUS,
PPC_PLATFORM_POWER6, PPC_PLATFORM_CELL_BE, PPC_PLATFORM_POWER6X):
Define.
(_dl_string_platform): Use PPC_PLATFORM_* macros instead of
hardcoded constants.
* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_platform): Use
PPC_PLATFORM_* macros for array designators.
2006-11-11 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add 3 new cap
names to the beginning.
(_dl_powerpc_platforms): Add "power6x".
* sysdeps/powerpc/dl-procinfo.h (_DL_HWCAP_FIRST): Decrease.
(HWCAP_IMPORTANT): Add PPC_FEATURE_HAS_DFP.
(_DL_PLATFORMS_COUNT): Increase.
(_dl_string_platform): Handle power6x case.
* sysdeps/powerpc/sysdep.h (PPC_FEATURE_PA6T, PPC_FEATURE_HAS_DFP,
PPC_FEATURE_POWER6_EXT): Define.
(PPC_FEATURE_POWER5, PPC_FEATURE_POWER5_PLUS): Correct Comment.
[-2^31 .. 2^31) range.
* sysdeps/unix/sysv/linux/bits/statvfs.h: Define ST_RELATIME.
* sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
Handle relatime mount option.
2006-12-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Include
kernel-features.h.
2006-12-11 Ulrich Drepper <drepper@redhat.com>
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Parse thousand
separators also if no non-zero digits found.
* stdlib/Makefile (tests): Add tst-strtod3.
[BZ #3664]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix test to recognize
empty parsed strings.
* stdlib/Makefile (tests): Add tst-strtod2.
* stdlib/tst-strtod2.c: New file.
[BZ #3673]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix exp_limit
computation.
* stdlib/Makefile (tests): Add tst-atof2.
* stdlib/tst-atof2.c: New file.
[BZ #3674]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Adjust exponent value
correctly if removing trailing zero of hex-float.
* stdlib/Makefile (tests): Add tst-atof1.
* stdlib/tst-atof1.c: New file.
* misc/mntent_r.c (__hasmntopt): Check p[optlen] even when p == rest.
Start searching for next comma at p rather than rest.
* misc/Makefile (tests): Add tst-mntent2.
* misc/tst-mntent2.c: New test.
2006-12-08 Ulrich Drepper <drepper@redhat.com>
* malloc/memusage.c: Handle realloc with new size of zero and
non-NULL pointer correctly.
(me): Really write first record twice.
(struct entry): Make format bi-arch safe.
(dest): Write out more realloc statistics.
* malloc/memusagestat.c (struct entry): Make format bi-arch safe.
2006-12-05 Jakub Jelinek <jakub@redhat.com>
* nis/nis_subr.c (nis_getnames): Revert last change.
2006-12-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/sys/io.h: Removed.
2006-11-30 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/i386/i686/memcmp.S: Use jump table as the base of
jump table entries.
2006-11-30 Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/i386/clone.S: Provide CFI for the outermost
`clone' function to ensure proper unwinding stop of gdb.
* sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.
2006-12-01 Ulrich Drepper <drepper@redhat.com>
* nscd/nscd.init: Remove obsolete and commented-out -S option
handling.
2006-11-23 Jakub Jelinek <jakub@redhat.com>
[BZ #3514]
* manual/string.texi (strncmp): Fix pastos from wcscmp description.
[BZ #3515]
* manual/string.texi (strtok): Remove duplicate paragraph.
2006-12-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Fix compatibility with
libgcc not supporting `rflags' unwinding (register # >= 17).
2006-11-30 Jakub Jelinek <jakub@redhat.com>
* sunrpc/svc_run.c (svc_run): Set my_pollfd to new_pollfd if realloc
succeeded.
2006-11-29 Daniel Jacobowitz <dan@codesourcery.com>
Jakub Jelinek <jakub@redhat.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sigaction.c (restore_rt): Add correct
unwind information.
* sysdeps/unix/sysv/linux/x86_64/Makefile: Provide symbols for
'restore_rt' even in the 'signal' directory.
* sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym: Extend the regs list.
malloc crashed. Don't allocate memory unnecessarily in each
loop.
2006-10-21 Jakub Jelinek <jakub@redhat.com>
* resolv/mapv4v6addr.h (map_v4v6_address): Fix last change.
2006-11-20 Ulrich Drepper <drepper@redhat.com>
* resolv/mapv4v6addr.h (map_v4v6_address): Optimize a bit.
2006-11-18 Bruno Haible <bruno@clisp.org>
* sysdeps/unix/sysv/linux/i386/getgroups.c (__getgroups): Invoke
__sysconf only after having tried to call getgroups32.
2006-11-19 Ulrich Drepper <drepper@redhat.com>
* nss/nss_files/files-hosts.c (LINE_PARSER): Support IPv6-style
addresses for IPv4 queries if they can be mapped.
2006-11-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/x86_64/fpu/s_copysignf.S (__copysignf): Switch to .text.
* sysdeps/x86_64/fpu/s_copysign.S (__copysign): Likewise.
(signmask): Add .size directive.
(othermask): Add .type directive.
2006-11-14 Ulrich Drepper <drepper@redhat.com>
* po/nl.po: Update from translation team.
* timezone/zdump.c: Redo fix for BZ #3137.
2006-11-14 Jakub Jelinek <jakub@redhat.com>
* nss/nss_files/files-alias.c (get_next_alias): Set line back
to first_unused after parsing :include: file.
* timezone/africa: Update from tzdata2006o.
* timezone/antarctica: Likewise.
* timezone/asia: Likewise.
* timezone/australasia: Likewise.
* timezone/backward: Likewise.
* timezone/europe: Likewise.
* timezone/iso3166.tab: Likewise.
* timezone/northamerica: Likewise.
* timezone/southamerica: Likewise.
* timezone/zone.tab: Likewise.
* time/tzfile.c (__tzfile_read): Extend to handle new file format
on machines with 64-bit time_t.
* timezone/checktab.awk: Update from tzcode2006o.
* timezone/ialloc.c: Likewise.
* timezone/private.h: Likewise.
* timezone/scheck.c: Likewise.
* timezone/tzfile.h: Likewise.
* timezone/tzselect.ksh: Likewise.
* timezone/zdump.c: Likewise.
* timezone/zic.c: Likewise.
[BZ #3483]
* elf/ldconfig.c (main): Call setlocale and textdomain.
Patch mostly by Benno Schulenberg <bensberg@justemail.net>.
[BZ #3480]
* manual/argp.texi: Fix typos.
* manual/charset.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/maint.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/time.texi: Likewise.
Patch by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
[BZ #3465]
* sunrpc/clnt_raw.c: Minimal message improvements.
* sunrpc/pm_getmaps.c: Likewise.
* nis/nss_nisplus/nisplus-publickey.c: Likewise.
* nis/nis_print_group_entry.c: Likewise.
* locale/programs/repertoire.c: Likewise.
* locale/programs/charmap.c: Likewise.
* malloc/memusage.sh: Likewise.
* elf/dl-deps.c: Likewise.
* locale/programs/ld-collate.c: Likewise.
* libio/vswprintf.c: Likewise.
* malloc/memusagestat.c: Likewise.
* sunrpc/auth_unix.c: Likewise.
* sunrpc/rpc_main.c: Likewise.
* nscd/cache.c: Likewise.
* locale/programs/repertoire.c: Unify output messages.
* locale/programs/charmap.c: Likewise.
* locale/programs/ld-ctype.c: Likewise.
* locale/programs/ld-monetary.c: Likewise.
* locale/programs/ld-numeric.c: Likewise.
* locale/programs/ld-time.c: Likewise.
* elf/ldconfig.c: Likewise.
* nscd/selinux.c: Likewise.
* elf/cache.c: Likewise.
Patch mostly by Benno Schulenberg <bensberg@justemail.net>.
2006-11-10 Jakub Jelinek <jakub@redhat.com>
* string/strxfrm_l.c (STRXFRM): Fix trailing \1 optimization
if N is one bigger than return value.
* string/tst-strxfrm2.c (do_test): Also test strxfrm with l1 + 1
and l1 last arguments, if buf is defined, verify the return value
equals to strlen (buf) and verify no byte beyond passed length
is modified.
2006-11-10 Ulrich Drepper <drepper@redhat.com>
* po/sv.po: Update from translation team.
* sysdeps/gnu/siglist.c (__old_sys_siglist, __old_sys_sigabbrev):
Use __new_sys_siglist instead of _sys_siglist_internal as
second macro argument.
(_old_sys_siglist): Use declare_symbol_alias macro instead of
strong_alias.
2006-11-09 Ulrich Drepper <drepper@redhat.com>
[BZ #3493]
* posix/unistd.h (sysconf): Remove const attribute.
* sysdeps/posix/getaddrinfo.c (getaddrinfo): Fix test for
temporary or deprecated addresses.
Patch by Sridhar Samudrala <sri@us.ibm.com>.
* string/Makefile (tests): Add tst-strxfrm2.
* string/tst-strxfrm2.c: New file.
2006-10-09 Jakub Jelinek <jakub@redhat.com>
* elf/dl-debug.c (_dl_debug_initialize): Check r->r_map for 0
rather than r->r_brk.
* string/strxfrm_l.c (STRXFRM): Do the trailing \1 removal
optimization even if needed > n.
2006-11-07 Jakub Jelinek <jakub@redhat.com>
* include/libc-symbols.h (declare_symbol): Rename to...
(declare_symbol_alias): ... this. Add ORIGINAL argument, imply
strong_alias (ORIGINAL, SYMBOL) in asm to make sure it preceedes
.size directive.
* sysdeps/gnu/errlist-compat.awk: Adjust for declare_symbol_alias
changes.
* sysdeps/gnu/siglist.c: Likewise.
2006-11-03 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/fpu/bits/mathinline.h
[__LIBC_INTERNAL_MATH_INLINES]: Moved to ...
* sysdeps/powerpc/fpu/math_private.h: ...here. New file.
2006-11-05 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word):
Update handling of cache descriptor 0x49 for new models.
* sysdeps/unix/sysv/linux/x86_64/sysconf.c (intel_check_word):
Likewise.
2006-11-02 Ulrich Drepper <drepper@redhat.com>
* configure.in: Work around ld --help change and avoid -z relro
test completely if the architecture doesn't care about security.
2006-11-01 Ulrich Drepper <drepper@redhat.com>
* po/sv.po: Update from translation team.
2006-10-31 Ulrich Drepper <drepper@redhat.com>
* stdlib/atexit.c (atexit): Don't mark as hidden when used to
generate compatibility version.
2006-10-29 Ulrich Drepper <drepper@redhat.com>
* configure.in: Relax -z relro requirement a bit.
* po/sv.po: Update from translation team.
2006-10-29 Jakub Jelinek <jakub@redhat.com>
* elf/dl-sym.c (do_sym): Use RTLD_SINGLE_THREAD_P.
* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Likewise.
* elf/dl-close.c (_dl_close_worker): Likewise.
* elf/dl-open.c (_dl_open_worker): Likewise.
* sysdeps/generic/sysdep-cancel.h (RTLD_SINGLE_THREAD_P): Define.
* configure.in: Require assembler support for visibility, compiler
support for visibility and aliases, linker support for various -z
options.
* Makeconfig: Remove conditional code which now is unnecessary.
* config.h.in: Likewise.
* config.make.in: Likewise.
* dlfcn/Makefile: Likewise.
* elf/Makefile: Likewise.
* elf/dl-load.c: Likewise.
* elf/rtld.c: Likewise.
* include/libc-symbols.h: Likewise.
* include/stdio.h: Likewise.
* io/Makefile: Likewise.
* io/fstat.c: Likewise.
* io/fstat64.c: Likewise.
* io/fstatat.c: Likewise.
* io/fstatat64.c: Likewise.
* io/lstat.c: Likewise.
* io/lstat64.c: Likewise.
* io/mknod.c: Likewise.
* io/mknodat.c: Likewise.
* io/stat.c: Likewise.
* io/stat64.c: Likewise.
* libio/stdio.c: Likewise.
* nscd/Makefile: Likewise.
* stdlib/Makefile: Likewise.
* stdlib/atexit.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/i386/sysdep.h: Likewise.
* sysdeps/i386/i686/memcmp.S: Likewise.
* sysdeps/powerpc/powerpc32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.
* Makerules: USE_TLS support is now default.
* tls.make.c: Likewise.
* csu/Versions: Likewise.
* csu/libc-start.c: Likewise.
* csu/libc-tls.c: Likewise.
* csu/version.c: Likewise.
* dlfcn/dlinfo.c: Likewise.
* elf/dl-addr.c: Likewise.
* elf/dl-cache.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-iteratephdr.c: Likewise.
* elf/dl-load.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-reloc.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/dl-sysdep.c: Likewise.
* elf/dl-tls.c: Likewise.
* elf/ldconfig.c: Likewise.
* elf/rtld.c: Likewise.
* elf/tst-tls-dlinfo.c: Likewise.
* elf/tst-tls1.c: Likewise.
* elf/tst-tls10.h: Likewise.
* elf/tst-tls14.c: Likewise.
* elf/tst-tls2.c: Likewise.
* elf/tst-tls3.c: Likewise.
* elf/tst-tls4.c: Likewise.
* elf/tst-tls5.c: Likewise.
* elf/tst-tls6.c: Likewise.
* elf/tst-tls7.c: Likewise.
* elf/tst-tls8.c: Likewise.
* elf/tst-tls9.c: Likewise.
* elf/tst-tlsmod1.c: Likewise.
* elf/tst-tlsmod13.c: Likewise.
* elf/tst-tlsmod13a.c: Likewise.
* elf/tst-tlsmod14a.c: Likewise.
* elf/tst-tlsmod2.c: Likewise.
* elf/tst-tlsmod3.c: Likewise.
* elf/tst-tlsmod4.c: Likewise.
* elf/tst-tlsmod5.c: Likewise.
* elf/tst-tlsmod6.c: Likewise.
* include/errno.h: Likewise.
* include/link.h: Likewise.
* include/tls.h: Likewise.
* locale/global-locale.c: Likewise.
* locale/localeinfo.h: Likewise.
* malloc/arena.c: Likewise.
* malloc/hooks.c: Likewise.
* malloc/malloc.c: Likewise.
* resolv/Versions: Likewise.
* sysdeps/alpha/dl-machine.h: Likewise.
* sysdeps/alpha/libc-tls.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/generic/tls.h: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/ia64/dl-machine.h: Likewise.
* sysdeps/ia64/libc-tls.c: Likewise.
* sysdeps/mach/hurd/fork.c: Likewise.
* sysdeps/mach/hurd/i386/tls.h: Likewise.
* sysdeps/powerpc/powerpc32/dl-machine.c: Likwise.
* sysdeps/powerpc/powerpc32/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
* sysdeps/s390/libc-tls.c: Likewise.
* sysdeps/s390/s390-32/dl-machine.h: Likewise.
* sysdeps/s390/s390-64/dl-machine.h: Likewise.
* sysdeps/sh/dl-machine.h: Likewise.
* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
* sysdeps/x86_64/dl-machine.h: Likewise.
[BZ #3426]
* stdlib/stdlib.h: Adjust comment for canonicalize_file_name to
reality.
2006-10-27 Jakub Jelinek <jakub@redhat.com>
* elf/dl-lookup.c (_dl_debug_bindings): Remove unused symbol_scope
argument.
(_dl_lookup_symbol_x): Adjust caller.
* sysdeps/generic/ldsodefs.h (struct link_namespaces): Remove
_ns_global_scope.
* elf/rtld.c (dl_main): Don't initialize _ns_global_scope.
* elf/dl-libc.c: Revert l_scope name changes.
* elf/dl-load.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/rtld.c: Likewise.
* elf/dl-close.c (_dl_close): Likewise.
* elf/dl-open.c (dl_open_worker): Likewise. If not SINGLE_THREAD_P,
always use __rtld_mrlock_{change,done}. Always free old scope list
here if not l_scope_mem.
* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Revert l_scope name
change. Never free scope list here. Just __rtld_mrlock_lock before
the lookup and __rtld_mrlock_unlock it after the lookup.
* elf/dl-sym.c: Likewise.
* include/link.h (struct r_scoperec): Remove.
(struct link_map): Replace l_scoperec with l_scope, l_scoperec_mem
with l_scope_mem and l_scoperec_lock with l_scope_lock.
2006-10-25 Ulrich Drepper <drepper@redhat.com>
* sysdeps/gnu/netinet/tcp.h: Define TCP_CONGESTION.
2006-10-18 Ulrich Drepper <drepper@redhat.com>
* configure.in: Disable building profile libraries by default.
2006-10-18 Ulrich Drepper <drepper@redhat.com>
* elf/dl-lookup.c (_dl_lookup_symbol_x): Add warning to
_dl_lookup_symbol_x code.
2006-10-17 Jakub Jelinek <jakub@redhat.com>
* elf/dl-runtime.c: Include sysdep-cancel.h.
(_dl_fixup, _dl_profile_fixup): Use __rtld_mrlock_* and
scoperec->nusers only if !SINGLE_THREAD_P. Use atomic_*
instead of catomic_* macros.
* elf/dl-sym.c: Include sysdep-cancel.h.
(do_sym): Use __rtld_mrlock_* and scoperec->nusers only
if !SINGLE_THREAD_P. Use atomic_* instead of catomic_* macros.
* elf/dl-close.c: Include sysdep-cancel.h.
(_dl_close): Use __rtld_mrlock_* and scoperec->nusers only
if !SINGLE_THREAD_P. Use atomic_* instead of catomic_* macros.
* elf/dl-open.c: Include sysdep-cancel.h.
(dl_open_worker): Use __rtld_mrlock_* and scoperec->nusers only
if !SINGLE_THREAD_P. Use atomic_* instead of catomic_* macros.
2006-10-17 Jakub Jelinek <jakub@redhat.com>
[BZ #3313]
* malloc/malloc.c (malloc_consolidate): Set maxfb to address of last
fastbin rather than end of fastbin array.
2006-10-18 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/i486/bits/atomic.h (catomic_decrement): Use correct
body macro.
* sysdeps/x86_64/bits/atomic.h
(__arch_c_compare_and_exchange_val_64_acq): Add missing casts.
(catomic_decrement): Use correct body macro.
2006-10-17 Jakub Jelinek <jakub@redhat.com>
* include/atomic.h: Add a unique prefix to all local variables
in macros.
* csu/tst-atomic.c (do_test): Test also catomic_* macros.
2006-10-14 Ulrich Drepper <drepper@redhat.com>
* resolv/arpa/nameser.h: Document that ns_t_a6 is deprecated.
[BZ #3313]
* malloc/malloc.c (malloc_consolidate): Don't use get_fast_max to
determine highest fast bin to consolidate, always look into all of
them.
(do_check_malloc_state): Only require for empty bins for large
sizes in main arena.
* libio/stdio.h: Add more __wur attributes.
2006-11-12 Andreas Jaeger <aj@suse.de>
[BZ #2510]
* manual/search.texi (Hash Search Function): Clarify.
(Array Search Function): Clarify.
2006-11-12 Joseph Myers <joseph@codesourcery.com>
[BZ #2830]
* math/atest-exp.c (main): Cast hex value to mp_limb_t before
shifting.
* math/atest-exp2.c (read_mpn_hex): Likewise.
* math/atest-sincos.c (main): Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Add epoll_pwait.
* sysdeps/unix/sysv/linux/sys/epoll.h: Declare epoll_pwait.
* sysdeps/unix/sysv/linux/Versions (libc): Add epoll_pwait for
version GLIBC_2.6.
* Versions.def: Add GLIBC_2.6 for libc.
* sysdeps/i386/i486/bits/atomic.h: Add catomic_* support.
2006-10-11 Jakub Jelinek <jakub@redhat.com>
* malloc/malloc.c (_int_malloc): Remove unused any_larger variable.
* nis/nis_defaults.c (__nis_default_access): Don't call getenv twice.
* nis/nis_subr.c (nis_getnames): Use __secure_getenv instead of getenv.
* sysdeps/generic/unsecvars.h: Add NIS_PATH.
2006-10-11 Ulrich Drepper <drepper@redhat.com>
* include/atomic.c: Define catomic_* operations.
* sysdeps/x86_64/bits/atomic.h: Likewise. Fix a few minor problems.
* stdlib/cxa_finalize.c: Use catomic_* operations instead of atomic_*.
* malloc/memusage.c: Likewise.
* gmon/mcount.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-profile.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/dl-runtime.c: Likewise.
* elf/dl-fptr.c: Likewise.
* resolv/res_libc.c: Likewise.
2006-10-10 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/utimes.c: Use a union to avoid an improper cast.
* sysdeps/mach/hurd/futimes.c: Likewise.
* sysdeps/mach/hurd/lutimes.c: Likewise.
2006-10-09 Ulrich Drepper <drepper@redhat.com>
Jakub Jelinek <jakub@redhat.com>
Implement reference counting of scope records.
* elf/dl-close.c (_dl_close): Remove all scopes from removed objects
from the list in objects which remain. Always allocate new scope
record.
* elf/dl-open.c (dl_open_worker): When growing array for scopes,
don't resize, allocate a new one.
* elf/dl-runtime.c: Update reference counters before using a scope
array.
* elf/dl-sym.c: Likewise.
* elf/dl-libc.c: Adjust for l_scope name change.
* elf/dl-load.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/rtld.c: Likewise.
* include/link.h: Include <rtld-lowlevel.h>. Define struct
r_scoperec. Replace r_scope with pointer to r_scoperec structure.
Add l_scoperec_lock.
* sysdeps/generic/ldsodefs.h: Include <rtld-lowlevel.h>.
* sysdeps/generic/rtld-lowlevel.h: New file.
* include/atomic.h: Rename atomic_and to atomic_and_val and
atomic_or to atomic_or_val. Define new macros atomic_and and
atomic_or which do not return values.
* sysdeps/x86_64/bits/atomic.h: Define atomic_and and atomic_or.
Various cleanups.
* sysdeps/i386/i486/bits/atomic.h: Likewise.
* po/sv.po: Update from translation team.
2006-10-07 Ulrich Drepper <drepper@redhat.com>
* Versions.def: Add GLIBC_2.6 to libpthread.
* include/shlib-compat.h (SHLIB_COMPAT): Expand parameters before use.
(versioned_symbol): Likewise.
(compat_symbol): Likewise.
* po/tr.po: Update from translation team.
* nis/Banner: Removed. It's been integral part forever and the
author info is incomplete anyway.
* libio/Banner: Likewise.
2006-10-06 Ulrich Drepper <drepper@redhat.com>
* version.h (VERSION): Bump to 2.5.90 for new development tree.
2007-01-12 05:51:07 +08:00
|
|
|
@var{size} characters are compared. In other words, if the two
|
|
|
|
strings are the same in their first @var{size} characters, the
|
2001-02-11 09:50:24 +08:00
|
|
|
return value is zero.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun int wcsncmp (const wchar_t *@var{ws1}, const wchar_t *@var{ws2}, size_t @var{size})
|
|
|
|
This function is the similar to @code{wcscmp}, except that no more than
|
|
|
|
@var{size} wide characters are compared. In other words, if the two
|
|
|
|
strings are the same in their first @var{size} wide characters, the
|
|
|
|
return value is zero.
|
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment BSD
|
|
|
|
@deftypefun int strncasecmp (const char *@var{s1}, const char *@var{s2}, size_t @var{n})
|
|
|
|
This function is like @code{strncmp}, except that differences in case
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
are ignored. Like @code{strcasecmp}, it is locale dependent how
|
|
|
|
uppercase and lowercase characters are related.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
1998-09-01 18:41:59 +08:00
|
|
|
@noindent
|
1995-02-18 09:27:10 +08:00
|
|
|
@code{strncasecmp} is a GNU extension.
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun int wcsncasecmp (const wchar_t *@var{ws1}, const wchar_t *@var{s2}, size_t @var{n})
|
|
|
|
This function is like @code{wcsncmp}, except that differences in case
|
|
|
|
are ignored. Like @code{wcscasecmp}, it is locale dependent how
|
|
|
|
uppercase and lowercase characters are related.
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
@code{wcsncasecmp} is a GNU extension.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
Here are some examples showing the use of @code{strcmp} and
|
|
|
|
@code{strncmp} (equivalent examples can be constructed for the wide
|
|
|
|
character functions). These examples assume the use of the ASCII
|
|
|
|
character set. (If some other character set---say, EBCDIC---is used
|
|
|
|
instead, then the glyphs are associated with different numeric codes,
|
|
|
|
and the return values and ordering may differ.)
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
@smallexample
|
|
|
|
strcmp ("hello", "hello")
|
|
|
|
@result{} 0 /* @r{These two strings are the same.} */
|
|
|
|
strcmp ("hello", "Hello")
|
|
|
|
@result{} 32 /* @r{Comparisons are case-sensitive.} */
|
|
|
|
strcmp ("hello", "world")
|
|
|
|
@result{} -15 /* @r{The character @code{'h'} comes before @code{'w'}.} */
|
|
|
|
strcmp ("hello", "hello, world")
|
|
|
|
@result{} -44 /* @r{Comparing a null character against a comma.} */
|
1997-02-04 10:01:01 +08:00
|
|
|
strncmp ("hello", "hello, world", 5)
|
1995-02-18 09:27:10 +08:00
|
|
|
@result{} 0 /* @r{The initial 5 characters are the same.} */
|
|
|
|
strncmp ("hello, world", "hello, stupid world!!!", 5)
|
|
|
|
@result{} 0 /* @r{The initial 5 characters are the same.} */
|
|
|
|
@end smallexample
|
|
|
|
|
1997-05-21 09:48:59 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun int strverscmp (const char *@var{s1}, const char *@var{s2})
|
|
|
|
The @code{strverscmp} function compares the string @var{s1} against
|
2011-10-14 00:49:28 +08:00
|
|
|
@var{s2}, considering them as holding indices/version numbers. The
|
|
|
|
return value follows the same conventions as found in the
|
|
|
|
@code{strcmp} function. In fact, if @var{s1} and @var{s2} contain no
|
|
|
|
digits, @code{strverscmp} behaves like @code{strcmp}.
|
1997-05-21 09:48:59 +08:00
|
|
|
|
1997-10-15 13:34:02 +08:00
|
|
|
Basically, we compare strings normally (character by character), until
|
1997-05-21 09:48:59 +08:00
|
|
|
we find a digit in each string - then we enter a special comparison
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
mode, where each sequence of digits is taken as a whole. If we reach the
|
1997-05-21 09:48:59 +08:00
|
|
|
end of these two parts without noticing a difference, we return to the
|
|
|
|
standard comparison mode. There are two types of numeric parts:
|
1997-10-15 13:34:02 +08:00
|
|
|
"integral" and "fractional" (those begin with a '0'). The types
|
1997-05-21 09:48:59 +08:00
|
|
|
of the numeric parts affect the way we sort them:
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
@item
|
|
|
|
integral/integral: we compare values as you would expect.
|
|
|
|
|
|
|
|
@item
|
1997-10-15 13:34:02 +08:00
|
|
|
fractional/integral: the fractional part is less than the integral one.
|
1997-05-21 09:48:59 +08:00
|
|
|
Again, no surprise.
|
|
|
|
|
|
|
|
@item
|
1997-10-15 13:34:02 +08:00
|
|
|
fractional/fractional: the things become a bit more complex.
|
|
|
|
If the common prefix contains only leading zeroes, the longest part is less
|
|
|
|
than the other one; else the comparison behaves normally.
|
1997-05-21 09:48:59 +08:00
|
|
|
@end itemize
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
strverscmp ("no digit", "no digit")
|
2001-05-22 01:38:30 +08:00
|
|
|
@result{} 0 /* @r{same behavior as strcmp.} */
|
1997-05-21 09:48:59 +08:00
|
|
|
strverscmp ("item#99", "item#100")
|
|
|
|
@result{} <0 /* @r{same prefix, but 99 < 100.} */
|
|
|
|
strverscmp ("alpha1", "alpha001")
|
1997-10-15 13:34:02 +08:00
|
|
|
@result{} >0 /* @r{fractional part inferior to integral one.} */
|
1997-05-21 09:48:59 +08:00
|
|
|
strverscmp ("part1_f012", "part1_f01")
|
1997-10-15 13:34:02 +08:00
|
|
|
@result{} >0 /* @r{two fractional parts.} */
|
1997-05-21 09:48:59 +08:00
|
|
|
strverscmp ("foo.009", "foo.0")
|
|
|
|
@result{} <0 /* @r{idem, but with leading zeroes only.} */
|
|
|
|
@end smallexample
|
|
|
|
|
1997-10-15 13:34:02 +08:00
|
|
|
This function is especially useful when dealing with filename sorting,
|
1997-05-21 09:48:59 +08:00
|
|
|
because filenames frequently hold indices/version numbers.
|
|
|
|
|
|
|
|
@code{strverscmp} is a GNU extension.
|
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment BSD
|
|
|
|
@deftypefun int bcmp (const void *@var{a1}, const void *@var{a2}, size_t @var{size})
|
|
|
|
This is an obsolete alias for @code{memcmp}, derived from BSD.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
@node Collation Functions
|
1995-02-18 09:27:10 +08:00
|
|
|
@section Collation Functions
|
|
|
|
|
|
|
|
@cindex collating strings
|
|
|
|
@cindex string collation functions
|
|
|
|
|
|
|
|
In some locales, the conventions for lexicographic ordering differ from
|
|
|
|
the strict numeric ordering of character codes. For example, in Spanish
|
|
|
|
most glyphs with diacritical marks such as accents are not considered
|
|
|
|
distinct letters for the purposes of collation. On the other hand, the
|
|
|
|
two-character sequence @samp{ll} is treated as a single letter that is
|
|
|
|
collated immediately after @samp{l}.
|
|
|
|
|
|
|
|
You can use the functions @code{strcoll} and @code{strxfrm} (declared in
|
2001-02-11 09:50:24 +08:00
|
|
|
the headers file @file{string.h}) and @code{wcscoll} and @code{wcsxfrm}
|
|
|
|
(declared in the headers file @file{wchar}) to compare strings using a
|
|
|
|
collation ordering appropriate for the current locale. The locale used
|
|
|
|
by these functions in particular can be specified by setting the locale
|
|
|
|
for the @code{LC_COLLATE} category; see @ref{Locales}.
|
1995-02-18 09:27:10 +08:00
|
|
|
@pindex string.h
|
2001-02-11 09:50:24 +08:00
|
|
|
@pindex wchar.h
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
In the standard C locale, the collation sequence for @code{strcoll} is
|
2001-02-11 09:50:24 +08:00
|
|
|
the same as that for @code{strcmp}. Similarly, @code{wcscoll} and
|
|
|
|
@code{wcscmp} are the same in this situation.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
Effectively, the way these functions work is by applying a mapping to
|
|
|
|
transform the characters in a string to a byte sequence that represents
|
|
|
|
the string's position in the collating sequence of the current locale.
|
|
|
|
Comparing two such byte sequences in a simple fashion is equivalent to
|
|
|
|
comparing the strings with the locale's collating sequence.
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
The functions @code{strcoll} and @code{wcscoll} perform this translation
|
|
|
|
implicitly, in order to do one comparison. By contrast, @code{strxfrm}
|
|
|
|
and @code{wcsxfrm} perform the mapping explicitly. If you are making
|
|
|
|
multiple comparisons using the same string or set of strings, it is
|
|
|
|
likely to be more efficient to use @code{strxfrm} or @code{wcsxfrm} to
|
|
|
|
transform all the strings just once, and subsequently compare the
|
|
|
|
transformed strings with @code{strcmp} or @code{wcscmp}.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun int strcoll (const char *@var{s1}, const char *@var{s2})
|
|
|
|
The @code{strcoll} function is similar to @code{strcmp} but uses the
|
|
|
|
collating sequence of the current locale for collation (the
|
|
|
|
@code{LC_COLLATE} locale).
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun int wcscoll (const wchar_t *@var{ws1}, const wchar_t *@var{ws2})
|
|
|
|
The @code{wcscoll} function is similar to @code{wcscmp} but uses the
|
|
|
|
collating sequence of the current locale for collation (the
|
|
|
|
@code{LC_COLLATE} locale).
|
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
Here is an example of sorting an array of strings, using @code{strcoll}
|
|
|
|
to compare them. The actual sort algorithm is not written here; it
|
|
|
|
comes from @code{qsort} (@pxref{Array Sort Function}). The job of the
|
|
|
|
code shown here is to say how to compare the strings while sorting them.
|
|
|
|
(Later on in this section, we will show a way to do this more
|
|
|
|
efficiently using @code{strxfrm}.)
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
/* @r{This is the comparison function used with @code{qsort}.} */
|
|
|
|
|
|
|
|
int
|
2012-05-17 17:05:52 +08:00
|
|
|
compare_elements (const void *v1, const void *v2)
|
1995-02-18 09:27:10 +08:00
|
|
|
@{
|
2012-05-17 17:05:52 +08:00
|
|
|
char * const *p1 = v1;
|
|
|
|
char * const *p1 = v2;
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
return strcoll (*p1, *p2);
|
|
|
|
@}
|
|
|
|
|
|
|
|
/* @r{This is the entry point---the function to sort}
|
|
|
|
@r{strings using the locale's collating sequence.} */
|
|
|
|
|
|
|
|
void
|
|
|
|
sort_strings (char **array, int nstrings)
|
|
|
|
@{
|
|
|
|
/* @r{Sort @code{temp_array} by comparing the strings.} */
|
1998-12-13 06:10:30 +08:00
|
|
|
qsort (array, nstrings,
|
|
|
|
sizeof (char *), compare_elements);
|
1995-02-18 09:27:10 +08:00
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
@cindex converting string to collation order
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
2001-02-11 09:50:24 +08:00
|
|
|
@deftypefun size_t strxfrm (char *restrict @var{to}, const char *restrict @var{from}, size_t @var{size})
|
|
|
|
The function @code{strxfrm} transforms the string @var{from} using the
|
|
|
|
collation transformation determined by the locale currently selected for
|
1995-02-18 09:27:10 +08:00
|
|
|
collation, and stores the transformed string in the array @var{to}. Up
|
|
|
|
to @var{size} characters (including a terminating null character) are
|
|
|
|
stored.
|
|
|
|
|
|
|
|
The behavior is undefined if the strings @var{to} and @var{from}
|
|
|
|
overlap; see @ref{Copying and Concatenation}.
|
|
|
|
|
|
|
|
The return value is the length of the entire transformed string. This
|
|
|
|
value is not affected by the value of @var{size}, but if it is greater
|
1996-08-09 10:46:09 +08:00
|
|
|
or equal than @var{size}, it means that the transformed string did not
|
|
|
|
entirely fit in the array @var{to}. In this case, only as much of the
|
|
|
|
string as actually fits was stored. To get the whole transformed
|
|
|
|
string, call @code{strxfrm} again with a bigger output array.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
The transformed string may be longer than the original string, and it
|
|
|
|
may also be shorter.
|
|
|
|
|
|
|
|
If @var{size} is zero, no characters are stored in @var{to}. In this
|
|
|
|
case, @code{strxfrm} simply returns the number of characters that would
|
|
|
|
be the length of the transformed string. This is useful for determining
|
2001-02-11 09:50:24 +08:00
|
|
|
what size the allocated array should be. It does not matter what
|
|
|
|
@var{to} is if @var{size} is zero; @var{to} may even be a null pointer.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun size_t wcsxfrm (wchar_t *restrict @var{wto}, const wchar_t *@var{wfrom}, size_t @var{size})
|
|
|
|
The function @code{wcsxfrm} transforms wide character string @var{wfrom}
|
|
|
|
using the collation transformation determined by the locale currently
|
|
|
|
selected for collation, and stores the transformed string in the array
|
|
|
|
@var{wto}. Up to @var{size} wide characters (including a terminating null
|
|
|
|
character) are stored.
|
|
|
|
|
|
|
|
The behavior is undefined if the strings @var{wto} and @var{wfrom}
|
|
|
|
overlap; see @ref{Copying and Concatenation}.
|
|
|
|
|
|
|
|
The return value is the length of the entire transformed wide character
|
|
|
|
string. This value is not affected by the value of @var{size}, but if
|
|
|
|
it is greater or equal than @var{size}, it means that the transformed
|
|
|
|
wide character string did not entirely fit in the array @var{wto}. In
|
|
|
|
this case, only as much of the wide character string as actually fits
|
|
|
|
was stored. To get the whole transformed wide character string, call
|
|
|
|
@code{wcsxfrm} again with a bigger output array.
|
|
|
|
|
|
|
|
The transformed wide character string may be longer than the original
|
|
|
|
wide character string, and it may also be shorter.
|
|
|
|
|
|
|
|
If @var{size} is zero, no characters are stored in @var{to}. In this
|
|
|
|
case, @code{wcsxfrm} simply returns the number of wide characters that
|
|
|
|
would be the length of the transformed wide character string. This is
|
|
|
|
useful for determining what size the allocated array should be (remember
|
|
|
|
to multiply with @code{sizeof (wchar_t)}). It does not matter what
|
|
|
|
@var{wto} is if @var{size} is zero; @var{wto} may even be a null pointer.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
Here is an example of how you can use @code{strxfrm} when
|
|
|
|
you plan to do many comparisons. It does the same thing as the previous
|
|
|
|
example, but much faster, because it has to transform each string only
|
|
|
|
once, no matter how many times it is compared with other strings. Even
|
|
|
|
the time needed to allocate and free storage is much less than the time
|
|
|
|
we save, when there are many strings.
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
struct sorter @{ char *input; char *transformed; @};
|
|
|
|
|
|
|
|
/* @r{This is the comparison function used with @code{qsort}}
|
|
|
|
@r{to sort an array of @code{struct sorter}.} */
|
|
|
|
|
|
|
|
int
|
2012-05-17 17:05:52 +08:00
|
|
|
compare_elements (const void *v1, const void *v2)
|
1995-02-18 09:27:10 +08:00
|
|
|
@{
|
2012-05-17 17:05:52 +08:00
|
|
|
const struct sorter *p1 = v1;
|
|
|
|
const struct sorter *p2 = v2;
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
return strcmp (p1->transformed, p2->transformed);
|
|
|
|
@}
|
|
|
|
|
|
|
|
/* @r{This is the entry point---the function to sort}
|
|
|
|
@r{strings using the locale's collating sequence.} */
|
|
|
|
|
|
|
|
void
|
|
|
|
sort_strings_fast (char **array, int nstrings)
|
|
|
|
@{
|
|
|
|
struct sorter temp_array[nstrings];
|
|
|
|
int i;
|
|
|
|
|
|
|
|
/* @r{Set up @code{temp_array}. Each element contains}
|
|
|
|
@r{one input string and its transformed string.} */
|
|
|
|
for (i = 0; i < nstrings; i++)
|
|
|
|
@{
|
|
|
|
size_t length = strlen (array[i]) * 2;
|
1996-08-09 10:46:09 +08:00
|
|
|
char *transformed;
|
1997-10-15 13:34:02 +08:00
|
|
|
size_t transformed_length;
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
temp_array[i].input = array[i];
|
|
|
|
|
1996-08-09 10:46:09 +08:00
|
|
|
/* @r{First try a buffer perhaps big enough.} */
|
|
|
|
transformed = (char *) xmalloc (length);
|
|
|
|
|
|
|
|
/* @r{Transform @code{array[i]}.} */
|
|
|
|
transformed_length = strxfrm (transformed, array[i], length);
|
|
|
|
|
|
|
|
/* @r{If the buffer was not large enough, resize it}
|
|
|
|
@r{and try again.} */
|
|
|
|
if (transformed_length >= length)
|
1995-02-18 09:27:10 +08:00
|
|
|
@{
|
1996-08-09 10:46:09 +08:00
|
|
|
/* @r{Allocate the needed space. +1 for terminating}
|
|
|
|
@r{@code{NUL} character.} */
|
|
|
|
transformed = (char *) xrealloc (transformed,
|
|
|
|
transformed_length + 1);
|
|
|
|
|
|
|
|
/* @r{The return value is not interesting because we know}
|
|
|
|
@r{how long the transformed string is.} */
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
(void) strxfrm (transformed, array[i],
|
|
|
|
transformed_length + 1);
|
1995-02-18 09:27:10 +08:00
|
|
|
@}
|
1996-08-09 10:46:09 +08:00
|
|
|
|
|
|
|
temp_array[i].transformed = transformed;
|
1995-02-18 09:27:10 +08:00
|
|
|
@}
|
|
|
|
|
|
|
|
/* @r{Sort @code{temp_array} by comparing transformed strings.} */
|
|
|
|
qsort (temp_array, sizeof (struct sorter),
|
|
|
|
nstrings, compare_elements);
|
|
|
|
|
|
|
|
/* @r{Put the elements back in the permanent array}
|
|
|
|
@r{in their sorted order.} */
|
|
|
|
for (i = 0; i < nstrings; i++)
|
|
|
|
array[i] = temp_array[i].input;
|
|
|
|
|
|
|
|
/* @r{Free the strings we allocated.} */
|
|
|
|
for (i = 0; i < nstrings; i++)
|
|
|
|
free (temp_array[i].transformed);
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
The interesting part of this code for the wide character version would
|
|
|
|
look like this:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
void
|
|
|
|
sort_strings_fast (wchar_t **array, int nstrings)
|
|
|
|
@{
|
|
|
|
@dots{}
|
|
|
|
/* @r{Transform @code{array[i]}.} */
|
|
|
|
transformed_length = wcsxfrm (transformed, array[i], length);
|
|
|
|
|
|
|
|
/* @r{If the buffer was not large enough, resize it}
|
|
|
|
@r{and try again.} */
|
|
|
|
if (transformed_length >= length)
|
|
|
|
@{
|
|
|
|
/* @r{Allocate the needed space. +1 for terminating}
|
|
|
|
@r{@code{NUL} character.} */
|
|
|
|
transformed = (wchar_t *) xrealloc (transformed,
|
|
|
|
(transformed_length + 1)
|
|
|
|
* sizeof (wchar_t));
|
|
|
|
|
|
|
|
/* @r{The return value is not interesting because we know}
|
|
|
|
@r{how long the transformed string is.} */
|
|
|
|
(void) wcsxfrm (transformed, array[i],
|
|
|
|
transformed_length + 1);
|
|
|
|
@}
|
|
|
|
@dots{}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
Note the additional multiplication with @code{sizeof (wchar_t)} in the
|
|
|
|
@code{realloc} call.
|
|
|
|
|
|
|
|
@strong{Compatibility Note:} The string collation functions are a new
|
1999-11-02 07:01:49 +08:00
|
|
|
feature of @w{ISO C90}. Older C dialects have no equivalent feature.
|
2001-02-11 09:50:24 +08:00
|
|
|
The wide character versions were introduced in @w{Amendment 1} to @w{ISO
|
|
|
|
C90}.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
@node Search Functions
|
1995-02-18 09:27:10 +08:00
|
|
|
@section Search Functions
|
|
|
|
|
|
|
|
This section describes library functions which perform various kinds
|
|
|
|
of searching operations on strings and arrays. These functions are
|
|
|
|
declared in the header file @file{string.h}.
|
|
|
|
@pindex string.h
|
|
|
|
@cindex search functions (for strings)
|
|
|
|
@cindex string search functions
|
|
|
|
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun {void *} memchr (const void *@var{block}, int @var{c}, size_t @var{size})
|
|
|
|
This function finds the first occurrence of the byte @var{c} (converted
|
|
|
|
to an @code{unsigned char}) in the initial @var{size} bytes of the
|
|
|
|
object beginning at @var{block}. The return value is a pointer to the
|
|
|
|
located byte, or a null pointer if no match was found.
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun {wchar_t *} wmemchr (const wchar_t *@var{block}, wchar_t @var{wc}, size_t @var{size})
|
|
|
|
This function finds the first occurrence of the wide character @var{wc}
|
|
|
|
in the initial @var{size} wide characters of the object beginning at
|
|
|
|
@var{block}. The return value is a pointer to the located wide
|
|
|
|
character, or a null pointer if no match was found.
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 00:37:51 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun {void *} rawmemchr (const void *@var{block}, int @var{c})
|
|
|
|
Often the @code{memchr} function is used with the knowledge that the
|
|
|
|
byte @var{c} is available in the memory block specified by the
|
|
|
|
parameters. But this means that the @var{size} parameter is not really
|
|
|
|
needed and that the tests performed with it at runtime (to check whether
|
|
|
|
the end of the block is reached) are not needed.
|
|
|
|
|
|
|
|
The @code{rawmemchr} function exists for just this situation which is
|
|
|
|
surprisingly frequent. The interface is similar to @code{memchr} except
|
|
|
|
that the @var{size} parameter is missing. The function will look beyond
|
|
|
|
the end of the block pointed to by @var{block} in case the programmer
|
2001-02-11 01:07:35 +08:00
|
|
|
made an error in assuming that the byte @var{c} is present in the block.
|
2001-02-11 00:37:51 +08:00
|
|
|
In this case the result is unspecified. Otherwise the return value is a
|
|
|
|
pointer to the located byte.
|
|
|
|
|
|
|
|
This function is of special interest when looking for the end of a
|
|
|
|
string. Since all strings are terminated by a null byte a call like
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
rawmemchr (str, '\0')
|
|
|
|
@end smallexample
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@noindent
|
2001-02-11 00:37:51 +08:00
|
|
|
will never go beyond the end of the string.
|
|
|
|
|
|
|
|
This function is a GNU extension.
|
|
|
|
@end deftypefun
|
|
|
|
|
1999-10-04 13:13:05 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun {void *} memrchr (const void *@var{block}, int @var{c}, size_t @var{size})
|
|
|
|
The function @code{memrchr} is like @code{memchr}, except that it searches
|
|
|
|
backwards from the end of the block defined by @var{block} and @var{size}
|
|
|
|
(instead of forwards from the front).
|
2004-04-17 23:48:10 +08:00
|
|
|
|
|
|
|
This function is a GNU extension.
|
1999-10-05 23:26:17 +08:00
|
|
|
@end deftypefun
|
1999-10-04 13:13:05 +08:00
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun {char *} strchr (const char *@var{string}, int @var{c})
|
|
|
|
The @code{strchr} function finds the first occurrence of the character
|
|
|
|
@var{c} (converted to a @code{char}) in the null-terminated string
|
|
|
|
beginning at @var{string}. The return value is a pointer to the located
|
|
|
|
character, or a null pointer if no match was found.
|
|
|
|
|
|
|
|
For example,
|
|
|
|
@smallexample
|
|
|
|
strchr ("hello, world", 'l')
|
|
|
|
@result{} "llo, world"
|
|
|
|
strchr ("hello, world", '?')
|
|
|
|
@result{} NULL
|
1996-08-09 10:46:09 +08:00
|
|
|
@end smallexample
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
The terminating null character is considered to be part of the string,
|
|
|
|
so you can use this function get a pointer to the end of a string by
|
2012-02-18 07:34:01 +08:00
|
|
|
specifying a null character as the value of the @var{c} argument.
|
|
|
|
|
|
|
|
When @code{strchr} returns a null pointer, it does not let you know
|
|
|
|
the position of the terminating null character it has found. If you
|
|
|
|
need that information, it is better (but less portable) to use
|
|
|
|
@code{strchrnul} than to search for it a second time.
|
2001-02-11 09:50:24 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun {wchar_t *} wcschr (const wchar_t *@var{wstring}, int @var{wc})
|
|
|
|
The @code{wcschr} function finds the first occurrence of the wide
|
|
|
|
character @var{wc} in the null-terminated wide character string
|
|
|
|
beginning at @var{wstring}. The return value is a pointer to the
|
|
|
|
located wide character, or a null pointer if no match was found.
|
|
|
|
|
|
|
|
The terminating null character is considered to be part of the wide
|
|
|
|
character string, so you can use this function get a pointer to the end
|
|
|
|
of a wide character string by specifying a null wude character as the
|
|
|
|
value of the @var{wc} argument. It would be better (but less portable)
|
|
|
|
to use @code{wcschrnul} in this case, though.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment string.h
|
2001-02-11 00:37:51 +08:00
|
|
|
@comment GNU
|
2000-04-28 11:27:50 +08:00
|
|
|
@deftypefun {char *} strchrnul (const char *@var{string}, int @var{c})
|
|
|
|
@code{strchrnul} is the same as @code{strchr} except that if it does
|
2001-01-07 07:27:53 +08:00
|
|
|
not find the character, it returns a pointer to string's terminating
|
2000-04-28 11:27:50 +08:00
|
|
|
null character rather than a null pointer.
|
2001-02-11 09:50:24 +08:00
|
|
|
|
|
|
|
This function is a GNU extension.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun {wchar_t *} wcschrnul (const wchar_t *@var{wstring}, wchar_t @var{wc})
|
|
|
|
@code{wcschrnul} is the same as @code{wcschr} except that if it does not
|
|
|
|
find the wide character, it returns a pointer to wide character string's
|
|
|
|
terminating null wide character rather than a null pointer.
|
|
|
|
|
|
|
|
This function is a GNU extension.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
2001-01-07 07:27:53 +08:00
|
|
|
One useful, but unusual, use of the @code{strchr}
|
1999-01-27 08:11:04 +08:00
|
|
|
function is when one wants to have a pointer pointing to the NUL byte
|
|
|
|
terminating a string. This is often written in this way:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
s += strlen (s);
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
This is almost optimal but the addition operation duplicated a bit of
|
|
|
|
the work already done in the @code{strlen} function. A better solution
|
|
|
|
is this:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
s = strchr (s, '\0');
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
There is no restriction on the second parameter of @code{strchr} so it
|
|
|
|
could very well also be the NUL character. Those readers thinking very
|
|
|
|
hard about this might now point out that the @code{strchr} function is
|
1999-01-27 17:13:16 +08:00
|
|
|
more expensive than the @code{strlen} function since we have two abort
|
2012-02-28 22:44:20 +08:00
|
|
|
criteria. This is right. But in @theglibc{} the implementation of
|
2000-04-28 11:27:50 +08:00
|
|
|
@code{strchr} is optimized in a special way so that @code{strchr}
|
1999-01-27 17:13:16 +08:00
|
|
|
actually is faster.
|
1999-01-27 08:11:04 +08:00
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun {char *} strrchr (const char *@var{string}, int @var{c})
|
|
|
|
The function @code{strrchr} is like @code{strchr}, except that it searches
|
|
|
|
backwards from the end of the string @var{string} (instead of forwards
|
|
|
|
from the front).
|
|
|
|
|
|
|
|
For example,
|
|
|
|
@smallexample
|
|
|
|
strrchr ("hello, world", 'l')
|
|
|
|
@result{} "ld"
|
|
|
|
@end smallexample
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun {wchar_t *} wcsrchr (const wchar_t *@var{wstring}, wchar_t @var{c})
|
|
|
|
The function @code{wcsrchr} is like @code{wcschr}, except that it searches
|
|
|
|
backwards from the end of the string @var{wstring} (instead of forwards
|
|
|
|
from the front).
|
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun {char *} strstr (const char *@var{haystack}, const char *@var{needle})
|
|
|
|
This is like @code{strchr}, except that it searches @var{haystack} for a
|
|
|
|
substring @var{needle} rather than just a single character. It
|
|
|
|
returns a pointer into the string @var{haystack} that is the first
|
|
|
|
character of the substring, or a null pointer if no match was found. If
|
|
|
|
@var{needle} is an empty string, the function returns @var{haystack}.
|
|
|
|
|
|
|
|
For example,
|
|
|
|
@smallexample
|
|
|
|
strstr ("hello, world", "l")
|
|
|
|
@result{} "llo, world"
|
|
|
|
strstr ("hello, world", "wo")
|
|
|
|
@result{} "world"
|
|
|
|
@end smallexample
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun {wchar_t *} wcsstr (const wchar_t *@var{haystack}, const wchar_t *@var{needle})
|
|
|
|
This is like @code{wcschr}, except that it searches @var{haystack} for a
|
|
|
|
substring @var{needle} rather than just a single wide character. It
|
|
|
|
returns a pointer into the string @var{haystack} that is the first wide
|
|
|
|
character of the substring, or a null pointer if no match was found. If
|
|
|
|
@var{needle} is an empty string, the function returns @var{haystack}.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment XPG
|
|
|
|
@deftypefun {wchar_t *} wcswcs (const wchar_t *@var{haystack}, const wchar_t *@var{needle})
|
2003-12-31 01:57:38 +08:00
|
|
|
@code{wcswcs} is an deprecated alias for @code{wcsstr}. This is the
|
2001-02-11 09:50:24 +08:00
|
|
|
name originally used in the X/Open Portability Guide before the
|
|
|
|
@w{Amendment 1} to @w{ISO C90} was published.
|
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
|
2000-04-28 11:27:50 +08:00
|
|
|
@comment string.h
|
2001-02-11 09:50:24 +08:00
|
|
|
@comment GNU
|
2000-04-28 11:27:50 +08:00
|
|
|
@deftypefun {char *} strcasestr (const char *@var{haystack}, const char *@var{needle})
|
|
|
|
This is like @code{strstr}, except that it ignores case in searching for
|
|
|
|
the substring. Like @code{strcasecmp}, it is locale dependent how
|
|
|
|
uppercase and lowercase characters are related.
|
|
|
|
|
|
|
|
|
|
|
|
For example,
|
|
|
|
@smallexample
|
2005-01-26 10:39:20 +08:00
|
|
|
strcasestr ("hello, world", "L")
|
2000-04-28 11:27:50 +08:00
|
|
|
@result{} "llo, world"
|
2005-01-26 10:39:20 +08:00
|
|
|
strcasestr ("hello, World", "wo")
|
2000-04-28 11:27:50 +08:00
|
|
|
@result{} "World"
|
|
|
|
@end smallexample
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
Update.
1997-04-13 01:06 Ulrich Drepper <drepper@cygnus.com>
* isomac.c: Improve messages.
* math/Makefile (libm-calls): Add s_nearbyint, s_catan, s_casin,
s_ccos, s_csin, s_ctan, s_ctanh, s_cacos, s_casinh, s_cacosh,
s_catanh, s_csqrt, and s_cpow.
* math/libm-test.c: New functions ccos_test, cacos_test, cacosh_test,
casin_test, casinh_test, catan_test, catanh_test, ctanh_test,
csqrt_test, cpow_test, rint_test.
* math/math.h: Include new header mathbits.h which defines some
more (system dependent) types and some macros.
(isfinite): Use __finite instead of fpclassify.
* sysdeps/generic/mathbits.h: New file.
* sysdeps/i386/fpu/mathbits.h: New file.
* sysdeps/i386/huge_val.h: Don't define INFINITY.
* sysdeps/ieee754/huge_val.h: Likewise.
* sysdeps/m68k/huge_val.h: Likewise.
* sysdeps/i386/fpu/fenvbits.h: Define FE_NOMASK_ENV.
* sysdeps/i386/fpu/fesetenv.c: Handle FE_NOMASK_ENV.
* math/complex.h (_Imaginary_I): Define correctly. I misread the
standard first.
* sysdeps/libm-i387/s_finite.S: Optimized rewrite.
* sysdeps/libm-i387/s_finitef.S: Likewise.
* sysdeps/libm-i387/s_finitel.S: Likewise.
Provided by Joe Keane <jgk@jgk.org>.
* sysdeps/libm-i387/s_nearbyint.S: New file.
* sysdeps/libm-i387/s_nearbyintf.S: New file.
* sysdeps/libm-i387/s_nearbyintl.S: New file.
* sysdeps/libm-ieee754/s_nearbyint.S: New file.
* sysdeps/libm-ieee754/s_nearbyintf.S: New file.
* sysdeps/libm-ieee754/s_nearbyintl.S: New file.
* sysdeps/libm-ieee754/s_cacos.c: New file.
* sysdeps/libm-ieee754/s_cacosf.c: New file.
* sysdeps/libm-ieee754/s_cacosl.c: New file.
* sysdeps/libm-ieee754/s_cacosh.c: New file.
* sysdeps/libm-ieee754/s_cacoshf.c: New file.
* sysdeps/libm-ieee754/s_cacoshl.c: New file.
* sysdeps/libm-ieee754/s_casin.c: New file.
* sysdeps/libm-ieee754/s_casinf.c: New file.
* sysdeps/libm-ieee754/s_casinl.c: New file.
* sysdeps/libm-ieee754/s_casinh.c: New file.
* sysdeps/libm-ieee754/s_casinhf.c: New file.
* sysdeps/libm-ieee754/s_casinhl.c: New file.
* sysdeps/libm-ieee754/s_catan.c: New file.
* sysdeps/libm-ieee754/s_catanf.c: New file.
* sysdeps/libm-ieee754/s_catanl.c: New file.
* sysdeps/libm-ieee754/s_catanh.c: New file.
* sysdeps/libm-ieee754/s_catanhf.c: New file.
* sysdeps/libm-ieee754/s_catanhl.c: New file.
* sysdeps/libm-ieee754/s_ccos.c: New file.
* sysdeps/libm-ieee754/s_ccosf.c: New file.
* sysdeps/libm-ieee754/s_ccosl.c: New file.
* sysdeps/libm-ieee754/s_cpow.c: New file.
* sysdeps/libm-ieee754/s_cpowf.c: New file.
* sysdeps/libm-ieee754/s_cpowl.c: New file.
* sysdeps/libm-ieee754/s_csin.c: New file.
* sysdeps/libm-ieee754/s_csinf.c: New file.
* sysdeps/libm-ieee754/s_csinl.c: New file.
* sysdeps/libm-ieee754/s_csqrt.c: New file.
* sysdeps/libm-ieee754/s_csqrtf.c: New file.
* sysdeps/libm-ieee754/s_csqrtl.c: New file.
* sysdeps/libm-ieee754/s_ctan.c: New file.
* sysdeps/libm-ieee754/s_ctanf.c: New file.
* sysdeps/libm-ieee754/s_ctanl.c: New file.
* sysdeps/libm-ieee754/s_ctanh.c: New file.
* sysdeps/libm-ieee754/s_ctanhf.c: New file.
* sysdeps/libm-ieee754/s_ctanhl.c: New file.
* time/strftime.c (memset_space): Increment pointer.
* time/strptime.c: Interpret year number 00-59 as 2000--2059.
Patches by Karl Heuer <kwzh@gnu.ai.mit.edu>.
1997-04-11 11:57 Miguel de Icaza <miguel@nuclecu.unam.mx>
* sysdeps/unix/sysv/linux/sparc/syscalls.list: Remove fork,
pipe, syscall.
1997-04-05 00:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_remquo.c: Change algorithm, although
probably still wrong.
* sysdeps/libm-ieee754/s_remquof.c: Likewise.
* sysdeps/libm-ieee754/s_remquol.c: Likewise.
* math/libm-test.c (remquo_test): Corrected.
1997-04-11 00:01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h (__rinttol, rinttol): New inline.
* sysdeps/m68k/fpu/s_rinttol.c: New file.
* sysdeps/m68k/fpu/s_rinttoll.c: New file.
* math/libm-test.c (remquo_test): Use check_long to test the
quotient.
(cbrt_test): Add epsilons for long double.
1997-04-10 18:48 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* locale/localeinfo.h: Update declaration of _nl_current.
1997-04-11 11:27 Ulrich Drepper <drepper@cygnus.com>
* rellnsh-sh: Use explicitely /bin/pwd to find the external program.
* math/Makefile (headers): Add fenv.h and fenvbits.h.
(libm-support): Add s_rountol, s_roundtoll, fclrexcpt, fgetexcptflg,
fraiseexcpt, fsetexcptflg, ftestexcept, fegetround, fesetround,
fegetenv, feholdexcpt, fesetenv, feupdateenv.
(libm-calls): Add s_round.
* math/fenv.h: New file.
* math/libm-test.c: Correct tests for s_rinttol and s_rinttoll.
Add roundtol_check and roundtoll_check.
* math/math.h: Pretty printing.
* sysdeps/i386/fpu/fclrexcpt.c: New file.
* sysdeps/i386/fpu/fegetenv.c: New file.
* sysdeps/i386/fpu/fegetround.c: New file.
* sysdeps/i386/fpu/feholdexcpt.c: New file.
* sysdeps/i386/fpu/fenvbits.h: New file.
* sysdeps/i386/fpu/fesetenv.c: New file.
* sysdeps/i386/fpu/fesetround.c: New file.
* sysdeps/i386/fpu/fgetexcptflg.c: New file.
* sysdeps/i386/fpu/fraiseexcpt.c: New file.
* sysdeps/i386/fpu/fsetexcptflg.c: New file.
* sysdeps/i386/fpu/ftestexcept.c: New file.
* sysdeps/stub/fclrexcpt.c: New file.
* sysdeps/stub/fegetenv.c: New file.
* sysdeps/stub/fegetround.c: New file.
* sysdeps/stub/feholdexcpt.c: New file.
* sysdeps/stub/fenvbits.h: New file.
* sysdeps/stub/fesetenv.c: New file.
* sysdeps/stub/fesetround.c: New file.
* sysdeps/stub/fgetexcptflg.c: New file.
* sysdeps/stub/fraiseexcpt.c: New file.
* sysdeps/stub/fsetexcptflg.c: New file.
* sysdeps/stub/ftestexcept.c: New file.
* sysdeps/libm-i387/s_trunc.S: New file.
* sysdeps/libm-i387/s_truncf.S: New file.
* sysdeps/libm-i387/s_truncl.S: New file.
* sysdeps/libm-ieee754/s_round.c: New file.
* sysdeps/libm-ieee754/s_roundf.c: New file.
* sysdeps/libm-ieee754/s_roundl.c: New file.
* sysdeps/libm-ieee754/s_ccosh.c: Rewritten to use fpclassify.
* sysdeps/libm-ieee754/s_ccoshf.c: Likewise.
* sysdeps/libm-ieee754/s_ccoshl.c: Likewise.
* sysdeps/libm-ieee754/s_cexp.c: Likewise.
* sysdeps/libm-ieee754/s_cexpf.c: Likewise.
* sysdeps/libm-ieee754/s_cexpl.c: Likewise.
* sysdeps/libm-ieee754/s_clog.c: Likewise.
* sysdeps/libm-ieee754/s_clogf.c: Likewise.
* sysdeps/libm-ieee754/s_clogl.c: Likewise.
* sysdeps/libm-ieee754/s_csinh.c. Likewise.
* sysdeps/libm-ieee754/s_csinhf.c. Likewise.
* sysdeps/libm-ieee754/s_csinhl.c. Likewise.
* 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.
* sysdeps/generic/memmem.c: Update copyright.
1997-04-10 20:22 Ulrich Drepper <drepper@cygnus.com>
* hurd/Makefile (sunrpc-headers): Add clnt.h.
Proposed by Thomas Bushnell <thomas@gnu.ai.mit.edu>.
1997-04-09 14:21 Miguel de Icaza <miguel@nuclecu.unam.mx>
* sysdeps/sparc/dl-machine.h: Bug fix: I was not loading
the proper value from the GOT. Pass argument block to
init function.
* sysdeps/sparc/elf/start.c: Call atexit (_fini) after calling
_init ().
* sysdeps/sparc/fpu_control.h: Fix the FPU constants. I got them
wrong the first time.
* sysdeps/sparc/setjmp.S: PIC code was clobbering a callee saved
register.
* sysdeps/sparc/udiv_qrnnd.S: Add type @function.
* sysdeps/unix/sysv/linux/sparc/init-first.h: Linux/SPARC specific
SYSDEP_CALL_INIT.
* sysdeps/unix/sysv/linux/sparc/signum.h: Remove definition for
NSIG and duplicated SIGIOT.
1997-04-05 00:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_remquo.c: Change algorithm, although
probably still wrong.
* sysdeps/libm-ieee754/s_remquof.c: Likewise.
* sysdeps/libm-ieee754/s_remquol.c: Likewise.
* math/libm-test.c (remquo_test): Corrected.
1997-04-03 18:35 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-tests): New target to run the tests to that
they are executed even if some subdir tests have failed.
(tests): Depend on parent-tests instead of running the tests
directly.
1997-04-03 12:26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
Clean up name space pollution in libnss_*.so:
* nis/nss_compat/compat-pwd.c, resolv/mapv4v6addr.h,
resolv/nss_dns/dns-host.c: Replace bzero by memset, bcopy by
memcpy and bcmp by memcmp to clean up namespace.
* nss/nss_db/db-XXX.c (internal_setent): Use __dbopen instead of
dbopen.
* nss/nss_db/db-alias.c (internal_setent): Likewise.
* nss/nss_db/db-netgrp.c (_nss_db_setnetgrent): Likewise.
* db/db/db.c [_LIBC]: Define __dbopen instead of dbopen and make
the latter a weak alias.
* db/db.h: Declare __dbopen.
* db/btree/btree.h [_LIBC]: Prepend __ to all mpool functions.
* db/mpool/mpool.c [_LIBC]: Define all external functions with __
prefix and make the old names weak aliases.
* db/mpool.h: Declare the new internal names.
1997-04-04 23:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdio-common/vfscanf.c: Fix scanning of hexadecimal fp number.
* stdio-common/tstscanf.c: Add test case for this.
1997-04-04 17:26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c: Fix more typos.
1997-04-03 17:15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (csinh_test): Fix test names.
(ccosh_test): Likewise.
* sysdeps/libm-ieee754/s_csinh.c: Use sinh function instead of
computing it directly.
* sysdeps/libm-ieee754/s_csinhf.c: Likewise.
* sysdeps/libm-ieee754/s_csinhl.c: Likewise.
* sysdeps/libm-ieee754/s_ccosh.c: Use cosh function instead of
computing it directly.
* sysdeps/libm-ieee754/s_ccoshf.c: Likewise.
* sysdeps/libm-ieee754/s_ccoshl.c: Likewise.
* sysdeps/libm-ieee754/s_cexp.c: Use internal exp function instead
of wrapper.
* sysdeps/libm-ieee754/s_cexpf.c: Likewise.
* sysdeps/libm-ieee754/s_cexpl.c: Likewise.
* sysdeps/m68k/fpu/s_cexp.c: Likewise. Correct handling of
special values. Avoid use of fsincos if all that is needed is the
quadrant.
* sysdeps/m68k/fpu/s_ccosh.c: New file.
* sysdeps/m68k/fpu/s_ccoshf.c: New file.
* sysdeps/m68k/fpu/s_ccoshl.c: New file.
* sysdeps/m68k/fpu/s_csinh.c: New file.
* sysdeps/m68k/fpu/s_csinhl.c: New file.
* sysdeps/m68k/fpu/s_csinhf.c: New file.
1997-04-03 10:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manual/Makefile (dir-add.texi): Simplify.
* libio/genops.c (_IO_flush_all_linebuffered): Don't flush on
1997-04-13 07:41:36 +08:00
|
|
|
@deftypefun {void *} memmem (const void *@var{haystack}, size_t @var{haystack-len},@*const void *@var{needle}, size_t @var{needle-len})
|
1995-02-18 09:27:10 +08:00
|
|
|
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
|
|
|
|
@var{haystack}.@refill
|
|
|
|
|
|
|
|
This function is a GNU extension.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun size_t strspn (const char *@var{string}, const char *@var{skipset})
|
|
|
|
The @code{strspn} (``string span'') function returns the length of the
|
|
|
|
initial substring of @var{string} that consists entirely of characters that
|
|
|
|
are members of the set specified by the string @var{skipset}. The order
|
|
|
|
of the characters in @var{skipset} is not important.
|
|
|
|
|
|
|
|
For example,
|
|
|
|
@smallexample
|
|
|
|
strspn ("hello, world", "abcdefghijklmnopqrstuvwxyz")
|
|
|
|
@result{} 5
|
|
|
|
@end smallexample
|
2001-02-11 09:50:24 +08:00
|
|
|
|
|
|
|
Note that ``character'' is here used in the sense of byte. In a string
|
|
|
|
using a multibyte character encoding (abstract) character consisting of
|
|
|
|
more than one byte are not treated as an entity. Each byte is treated
|
|
|
|
separately. The function is not locale-dependent.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun size_t wcsspn (const wchar_t *@var{wstring}, const wchar_t *@var{skipset})
|
|
|
|
The @code{wcsspn} (``wide character string span'') function returns the
|
|
|
|
length of the initial substring of @var{wstring} that consists entirely
|
|
|
|
of wide characters that are members of the set specified by the string
|
|
|
|
@var{skipset}. The order of the wide characters in @var{skipset} is not
|
|
|
|
important.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun size_t strcspn (const char *@var{string}, const char *@var{stopset})
|
|
|
|
The @code{strcspn} (``string complement span'') function returns the length
|
|
|
|
of the initial substring of @var{string} that consists entirely of characters
|
|
|
|
that are @emph{not} members of the set specified by the string @var{stopset}.
|
|
|
|
(In other words, it returns the offset of the first character in @var{string}
|
|
|
|
that is a member of the set @var{stopset}.)
|
|
|
|
|
|
|
|
For example,
|
|
|
|
@smallexample
|
|
|
|
strcspn ("hello, world", " \t\n,.;!?")
|
|
|
|
@result{} 5
|
|
|
|
@end smallexample
|
2001-02-11 09:50:24 +08:00
|
|
|
|
|
|
|
Note that ``character'' is here used in the sense of byte. In a string
|
|
|
|
using a multibyte character encoding (abstract) character consisting of
|
|
|
|
more than one byte are not treated as an entity. Each byte is treated
|
|
|
|
separately. The function is not locale-dependent.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun size_t wcscspn (const wchar_t *@var{wstring}, const wchar_t *@var{stopset})
|
|
|
|
The @code{wcscspn} (``wide character string complement span'') function
|
|
|
|
returns the length of the initial substring of @var{wstring} that
|
|
|
|
consists entirely of wide characters that are @emph{not} members of the
|
|
|
|
set specified by the string @var{stopset}. (In other words, it returns
|
|
|
|
the offset of the first character in @var{string} that is a member of
|
|
|
|
the set @var{stopset}.)
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun {char *} strpbrk (const char *@var{string}, const char *@var{stopset})
|
|
|
|
The @code{strpbrk} (``string pointer break'') function is related to
|
|
|
|
@code{strcspn}, except that it returns a pointer to the first character
|
|
|
|
in @var{string} that is a member of the set @var{stopset} instead of the
|
|
|
|
length of the initial substring. It returns a null pointer if no such
|
|
|
|
character from @var{stopset} is found.
|
|
|
|
|
|
|
|
@c @group Invalid outside the example.
|
|
|
|
For example,
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
strpbrk ("hello, world", " \t\n,.;!?")
|
|
|
|
@result{} ", world"
|
|
|
|
@end smallexample
|
|
|
|
@c @end group
|
2001-02-11 09:50:24 +08:00
|
|
|
|
|
|
|
Note that ``character'' is here used in the sense of byte. In a string
|
|
|
|
using a multibyte character encoding (abstract) character consisting of
|
|
|
|
more than one byte are not treated as an entity. Each byte is treated
|
|
|
|
separately. The function is not locale-dependent.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
|
|
|
@deftypefun {wchar_t *} wcspbrk (const wchar_t *@var{wstring}, const wchar_t *@var{stopset})
|
|
|
|
The @code{wcspbrk} (``wide character string pointer break'') function is
|
|
|
|
related to @code{wcscspn}, except that it returns a pointer to the first
|
|
|
|
wide character in @var{wstring} that is a member of the set
|
|
|
|
@var{stopset} instead of the length of the initial substring. It
|
|
|
|
returns a null pointer if no such character from @var{stopset} is found.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
2000-04-28 11:27:50 +08:00
|
|
|
|
|
|
|
@subsection Compatibility String Search Functions
|
|
|
|
|
|
|
|
@comment string.h
|
|
|
|
@comment BSD
|
|
|
|
@deftypefun {char *} index (const char *@var{string}, int @var{c})
|
|
|
|
@code{index} is another name for @code{strchr}; they are exactly the same.
|
|
|
|
New code should always use @code{strchr} since this name is defined in
|
|
|
|
@w{ISO C} while @code{index} is a BSD invention which never was available
|
|
|
|
on @w{System V} derived systems.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment string.h
|
|
|
|
@comment BSD
|
|
|
|
@deftypefun {char *} rindex (const char *@var{string}, int @var{c})
|
|
|
|
@code{rindex} is another name for @code{strrchr}; they are exactly the same.
|
|
|
|
New code should always use @code{strrchr} since this name is defined in
|
|
|
|
@w{ISO C} while @code{rindex} is a BSD invention which never was available
|
|
|
|
on @w{System V} derived systems.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
@node Finding Tokens in a String
|
1995-02-18 09:27:10 +08:00
|
|
|
@section Finding Tokens in a String
|
|
|
|
|
|
|
|
@cindex tokenizing strings
|
|
|
|
@cindex breaking a string into tokens
|
|
|
|
@cindex parsing tokens from a string
|
|
|
|
It's fairly common for programs to have a need to do some simple kinds
|
|
|
|
of lexical analysis and parsing, such as splitting a command string up
|
|
|
|
into tokens. You can do this with the @code{strtok} function, declared
|
|
|
|
in the header file @file{string.h}.
|
|
|
|
@pindex string.h
|
|
|
|
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
2001-02-11 09:50:24 +08:00
|
|
|
@deftypefun {char *} strtok (char *restrict @var{newstring}, const char *restrict @var{delimiters})
|
1995-02-18 09:27:10 +08:00
|
|
|
A string can be split into tokens by making a series of calls to the
|
|
|
|
function @code{strtok}.
|
|
|
|
|
|
|
|
The string to be split up is passed as the @var{newstring} argument on
|
|
|
|
the first call only. The @code{strtok} function uses this to set up
|
|
|
|
some internal state information. Subsequent calls to get additional
|
|
|
|
tokens from the same string are indicated by passing a null pointer as
|
|
|
|
the @var{newstring} argument. Calling @code{strtok} with another
|
|
|
|
non-null @var{newstring} argument reinitializes the state information.
|
|
|
|
It is guaranteed that no other library function ever calls @code{strtok}
|
|
|
|
behind your back (which would mess up this internal state information).
|
|
|
|
|
|
|
|
The @var{delimiters} argument is a string that specifies a set of delimiters
|
|
|
|
that may surround the token being extracted. All the initial characters
|
|
|
|
that are members of this set are discarded. The first character that is
|
|
|
|
@emph{not} a member of this set of delimiters marks the beginning of the
|
|
|
|
next token. The end of the token is found by looking for the next
|
|
|
|
character that is a member of the delimiter set. This character in the
|
|
|
|
original string @var{newstring} is overwritten by a null character, and the
|
|
|
|
pointer to the beginning of the token in @var{newstring} is returned.
|
|
|
|
|
|
|
|
On the next call to @code{strtok}, the searching begins at the next
|
|
|
|
character beyond the one that marked the end of the previous token.
|
|
|
|
Note that the set of delimiters @var{delimiters} do not have to be the
|
|
|
|
same on every call in a series of calls to @code{strtok}.
|
|
|
|
|
|
|
|
If the end of the string @var{newstring} is reached, or if the remainder of
|
|
|
|
string consists only of delimiter characters, @code{strtok} returns
|
|
|
|
a null pointer.
|
2001-02-11 09:50:24 +08:00
|
|
|
|
|
|
|
Note that ``character'' is here used in the sense of byte. In a string
|
|
|
|
using a multibyte character encoding (abstract) character consisting of
|
|
|
|
more than one byte are not treated as an entity. Each byte is treated
|
|
|
|
separately. The function is not locale-dependent.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment wchar.h
|
|
|
|
@comment ISO
|
2013-02-12 06:12:47 +08:00
|
|
|
@deftypefun {wchar_t *} wcstok (wchar_t *@var{newstring}, const wchar_t *@var{delimiters})
|
2001-02-11 09:50:24 +08:00
|
|
|
A string can be split into tokens by making a series of calls to the
|
|
|
|
function @code{wcstok}.
|
|
|
|
|
|
|
|
The string to be split up is passed as the @var{newstring} argument on
|
|
|
|
the first call only. The @code{wcstok} function uses this to set up
|
|
|
|
some internal state information. Subsequent calls to get additional
|
|
|
|
tokens from the same wide character string are indicated by passing a
|
|
|
|
null pointer as the @var{newstring} argument. Calling @code{wcstok}
|
|
|
|
with another non-null @var{newstring} argument reinitializes the state
|
|
|
|
information. It is guaranteed that no other library function ever calls
|
|
|
|
@code{wcstok} behind your back (which would mess up this internal state
|
|
|
|
information).
|
|
|
|
|
|
|
|
The @var{delimiters} argument is a wide character string that specifies
|
|
|
|
a set of delimiters that may surround the token being extracted. All
|
|
|
|
the initial wide characters that are members of this set are discarded.
|
|
|
|
The first wide character that is @emph{not} a member of this set of
|
|
|
|
delimiters marks the beginning of the next token. The end of the token
|
|
|
|
is found by looking for the next wide character that is a member of the
|
|
|
|
delimiter set. This wide character in the original wide character
|
|
|
|
string @var{newstring} is overwritten by a null wide character, and the
|
|
|
|
pointer to the beginning of the token in @var{newstring} is returned.
|
|
|
|
|
|
|
|
On the next call to @code{wcstok}, the searching begins at the next
|
|
|
|
wide character beyond the one that marked the end of the previous token.
|
|
|
|
Note that the set of delimiters @var{delimiters} do not have to be the
|
|
|
|
same on every call in a series of calls to @code{wcstok}.
|
|
|
|
|
|
|
|
If the end of the wide character string @var{newstring} is reached, or
|
|
|
|
if the remainder of string consists only of delimiter wide characters,
|
|
|
|
@code{wcstok} returns a null pointer.
|
|
|
|
|
|
|
|
Note that ``character'' is here used in the sense of byte. In a string
|
|
|
|
using a multibyte character encoding (abstract) character consisting of
|
|
|
|
more than one byte are not treated as an entity. Each byte is treated
|
|
|
|
separately. The function is not locale-dependent.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
@strong{Warning:} Since @code{strtok} and @code{wcstok} alter the string
|
|
|
|
they is parsing, you should always copy the string to a temporary buffer
|
|
|
|
before parsing it with @code{strtok}/@code{wcstok} (@pxref{Copying and
|
|
|
|
Concatenation}). If you allow @code{strtok} or @code{wcstok} to modify
|
|
|
|
a string that came from another part of your program, you are asking for
|
|
|
|
trouble; that string might be used for other purposes after
|
|
|
|
@code{strtok} or @code{wcstok} has modified it, and it would not have
|
|
|
|
the expected value.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
The string that you are operating on might even be a constant. Then
|
2001-02-11 09:50:24 +08:00
|
|
|
when @code{strtok} or @code{wcstok} tries to modify it, your program
|
|
|
|
will get a fatal signal for writing in read-only memory. @xref{Program
|
|
|
|
Error Signals}. Even if the operation of @code{strtok} or @code{wcstok}
|
|
|
|
would not require a modification of the string (e.g., if there is
|
2012-02-28 22:44:20 +08:00
|
|
|
exactly one token) the string can (and in the @glibcadj{} case will) be
|
2001-02-11 09:50:24 +08:00
|
|
|
modified.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
This is a special case of a general principle: if a part of a program
|
|
|
|
does not have as its purpose the modification of a certain data
|
|
|
|
structure, then it is error-prone to modify the data structure
|
|
|
|
temporarily.
|
|
|
|
|
2001-02-11 09:50:24 +08:00
|
|
|
The functions @code{strtok} and @code{wcstok} are not reentrant.
|
|
|
|
@xref{Nonreentrancy}, for a discussion of where and why reentrancy is
|
|
|
|
important.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
Here is a simple example showing the use of @code{strtok}.
|
|
|
|
|
|
|
|
@comment Yes, this example has been tested.
|
|
|
|
@smallexample
|
|
|
|
#include <string.h>
|
|
|
|
#include <stddef.h>
|
|
|
|
|
|
|
|
@dots{}
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
const char string[] = "words separated by spaces -- and, punctuation!";
|
1995-02-18 09:27:10 +08:00
|
|
|
const char delimiters[] = " .,;:!-";
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
char *token, *cp;
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
@dots{}
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
cp = strdupa (string); /* Make writable copy. */
|
|
|
|
token = strtok (cp, delimiters); /* token => "words" */
|
1995-02-18 09:27:10 +08:00
|
|
|
token = strtok (NULL, delimiters); /* token => "separated" */
|
|
|
|
token = strtok (NULL, delimiters); /* token => "by" */
|
|
|
|
token = strtok (NULL, delimiters); /* token => "spaces" */
|
|
|
|
token = strtok (NULL, delimiters); /* token => "and" */
|
|
|
|
token = strtok (NULL, delimiters); /* token => "punctuation" */
|
|
|
|
token = strtok (NULL, delimiters); /* token => NULL */
|
|
|
|
@end smallexample
|
1996-08-09 10:46:09 +08:00
|
|
|
|
2012-02-28 22:44:20 +08:00
|
|
|
@Theglibc{} contains two more functions for tokenizing a string
|
2001-02-11 09:50:24 +08:00
|
|
|
which overcome the limitation of non-reentrancy. They are only
|
|
|
|
available for multibyte character strings.
|
1996-08-09 10:46:09 +08:00
|
|
|
|
|
|
|
@comment string.h
|
|
|
|
@comment POSIX
|
|
|
|
@deftypefun {char *} strtok_r (char *@var{newstring}, const char *@var{delimiters}, char **@var{save_ptr})
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
Just like @code{strtok}, this function splits the string into several
|
|
|
|
tokens which can be accessed by successive calls to @code{strtok_r}.
|
|
|
|
The difference is that the information about the next token is stored in
|
|
|
|
the space pointed to by the third argument, @var{save_ptr}, which is a
|
|
|
|
pointer to a string pointer. Calling @code{strtok_r} with a null
|
|
|
|
pointer for @var{newstring} and leaving @var{save_ptr} between the calls
|
|
|
|
unchanged does the job without hindering reentrancy.
|
1996-08-09 10:46:09 +08:00
|
|
|
|
1999-11-02 07:01:49 +08:00
|
|
|
This function is defined in POSIX.1 and can be found on many systems
|
1996-08-09 10:46:09 +08:00
|
|
|
which support multi-threading.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment string.h
|
|
|
|
@comment BSD
|
|
|
|
@deftypefun {char *} strsep (char **@var{string_ptr}, const char *@var{delimiter})
|
1999-07-15 05:05:24 +08:00
|
|
|
This function has a similar functionality as @code{strtok_r} with the
|
|
|
|
@var{newstring} argument replaced by the @var{save_ptr} argument. The
|
|
|
|
initialization of the moving pointer has to be done by the user.
|
|
|
|
Successive calls to @code{strsep} move the pointer along the tokens
|
|
|
|
separated by @var{delimiter}, returning the address of the next token
|
|
|
|
and updating @var{string_ptr} to point to the beginning of the next
|
|
|
|
token.
|
|
|
|
|
|
|
|
One difference between @code{strsep} and @code{strtok_r} is that if the
|
|
|
|
input string contains more than one character from @var{delimiter} in a
|
|
|
|
row @code{strsep} returns an empty string for each pair of characters
|
|
|
|
from @var{delimiter}. This means that a program normally should test
|
|
|
|
for @code{strsep} returning an empty string before processing it.
|
1998-03-30 21:01:46 +08:00
|
|
|
|
1996-08-09 10:46:09 +08:00
|
|
|
This function was introduced in 4.3BSD and therefore is widely available.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
Here is how the above example looks like when @code{strsep} is used.
|
|
|
|
|
|
|
|
@comment Yes, this example has been tested.
|
|
|
|
@smallexample
|
|
|
|
#include <string.h>
|
|
|
|
#include <stddef.h>
|
|
|
|
|
|
|
|
@dots{}
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
const char string[] = "words separated by spaces -- and, punctuation!";
|
1996-08-09 10:46:09 +08:00
|
|
|
const char delimiters[] = " .,;:!-";
|
|
|
|
char *running;
|
|
|
|
char *token;
|
|
|
|
|
|
|
|
@dots{}
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
running = strdupa (string);
|
1996-08-09 10:46:09 +08:00
|
|
|
token = strsep (&running, delimiters); /* token => "words" */
|
|
|
|
token = strsep (&running, delimiters); /* token => "separated" */
|
|
|
|
token = strsep (&running, delimiters); /* token => "by" */
|
|
|
|
token = strsep (&running, delimiters); /* token => "spaces" */
|
1998-03-30 21:01:46 +08:00
|
|
|
token = strsep (&running, delimiters); /* token => "" */
|
|
|
|
token = strsep (&running, delimiters); /* token => "" */
|
|
|
|
token = strsep (&running, delimiters); /* token => "" */
|
1996-08-09 10:46:09 +08:00
|
|
|
token = strsep (&running, delimiters); /* token => "and" */
|
1998-03-30 21:01:46 +08:00
|
|
|
token = strsep (&running, delimiters); /* token => "" */
|
1996-08-09 10:46:09 +08:00
|
|
|
token = strsep (&running, delimiters); /* token => "punctuation" */
|
1998-03-30 21:01:46 +08:00
|
|
|
token = strsep (&running, delimiters); /* token => "" */
|
1996-08-09 10:46:09 +08:00
|
|
|
token = strsep (&running, delimiters); /* token => NULL */
|
|
|
|
@end smallexample
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
|
2001-01-07 07:27:53 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun {char *} basename (const char *@var{filename})
|
|
|
|
The GNU version of the @code{basename} function returns the last
|
2001-11-06 04:55:42 +08:00
|
|
|
component of the path in @var{filename}. This function is the preferred
|
2001-01-07 07:27:53 +08:00
|
|
|
usage, since it does not modify the argument, @var{filename}, and
|
|
|
|
respects trailing slashes. The prototype for @code{basename} can be
|
|
|
|
found in @file{string.h}. Note, this function is overriden by the XPG
|
|
|
|
version, if @file{libgen.h} is included.
|
|
|
|
|
|
|
|
Example of using GNU @code{basename}:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
int
|
|
|
|
main (int argc, char *argv[])
|
|
|
|
@{
|
|
|
|
char *prog = basename (argv[0]);
|
|
|
|
|
|
|
|
if (argc < 2)
|
|
|
|
@{
|
|
|
|
fprintf (stderr, "Usage %s <arg>\n", prog);
|
|
|
|
exit (1);
|
|
|
|
@}
|
|
|
|
|
|
|
|
@dots{}
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
@strong{Portability Note:} This function may produce different results
|
|
|
|
on different systems.
|
|
|
|
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment libgen.h
|
|
|
|
@comment XPG
|
2013-02-12 06:12:47 +08:00
|
|
|
@deftypefun {char *} basename (const char *@var{path})
|
2001-01-07 07:27:53 +08:00
|
|
|
This is the standard XPG defined @code{basename}. It is similar in
|
|
|
|
spirit to the GNU version, but may modify the @var{path} by removing
|
|
|
|
trailing '/' characters. If the @var{path} is made up entirely of '/'
|
|
|
|
characters, then "/" will be returned. Also, if @var{path} is
|
|
|
|
@code{NULL} or an empty string, then "." is returned. The prototype for
|
2001-01-07 10:00:21 +08:00
|
|
|
the XPG version can be found in @file{libgen.h}.
|
2001-01-07 07:27:53 +08:00
|
|
|
|
|
|
|
Example of using XPG @code{basename}:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
#include <libgen.h>
|
|
|
|
|
|
|
|
int
|
|
|
|
main (int argc, char *argv[])
|
|
|
|
@{
|
|
|
|
char *prog;
|
|
|
|
char *path = strdupa (argv[0]);
|
|
|
|
|
|
|
|
prog = basename (path);
|
|
|
|
|
|
|
|
if (argc < 2)
|
|
|
|
@{
|
|
|
|
fprintf (stderr, "Usage %s <arg>\n", prog);
|
|
|
|
exit (1);
|
|
|
|
@}
|
|
|
|
|
|
|
|
@dots{}
|
|
|
|
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment libgen.h
|
|
|
|
@comment XPG
|
|
|
|
@deftypefun {char *} dirname (char *@var{path})
|
|
|
|
The @code{dirname} function is the compliment to the XPG version of
|
|
|
|
@code{basename}. It returns the parent directory of the file specified
|
|
|
|
by @var{path}. If @var{path} is @code{NULL}, an empty string, or
|
|
|
|
contains no '/' characters, then "." is returned. The prototype for this
|
|
|
|
function can be found in @file{libgen.h}.
|
|
|
|
@end deftypefun
|
2000-04-28 11:27:50 +08:00
|
|
|
|
|
|
|
@node strfry
|
|
|
|
@section strfry
|
|
|
|
|
|
|
|
The function below addresses the perennial programming quandary: ``How do
|
|
|
|
I take good data in string form and painlessly turn it into garbage?''
|
|
|
|
This is actually a fairly simple task for C programmers who do not use
|
2012-02-28 22:44:20 +08:00
|
|
|
@theglibc{} string functions, but for programs based on @theglibc{},
|
|
|
|
the @code{strfry} function is the preferred method for
|
2000-04-28 11:27:50 +08:00
|
|
|
destroying string data.
|
|
|
|
|
|
|
|
The prototype for this function is in @file{string.h}.
|
|
|
|
|
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
2001-01-07 07:27:53 +08:00
|
|
|
@deftypefun {char *} strfry (char *@var{string})
|
2000-04-28 11:27:50 +08:00
|
|
|
|
|
|
|
@code{strfry} creates a pseudorandom anagram of a string, replacing the
|
|
|
|
input with the anagram in place. For each position in the string,
|
|
|
|
@code{strfry} swaps it with a position in the string selected at random
|
|
|
|
(from a uniform distribution). The two positions may be the same.
|
|
|
|
|
|
|
|
The return value of @code{strfry} is always @var{string}.
|
|
|
|
|
2012-02-28 22:44:20 +08:00
|
|
|
@strong{Portability Note:} This function is unique to @theglibc{}.
|
2000-04-28 11:27:50 +08:00
|
|
|
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
|
|
|
|
@node Trivial Encryption
|
|
|
|
@section Trivial Encryption
|
|
|
|
@cindex encryption
|
|
|
|
|
|
|
|
|
|
|
|
The @code{memfrob} function converts an array of data to something
|
|
|
|
unrecognizable and back again. It is not encryption in its usual sense
|
|
|
|
since it is easy for someone to convert the encrypted data back to clear
|
|
|
|
text. The transformation is analogous to Usenet's ``Rot13'' encryption
|
|
|
|
method for obscuring offensive jokes from sensitive eyes and such.
|
|
|
|
Unlike Rot13, @code{memfrob} works on arbitrary binary data, not just
|
|
|
|
text.
|
|
|
|
@cindex Rot13
|
|
|
|
|
|
|
|
For true encryption, @xref{Cryptographic Functions}.
|
|
|
|
|
|
|
|
This function is declared in @file{string.h}.
|
|
|
|
@pindex string.h
|
|
|
|
|
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun {void *} memfrob (void *@var{mem}, size_t @var{length})
|
|
|
|
|
|
|
|
@code{memfrob} transforms (frobnicates) each byte of the data structure
|
|
|
|
at @var{mem}, which is @var{length} bytes long, by bitwise exclusive
|
|
|
|
oring it with binary 00101010. It does the transformation in place and
|
|
|
|
its return value is always @var{mem}.
|
|
|
|
|
|
|
|
Note that @code{memfrob} a second time on the same data structure
|
|
|
|
returns it to its original state.
|
|
|
|
|
|
|
|
This is a good function for hiding information from someone who doesn't
|
|
|
|
want to see it or doesn't want to see it very much. To really prevent
|
|
|
|
people from retrieving the information, use stronger encryption such as
|
|
|
|
that described in @xref{Cryptographic Functions}.
|
|
|
|
|
2012-02-28 22:44:20 +08:00
|
|
|
@strong{Portability Note:} This function is unique to @theglibc{}.
|
2000-04-28 11:27:50 +08:00
|
|
|
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
@node Encode Binary Data
|
|
|
|
@section Encode Binary Data
|
|
|
|
|
|
|
|
To store or transfer binary data in environments which only support text
|
|
|
|
one has to encode the binary data by mapping the input bytes to
|
|
|
|
characters in the range allowed for storing or transfering. SVID
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
systems (and nowadays XPG compliant systems) provide minimal support for
|
|
|
|
this task.
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
|
|
|
|
@comment stdlib.h
|
|
|
|
@comment XPG
|
|
|
|
@deftypefun {char *} l64a (long int @var{n})
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
This function encodes a 32-bit input value using characters from the
|
2004-07-15 01:11:14 +08:00
|
|
|
basic character set. It returns a pointer to a 7 character buffer which
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
contains an encoded version of @var{n}. To encode a series of bytes the
|
|
|
|
user must copy the returned string to a destination buffer. It returns
|
|
|
|
the empty string if @var{n} is zero, which is somewhat bizarre but
|
|
|
|
mandated by the standard.@*
|
|
|
|
@strong{Warning:} Since a static buffer is used this function should not
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
be used in multi-threaded programs. There is no thread-safe alternative
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
to this function in the C library.@*
|
|
|
|
@strong{Compatibility Note:} The XPG standard states that the return
|
|
|
|
value of @code{l64a} is undefined if @var{n} is negative. In the GNU
|
|
|
|
implementation, @code{l64a} treats its argument as unsigned, so it will
|
|
|
|
return a sensible encoding for any nonzero @var{n}; however, portable
|
|
|
|
programs should not rely on this.
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
To encode a large buffer @code{l64a} must be called in a loop, once for
|
|
|
|
each 32-bit word of the buffer. For example, one could do something
|
|
|
|
like this:
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
|
|
|
|
@smallexample
|
|
|
|
char *
|
|
|
|
encode (const void *buf, size_t len)
|
|
|
|
@{
|
|
|
|
/* @r{We know in advance how long the buffer has to be.} */
|
|
|
|
unsigned char *in = (unsigned char *) buf;
|
|
|
|
char *out = malloc (6 + ((len + 3) / 4) * 6 + 1);
|
2004-07-15 01:11:14 +08:00
|
|
|
char *cp = out, *p;
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
|
|
|
|
/* @r{Encode the length.} */
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
/* @r{Using `htonl' is necessary so that the data can be}
|
2004-07-15 01:11:14 +08:00
|
|
|
@r{decoded even on machines with different byte order.}
|
|
|
|
@r{`l64a' can return a string shorter than 6 bytes, so }
|
|
|
|
@r{we pad it with encoding of 0 (}'.'@r{) at the end by }
|
|
|
|
@r{hand.} */
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
|
2004-07-15 01:11:14 +08:00
|
|
|
p = stpcpy (cp, l64a (htonl (len)));
|
|
|
|
cp = mempcpy (p, "......", 6 - (p - cp));
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
|
|
|
|
while (len > 3)
|
|
|
|
@{
|
|
|
|
unsigned long int n = *in++;
|
|
|
|
n = (n << 8) | *in++;
|
|
|
|
n = (n << 8) | *in++;
|
|
|
|
n = (n << 8) | *in++;
|
|
|
|
len -= 4;
|
2004-07-15 01:11:14 +08:00
|
|
|
p = stpcpy (cp, l64a (htonl (n)));
|
|
|
|
cp = mempcpy (p, "......", 6 - (p - cp));
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@}
|
|
|
|
if (len > 0)
|
|
|
|
@{
|
|
|
|
unsigned long int n = *in++;
|
|
|
|
if (--len > 0)
|
|
|
|
@{
|
|
|
|
n = (n << 8) | *in++;
|
|
|
|
if (--len > 0)
|
|
|
|
n = (n << 8) | *in;
|
|
|
|
@}
|
2004-07-15 01:11:14 +08:00
|
|
|
cp = stpcpy (cp, l64a (htonl (n)));
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@}
|
|
|
|
*cp = '\0';
|
|
|
|
return out;
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
It is strange that the library does not provide the complete
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
functionality needed but so be it.
|
|
|
|
|
|
|
|
@end deftypefun
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
To decode data produced with @code{l64a} the following function should be
|
|
|
|
used.
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment stdlib.h
|
|
|
|
@comment XPG
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
@deftypefun {long int} a64l (const char *@var{string})
|
|
|
|
The parameter @var{string} should contain a string which was produced by
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
a call to @code{l64a}. The function processes at least 6 characters of
|
|
|
|
this string, and decodes the characters it finds according to the table
|
|
|
|
below. It stops decoding when it finds a character not in the table,
|
|
|
|
rather like @code{atoi}; if you have a buffer which has been broken into
|
|
|
|
lines, you must be careful to skip over the end-of-line characters.
|
|
|
|
|
|
|
|
The decoded number is returned as a @code{long int} value.
|
Update.
1997-04-21 13:25 Ulrich Drepper <drepper@cygnus.com>
* 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.
* stdlib/stdlib.h: Pretty printing.
* sysdeps/i386/fpu/__math.h: Fix typo.
* sysdeps/libm-ieee754/s_nearbyintf.c: Correctly name function.
* sysdeps/libm-ieee754/s_nearbyintl.c: Likewise.
1997-04-19 22:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_pow.c: Rewrite handling of integral exponent.
1997-04-18 19:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Define optimized versions of
isgreater, isgreaterequal, isless, islessequal, islessgreater, and
isunordered.
1997-04-20 01:28 Richard Henderson <rth@tamu.edu>
* rellns-sh: Handle files in the same directory correctly.
1997-04-20 11:22 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c: Place ALIGN instruction at correct positions.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-04-19 17:12 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Don't automatically ignore .c files if the .S or .s file
is ignored.
* csu/Makefile (distribute): Add defs.awk.
1997-04-19 15:39 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/shmat.c: Update to XPG4.2 interface.
* sysdeps/stub/shmdt.c: Likewise.
Reported by Thomas Bushnell, n/BSG.
1997-04-19 13:22 Ulrich Drepper <drepper@cygnus.com>
* manual/stdio.texi: Add description of printf_size and
printf_size_info. Partly based on the documentation by Larry McVoy.
1997-04-19 02:21 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf_size.c (printf_size): Correct values for
`units'.
Report by Larry McVoy <lm@neteng.engr.sgi.com>.
* stdio-common/tst-printfsz.c: New file.
* stdio-common/Makefile (tests): Add tst-printfsz.c.
(CFLAGS-tst-printfsz.c): Define to prevent warnings about format
strings.
1997-04-18 15:48 Ulrich Drepper <drepper@cygnus.com>
* 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 <miquels@cistron.nl>.
1997-04-17 17:57 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile (headers): Add mathbits.h.
1997-04-16 21:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Add inlined sincos{,l,f}.
* sysdeps/m68k/fpu/s_sincos.c: New file.
* sysdeps/m68k/fpu/s_sincosf.c: New file.
* sysdeps/m68k/fpu/s_sincosl.c: New file.
* sysdeps/libm-ieee754/e_scalb.c: Use internal names of the
functions.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_ctanh.c: Use isfinite instead of finite.
* sysdeps/libm-ieee754/s_ctanhf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanhl.c: Likewise.
* sysdeps/libm-ieee754/s_ctan.c: Likewise.
* sysdeps/libm-ieee754/s_ctanf.c: Likewise.
* sysdeps/libm-ieee754/s_ctanl.c: Likewise. Fix type of `res'.
1997-04-18 11:21 Ulrich Drepper <drepper@cygnus.com>
* shadow/fgetspent_r.c: Set *RESULT to NULL before returning error.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
1997-04-21 19:38:46 +08:00
|
|
|
@end deftypefun
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
|
Update.
1997-10-29 21:20 Ulrich Drepper <drepper@cygnus.com>
* libio/strops.c (_IO_str_seekoff): If mode is zero and the read/write
pointers are tied set mode according to current stream mode.
* include/features.h [_GNU_SOURCE] (_POSIX_C_SOURCE): Define to
199506L.
Define _XOPEN_SOURCE to 500 if _POSIX_C_SOURCE is defined.
* manual/creature.texi: Describe this.
* manual/socket.texi: Describe connect, accept, send, sendmsg, sendto,
recv, recvfrom, and recvmsg as cancelation points.
* sysdeps/unix/inet/syscalls.list: Add __libc_* names for these
functions.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Make-dist (try-sysdeps): Don't look for stub files anymore.
* manual/maint.texi (Porting): Remove another reference to stub
directory.
* sysdeps/unix/bsd/sun/sethostid.c: Include stub version from
generic subdir.
* sysdeps/unix/sysv/irix4/reboot.c: Likewise.
* sysdeps/unix/sysv/irix4/swapon.c: Likewise
1997-10-29 03:54 Ulrich Drepper <drepper@cygnus.com>
* resolv/nss_dns/dns-host.c: Change variable pointed to by h_errnop
in all error cases (PR 244).
1997-10-29 00:56 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c: Fix handling of expressions like "*/" (PR 325).
Optimize by using mempcpy.
1997-10-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* po/Makefile ($(mo-installed)): Don't fail during installation if
files don't exist (might happen if msgfmt doesn't exist) (PR 328).
Suggested by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
1997-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bits/errno.h (ENOMSG): Define it.
Pointed out by Klaus Espenlaub
<kespenla@hydra.informatik.uni-ulm.de> (PR libc/259).
1997-10-28 17:40 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_cbrt.c: Testing the returned exponent for
zero isn't enough to determine illegal arguments.
* sysdeps/libm-ieee754/s_cbrtf.c: Likewise.
* sysdeps/libm-ieee754/s_cbrtl.c: Likewise.
1997-10-28 17:14 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi (S_ISVTX): Describe that it is available with
_BSD_SOURCE only.
Reported by Jochen Hein <jochen.hein@delphi.central.de>.
1997-10-28 04:26 Ulrich Drepper <drepper@cygnus.com>
* time/tzfile.c (__tzfile_compute): Use negated value of offset for
timezone variable.
* time/tzset.c (tz_compute): Likewise.
Reported by Erik Troan <ewt@redhat.com>.
1997-10-28 02:51 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Correct prototype in readdir_r description.
Reported by Jim Meyering <meyering@eng.ascend.com>.
1997-10-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (cbrt_test): Add test for cbrt(0.970299).
1997-10-26 19:39 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/l64a.c: Produce a useful result for n < 0.
* stdlib/a64l.c: Use unsigned type for working variable.
* manual/string.texi (general): Grammar, typo, overfull fixes.
(strlen): Insert warning about sizeof(char *).
(a64l, l64a): Make documentation agree with implementation.
* libio/iofdopen.c: Use _IO_FILE_complete, not _IO_FILE_plus.
* posix/unistd.h: Add prototypes for __pread, __pread64, __pwrite
1997-10-30 04:33:40 +08:00
|
|
|
The @code{l64a} and @code{a64l} functions use a base 64 encoding, in
|
|
|
|
which each character of an encoded string represents six bits of an
|
|
|
|
input word. These symbols are used for the base 64 digits:
|
|
|
|
|
|
|
|
@multitable {xxxxx} {xxx} {xxx} {xxx} {xxx} {xxx} {xxx} {xxx} {xxx}
|
|
|
|
@item @tab 0 @tab 1 @tab 2 @tab 3 @tab 4 @tab 5 @tab 6 @tab 7
|
|
|
|
@item 0 @tab @code{.} @tab @code{/} @tab @code{0} @tab @code{1}
|
|
|
|
@tab @code{2} @tab @code{3} @tab @code{4} @tab @code{5}
|
|
|
|
@item 8 @tab @code{6} @tab @code{7} @tab @code{8} @tab @code{9}
|
|
|
|
@tab @code{A} @tab @code{B} @tab @code{C} @tab @code{D}
|
|
|
|
@item 16 @tab @code{E} @tab @code{F} @tab @code{G} @tab @code{H}
|
|
|
|
@tab @code{I} @tab @code{J} @tab @code{K} @tab @code{L}
|
|
|
|
@item 24 @tab @code{M} @tab @code{N} @tab @code{O} @tab @code{P}
|
|
|
|
@tab @code{Q} @tab @code{R} @tab @code{S} @tab @code{T}
|
|
|
|
@item 32 @tab @code{U} @tab @code{V} @tab @code{W} @tab @code{X}
|
|
|
|
@tab @code{Y} @tab @code{Z} @tab @code{a} @tab @code{b}
|
|
|
|
@item 40 @tab @code{c} @tab @code{d} @tab @code{e} @tab @code{f}
|
|
|
|
@tab @code{g} @tab @code{h} @tab @code{i} @tab @code{j}
|
|
|
|
@item 48 @tab @code{k} @tab @code{l} @tab @code{m} @tab @code{n}
|
|
|
|
@tab @code{o} @tab @code{p} @tab @code{q} @tab @code{r}
|
|
|
|
@item 56 @tab @code{s} @tab @code{t} @tab @code{u} @tab @code{v}
|
|
|
|
@tab @code{w} @tab @code{x} @tab @code{y} @tab @code{z}
|
|
|
|
@end multitable
|
|
|
|
|
|
|
|
This encoding scheme is not standard. There are some other encoding
|
|
|
|
methods which are much more widely used (UU encoding, MIME encoding).
|
|
|
|
Generally, it is better to use one of these encodings.
|
|
|
|
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@node Argz and Envz Vectors
|
|
|
|
@section Argz and Envz Vectors
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@cindex argz vectors (string vectors)
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@cindex string vectors, null-character separated
|
|
|
|
@cindex argument vectors, null-character separated
|
|
|
|
@dfn{argz vectors} are vectors of strings in a contiguous block of
|
|
|
|
memory, each element separated from its neighbors by null-characters
|
|
|
|
(@code{'\0'}).
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@cindex envz vectors (environment vectors)
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@cindex environment vectors, null-character separated
|
|
|
|
@dfn{Envz vectors} are an extension of argz vectors where each element is a
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
name-value pair, separated by a @code{'='} character (as in a Unix
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
environment).
|
|
|
|
|
|
|
|
@menu
|
|
|
|
* Argz Functions:: Operations on argz vectors.
|
|
|
|
* Envz Functions:: Additional operations on environment vectors.
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
@node Argz Functions, Envz Functions, , Argz and Envz Vectors
|
|
|
|
@subsection Argz Functions
|
|
|
|
|
|
|
|
Each argz vector is represented by a pointer to the first element, of
|
|
|
|
type @code{char *}, and a size, of type @code{size_t}, both of which can
|
|
|
|
be initialized to @code{0} to represent an empty argz vector. All argz
|
|
|
|
functions accept either a pointer and a size argument, or pointers to
|
|
|
|
them, if they will be modified.
|
|
|
|
|
|
|
|
The argz functions use @code{malloc}/@code{realloc} to allocate/grow
|
|
|
|
argz vectors, and so any argz vector creating using these functions may
|
|
|
|
be freed by using @code{free}; conversely, any argz function that may
|
|
|
|
grow a string expects that string to have been allocated using
|
|
|
|
@code{malloc} (those argz functions that only examine their arguments or
|
|
|
|
modify them in place will work on any sort of memory).
|
|
|
|
@xref{Unconstrained Allocation}.
|
|
|
|
|
|
|
|
All argz functions that do memory allocation have a return type of
|
|
|
|
@code{error_t}, and return @code{0} for success, and @code{ENOMEM} if an
|
|
|
|
allocation error occurs.
|
|
|
|
|
|
|
|
@pindex argz.h
|
|
|
|
These functions are declared in the standard include file @file{argz.h}.
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment argz.h
|
|
|
|
@comment GNU
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@deftypefun {error_t} argz_create (char *const @var{argv}[], char **@var{argz}, size_t *@var{argz_len})
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
The @code{argz_create} function converts the Unix-style argument vector
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@var{argv} (a vector of pointers to normal C strings, terminated by
|
|
|
|
@code{(char *)0}; @pxref{Program Arguments}) into an argz vector with
|
|
|
|
the same elements, which is returned in @var{argz} and @var{argz_len}.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment argz.h
|
|
|
|
@comment GNU
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@deftypefun {error_t} argz_create_sep (const char *@var{string}, int @var{sep}, char **@var{argz}, size_t *@var{argz_len})
|
|
|
|
The @code{argz_create_sep} function converts the null-terminated string
|
|
|
|
@var{string} into an argz vector (returned in @var{argz} and
|
2000-02-22 17:00:35 +08:00
|
|
|
@var{argz_len}) by splitting it into elements at every occurrence of the
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
character @var{sep}.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment argz.h
|
|
|
|
@comment GNU
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@deftypefun {size_t} argz_count (const char *@var{argz}, size_t @var{arg_len})
|
|
|
|
Returns the number of elements in the argz vector @var{argz} and
|
|
|
|
@var{argz_len}.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment argz.h
|
|
|
|
@comment GNU
|
2013-02-12 06:12:47 +08:00
|
|
|
@deftypefun {void} argz_extract (const char *@var{argz}, size_t @var{argz_len}, char **@var{argv})
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
The @code{argz_extract} function converts the argz vector @var{argz} and
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@var{argz_len} into a Unix-style argument vector stored in @var{argv},
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
by putting pointers to every element in @var{argz} into successive
|
|
|
|
positions in @var{argv}, followed by a terminator of @code{0}.
|
|
|
|
@var{Argv} must be pre-allocated with enough space to hold all the
|
|
|
|
elements in @var{argz} plus the terminating @code{(char *)0}
|
|
|
|
(@code{(argz_count (@var{argz}, @var{argz_len}) + 1) * sizeof (char *)}
|
|
|
|
bytes should be enough). Note that the string pointers stored into
|
|
|
|
@var{argv} point into @var{argz}---they are not copies---and so
|
|
|
|
@var{argz} must be copied if it will be changed while @var{argv} is
|
|
|
|
still active. This function is useful for passing the elements in
|
|
|
|
@var{argz} to an exec function (@pxref{Executing a File}).
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment argz.h
|
|
|
|
@comment GNU
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@deftypefun {void} argz_stringify (char *@var{argz}, size_t @var{len}, int @var{sep})
|
|
|
|
The @code{argz_stringify} converts @var{argz} into a normal string with
|
|
|
|
the elements separated by the character @var{sep}, by replacing each
|
|
|
|
@code{'\0'} inside @var{argz} (except the last one, which terminates the
|
|
|
|
string) with @var{sep}. This is handy for printing @var{argz} in a
|
|
|
|
readable manner.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment argz.h
|
|
|
|
@comment GNU
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@deftypefun {error_t} argz_add (char **@var{argz}, size_t *@var{argz_len}, const char *@var{str})
|
|
|
|
The @code{argz_add} function adds the string @var{str} to the end of the
|
|
|
|
argz vector @code{*@var{argz}}, and updates @code{*@var{argz}} and
|
|
|
|
@code{*@var{argz_len}} accordingly.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment argz.h
|
|
|
|
@comment GNU
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@deftypefun {error_t} argz_add_sep (char **@var{argz}, size_t *@var{argz_len}, const char *@var{str}, int @var{delim})
|
|
|
|
The @code{argz_add_sep} function is similar to @code{argz_add}, but
|
2000-02-22 17:00:35 +08:00
|
|
|
@var{str} is split into separate elements in the result at occurrences of
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
the character @var{delim}. This is useful, for instance, for
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
adding the components of a Unix search path to an argz vector, by using
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
a value of @code{':'} for @var{delim}.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment argz.h
|
|
|
|
@comment GNU
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@deftypefun {error_t} argz_append (char **@var{argz}, size_t *@var{argz_len}, const char *@var{buf}, size_t @var{buf_len})
|
|
|
|
The @code{argz_append} function appends @var{buf_len} bytes starting at
|
|
|
|
@var{buf} to the argz vector @code{*@var{argz}}, reallocating
|
|
|
|
@code{*@var{argz}} to accommodate it, and adding @var{buf_len} to
|
|
|
|
@code{*@var{argz_len}}.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment argz.h
|
|
|
|
@comment GNU
|
2006-09-12 19:44:01 +08:00
|
|
|
@deftypefun {void} argz_delete (char **@var{argz}, size_t *@var{argz_len}, char *@var{entry})
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
If @var{entry} points to the beginning of one of the elements in the
|
|
|
|
argz vector @code{*@var{argz}}, the @code{argz_delete} function will
|
|
|
|
remove this entry and reallocate @code{*@var{argz}}, modifying
|
|
|
|
@code{*@var{argz}} and @code{*@var{argz_len}} accordingly. Note that as
|
|
|
|
destructive argz functions usually reallocate their argz argument,
|
|
|
|
pointers into argz vectors such as @var{entry} will then become invalid.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment argz.h
|
|
|
|
@comment GNU
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@deftypefun {error_t} argz_insert (char **@var{argz}, size_t *@var{argz_len}, char *@var{before}, const char *@var{entry})
|
|
|
|
The @code{argz_insert} function inserts the string @var{entry} into the
|
|
|
|
argz vector @code{*@var{argz}} at a point just before the existing
|
|
|
|
element pointed to by @var{before}, reallocating @code{*@var{argz}} and
|
|
|
|
updating @code{*@var{argz}} and @code{*@var{argz_len}}. If @var{before}
|
|
|
|
is @code{0}, @var{entry} is added to the end instead (as if by
|
|
|
|
@code{argz_add}). Since the first element is in fact the same as
|
|
|
|
@code{*@var{argz}}, passing in @code{*@var{argz}} as the value of
|
|
|
|
@var{before} will result in @var{entry} being inserted at the beginning.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment argz.h
|
|
|
|
@comment GNU
|
2013-02-12 06:12:47 +08:00
|
|
|
@deftypefun {char *} argz_next (const char *@var{argz}, size_t @var{argz_len}, const char *@var{entry})
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
The @code{argz_next} function provides a convenient way of iterating
|
|
|
|
over the elements in the argz vector @var{argz}. It returns a pointer
|
|
|
|
to the next element in @var{argz} after the element @var{entry}, or
|
|
|
|
@code{0} if there are no elements following @var{entry}. If @var{entry}
|
|
|
|
is @code{0}, the first element of @var{argz} is returned.
|
|
|
|
|
|
|
|
This behavior suggests two styles of iteration:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
char *entry = 0;
|
|
|
|
while ((entry = argz_next (@var{argz}, @var{argz_len}, entry)))
|
|
|
|
@var{action};
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
(the double parentheses are necessary to make some C compilers shut up
|
|
|
|
about what they consider a questionable @code{while}-test) and:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
char *entry;
|
|
|
|
for (entry = @var{argz};
|
|
|
|
entry;
|
|
|
|
entry = argz_next (@var{argz}, @var{argz_len}, entry))
|
|
|
|
@var{action};
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
Note that the latter depends on @var{argz} having a value of @code{0} if
|
|
|
|
it is empty (rather than a pointer to an empty block of memory); this
|
|
|
|
invariant is maintained for argz vectors created by the functions here.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-19 19:38 Ulrich Drepper <drepper@cygnus.com>
* features.h: Define __STDC_IEC_559__ and _STDC_IEC_559_COMPLEX__.
* elf/dl-minimal.c (__dcgettext): Remove assertion.
* inet/rcmd.c: Correct a few typos. Reported by Eric Troan.
* manual/Makefile (distribute): Add dir.
* manual/dir: New file.
* math/Makefile (libm-support): Rename s_rinttol, s_rinttoll,
s_roundtol, and s_roundtoll to s_lrint, s_llrint, s_lround,
and s_llround respectively.
(libm-calls): Add e_gamma_r.
* math/libm-test.c (check_int_exc): New function.
(signbit_test): Remove test for sign of NaN.
(gamma_test): Clear exception after test of existence.
Correct tests and and epsilons.
(lgamma_test): Likewise.
(ilogb_test): Correct all tests.
(scalb_test): Rewrite.
(rinttol_test): Rename to lrint_test and correct tests.
(rinttoll_test): Likewise.
(roundtol_test): Likewise.
(roundtoll_test): Likewise.
(main): Call lrint/lround functions instead of rinttol/roundtol.
* math/math.h: Change prototypes for rinttol/roundtol.
* math/mathcalls.h: Rearrange prototypes according to ISO C9X draft.
* sysdeps/generic/mathbits.h: Define FP_ILOGB0 and FP_ILOGBNAN.
* sysdeps/i386/mathbits.h: Likewise.
* sysdeps/libm-i387/e_scalb.S: Handle special cases correctly.
* sysdeps/libm-i387/e_scalbf.S: Likewise.
* sysdeps/libm-i387/e_scalbl.S: Likewise.
* sysdeps/libm-i387/s_asinh.S: Handle -inf correctly.
* sysdeps/libm-i387/s_asinhf.S: Likewise.
* sysdeps/libm-i387/s_asinhl.S: Likewise.
* sysdeps/libm-i387/s_ilogb.S: Optimize.
* sysdeps/libm-i387/s_ilogbf.S: Likewise.
* sysdeps/libm-i387/s_ilogbl.S: Likewise.
* sysdeps/libm-i387/s_rinttol.S: Rename to...
* sysdeps/libm-i387/s_lrint.S: ...this.
* sysdeps/libm-i387/s_rinttoll.S: Rename to...
* sysdeps/libm-i387/s_llrint.S: ...this.
* sysdeps/libm-i387/s_remquo.S: Correctly set sign of remainder.
* sysdeps/libm-i387/s_remquof.S: Likewise.
* sysdeps/libm-i387/s_remquol.S: Likewise.
* sysdeps/libm-i387/e_gamma_r.c: New file. Implementation of gamma
function according to ISO C.
* sysdeps/libm-i387/e_gammaf_r.c: New file.
* sysdeps/libm-i387/e_gammal_r.c: New file.
* sysdeps/libm-i387/e_lgamma_r.c: Don't let optimize compile the
generation of exceptions away.
* sysdeps/libm-i387/e_lgammaf_r.c: Likewise.
* sysdeps/libm-i387/k_standard.c: Correct return value for infinity
points of gamma function when not SVID mode.
* sysdeps/libm-i387/s_rinttoll.c: Renamed to...
* sysdeps/libm-i387/s_llrint.c: ...this.
* sysdeps/libm-i387/s_rinttol.c: Renamed to...
* sysdeps/libm-i387/s_lrint.c: ...this.
* sysdeps/libm-i387/s_roundtoll.c: Renamed to...
* sysdeps/libm-i387/s_llround.c: ...this.
* sysdeps/libm-i387/s_roundtol.c: Renamed to...
* sysdeps/libm-i387/s_lround.c: ..this.
* sysdeps/libm-i387/s_scalbn.c: Change second parameter according to
ISO C.
* sysdeps/libm-i387/s_scalbnf.c: Likewise.
* sysdeps/libm-i387/s_scalbnl.c: Likewise.
* sysdeps/libm-i387/w_gamma.c: Call __ieee754_gamma_r if library
mode is not _SVID_.
* sysdeps/libm-i387/w_gammaf.c: Likewise.
* sysdeps/libm-i387/w_gammal.c: Likewise.
* sysdeps/m68k/fpu/__math.h: Rename __rinttol to __lrint and
rinttol to lrint.
* sysdeps/m68k/fpu/s_rinttol.c: Renamed to...
* sysdeps/m68k/fpu/s_lrint.c: ...this.
* sysdeps/m68k/fpu/s_rinttoll.c: Renamed to...
* sysdeps/m68k/fpu/s_llrint.c: ...this.
* md5-crypt/Makefile: Link md5test program with md5.o.
* stdio-common/temptest.c: Don't use __stdio_gen_tempname which
is not exported by the libc.so.
* stdio-common/vfscanf.c: Correct scanning of strings after last
change.
* sysdeps/unix/sysv/linux/i386/sysdep.S: Use .comm to define errno.
1997-06-19 07:37 H.J. Lu <hjl@gnu.ai.mit.edu>
* time/tzfile.c (__tzfile_read): Store getc () return in int.
1997-06-13 Miles Bader <miles@gnu.ai.mit.edu>
* argp/argp-parse.c (argp_version_parser): Include `(PROGRAM ERROR)' in
the no-version error text to indicate that something's fucked.
[!_] (N_): New macro.
(argp_default_options, argp_version_options): Wrap doc strings in N_().
1997-06-12 Miles Bader <miles@gnu.ai.mit.edu>
* argp/argp-parse.c (parser_parse_opt): Detect and report unhandled
options here.
(parser_parse_arg): Handle ARGP_KEY_ARGS here.
Adjust NEXT pointer back if we fail to parse anything.
(parser_parse_next): Simplify arg code. Leave state NEXT frobbing
to parser_parse_arg.
1997-06-11 Miles Bader <miles@gnu.ai.mit.edu>
* argp/argp.h (ARGP_KEY_ARGS, ARGP_KEY_FINI): New macros.
* argp/argp-parse.c (parser_finalize): Do another pass over the
parsers with ARGP_KEY_FINI.
1997-06-18 Miles Bader <miles@gnu.ai.mit.edu>
* string/Makefile (routines): Add argz-replace.
1997-06-16 00:16 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (Argz Functions): Document argz_replace.
1997-06-12 Miles Bader <miles@gnu.ai.mit.edu>
* string/argz.h (__argz_replace, argz_replace): New declarations.
* string/argz-replace.c: New file.
1997-06-11 Miles Bader <miles@gnu.ai.mit.edu>
* manual/argp.texi (Argp Special Keys): Document ARGP_KEY_ARGS.
1997-06-16 23:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig (libc-map): Remove definition.
* Makerules (libc-map): Define it here, using the full name.
(load-map-file): Remove case for empty $(..).
($(common-objpfx)libc.so): Revert last change.
1997-06-17 22:18 Mark Kettenis <kettenis@phys.uva.nl>
* login/programs/utmpd.c (main): Improve signal handling.
* login/programs/request.c (do_setutent, do_updwtmp):
Allow arbitrary length filenames.
* login/programs/utmpd.h (setutent_request, updwtmp_request):
Get rid of fixed length file field.
* login/utmp_daemon.c (do_setutent, do_updwtmp):
Allow arbitrary length filenames.
* login/programs/request.c (do_pututline):
Don't fail if connection->position is -1 on entry.
1997-06-15 16:32 Mark Kettenis <kettenis@phys.uva.nl>
* login/utmp_file.c (updwtmp_file): Use the same method for
appending an entry as in pututline_file.
1997-06-11 18:59 Mark Kettenis <kettenis@phys.uva.nl>
* login/utmp_file.c (getutent_r_file):
Use read lock instead of write lock.
(getutline_r_file, internal_getut_r): Lock utmp file.
(updwtmp_file): Use fcntl to lock file instead of flock.
1997-06-18 00:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdio-common/vfscanf.c (inchar, ungetc): Don't count EOF as
character read in/put back.
* stdio-common/tstscanf.c: Add test case for this.
1997-06-17 22:17 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libc.map: Add more symbols.
1997-06-18 12:01 Ulrich Drepper <drepper@cygnus.com>
* manual/Makefile (install): Make sure `dir' file exists if we use
install-info.
1997-06-17 19:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manual/Makefile (info): Depend on dir-add.info.
1997-06-17 17:19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/ldd.bash.in: Fix spacing in message.
1997-06-17 14:28 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/do-rel.h (elf_dynamic_do_rel): Always use version
information if available.
1997-06-17 11:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sunrpc/Makefile ($(rpcsvc:%.x=$(objpfx)rpcsvc/%.h)): Make
command non-empty to force make to recheck modification time.
($(rpcsvc:%.x=$(objpfx)x%.c)): Likewise.
1997-06-17 00:26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/stub/e_acoshl.c: Set errno to ENOSYS.
* sysdeps/stub/e_acosl.c: Likewise.
* sysdeps/stub/e_asinl.c: Likewise.
* sysdeps/stub/e_atan2l.c: Likewise.
* sysdeps/stub/e_expl.c: Likewise.
* sysdeps/stub/e_fmodl.c: Likewise.
* sysdeps/stub/e_j0l.c: Likewise.
* sysdeps/stub/e_j1l.c: Likewise.
* sysdeps/stub/e_jnl.c: Likewise.
* sysdeps/stub/e_lgammal_r.c: Likewise.
* sysdeps/stub/e_log10l.c: Likewise.
* sysdeps/stub/e_logl.c: Likewise.
* sysdeps/stub/e_powl.c: Likewise.
* sysdeps/stub/e_rem_pio2l.c: Likewise.
* sysdeps/stub/e_sqrtl.c: Likewise.
* sysdeps/stub/k_cosl.c: Likewise.
* sysdeps/stub/k_rem_pio2l.c: Likewise.
* sysdeps/stub/k_sinl.c: Likewise.
* sysdeps/stub/k_tanl.c: Likewise.
* sysdeps/stub/s_atanl.c: Likewise.
* sysdeps/stub/s_erfl.c: Likewise.
* sysdeps/stub/s_exp2.c: Likewise.
* sysdeps/stub/s_exp2f.c: Likewise.
* sysdeps/stub/s_exp2l.c: Likewise.
* sysdeps/stub/s_expm1l.c: Likewise.
* sysdeps/stub/s_log1pl.c: Likewise.
* sysdeps/stub/s_log2l.c: Likewise.
1997-06-18 11:46 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/w_gamma.c: If _LIB_VERSION is _SVID_ compute
result as before last change.
* sysdeps/libm-ieee754/w_gammaf.c: Likewise.
* sysdeps/libm-ieee754/w_gammal.c: Likewise.
1997-06-16 23:37 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_remquo.c: Fix off-by-one when computing
quotient.
* sysdeps/libm-ieee754/s_remquof.c: Likewise.
* sysdeps/libm-ieee754/s_remquol.c: Likewise.
* sysdeps/m68k/fpu/s_remquo.c: Remove FIXME and special case for
quotient.
* sysdeps/libm-ieee754/w_gamma.c: Add missing call to exp
function. Don't use global signgam.
* sysdeps/libm-ieee754/w_gammaf.c: Likewise.
* sysdeps/libm-ieee754/w_gammal.c: Likewise.
* math/Makefile (libm-calls): Remove w_gamma_r.
* sysdeps/libm-ieee754/w_gamma_r.c: Remove file.
* sysdeps/libm-ieee754/w_gammaf_r.c: Remove file.
* sysdeps/libm-ieee754/w_gammal_r.c: Remove file.
* math/libm-test.c (atanh_test): Declare x only if needed.
(signbit_test): Fix typo.
(gamma_test): Check whether function is implemented. Add
epsilons.
(lgamma_test): Likewise.
(fmod_test): Add epsilons.
(exp2_test): Use right function for existence test.
1997-06-07 09:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/powerpc/Dist: Add fenv_const.c.
* sysdeps/unix/sysv/linux/Dist: Add net/if_slip.h.
* sysdeps/unix/sysv/linux/powerpc/Dist: Add init-first.h and
syscall.h.
* sysdeps/unix/sysv/linux/sparc/Dist: Add init-first.h.
* string/Makefile (distribute): Add tst-svc.expect.
* nis/Makefile (distribute): Add nis_intern.h and Banner.
* elf/Makefile (distribute): Add dl-hash.h.
* Rules (subdir_echo-distinfo): Add headers from $(distribute).
* login/Makefile (others): Add utmpdump.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
net/if_slip.h.
* manual/Makefile (dir-add.texi): Also look in indirectly included
files.
1997-06-16 23:15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/configure.in: Remove commands to
generate stdio_lim.h.
* sysdeps/unix/sysv/linux/mk-stdiolim.c: Remove.
* sysdeps/unix/sysv/linux/Makefile: Add rules to generate
stdio_lim.h here.
(common-generated): Add generated files.
(inhibit-stdio_lim): Define.
* sysdeps/posix/Makefile [$(inhibit-stdio_lim)=yes]: Disable rules
to generate stdio_lim.h.
* sysdeps/unix/sysv/linux/Makefile: Suppress inclusion of
dependecy files if no_deps is set.
($(objpfx)syscall-%.d): Add header file as target to dependency
generation.
1997-06-14 19:19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/arm/Dist: New file.
1997-06-14 17:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* extra-lib.mk (others): Depend on versioned shared library, not
the unversioned one.
* Makerules (build-shlib): Don't make the version link here.
($(common-objpfx)libc.so$(libc.so-version)): New rule for libc
version link.
1997-06-16 03:07 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/k_standard.c: Undo change of Tue Aug 6
01:13:56 1996.
* argp/argp-help.c (argp_args_usage): Supply correct argp to
filter_doc.
* argp/argp-help.c (hol_add_cluster): Initialize CL->depth.
* argp/argp-help.c (_help): Supply STATE to argp_args_usage.
* argp/argp.h (ARGP_KEY_HELP_ARGS_DOC): New macro.
* argp/argp-fmtstream.c: Add casts to prevent warnings.
* argp/argp.h (OPTION_NO_USAGE): New macro.
* argp/argp-help.c (usage_long_opt, usage_argful_short_opt,
* argp/argp-fmtstream.c (__argp_fmtstream_update): Account for case
* argp/argp-help.c <stddef.h>: New include.
* argp/argp.h (argp_state_help, __argp_state_help, argp_usage,
* argp/argp.h (argp_program_bug_address): Make const.
* argp/argp-parse.c (argp_default_parser): Set STATE->name for OPT_PROGNAME.
* argp/argp-help.c (__argp_error, __argp_failure, __argp_state_help):
* argp/argp-parse.c (parser_init): Set PARSER->state.flags.
1997-06-20 03:11:22 +08:00
|
|
|
@comment argz.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun error_t argz_replace (@w{char **@var{argz}, size_t *@var{argz_len}}, @w{const char *@var{str}, const char *@var{with}}, @w{unsigned *@var{replace_count}})
|
2000-02-22 17:00:35 +08:00
|
|
|
Replace any occurrences of the string @var{str} in @var{argz} with
|
Update.
1997-06-19 19:38 Ulrich Drepper <drepper@cygnus.com>
* features.h: Define __STDC_IEC_559__ and _STDC_IEC_559_COMPLEX__.
* elf/dl-minimal.c (__dcgettext): Remove assertion.
* inet/rcmd.c: Correct a few typos. Reported by Eric Troan.
* manual/Makefile (distribute): Add dir.
* manual/dir: New file.
* math/Makefile (libm-support): Rename s_rinttol, s_rinttoll,
s_roundtol, and s_roundtoll to s_lrint, s_llrint, s_lround,
and s_llround respectively.
(libm-calls): Add e_gamma_r.
* math/libm-test.c (check_int_exc): New function.
(signbit_test): Remove test for sign of NaN.
(gamma_test): Clear exception after test of existence.
Correct tests and and epsilons.
(lgamma_test): Likewise.
(ilogb_test): Correct all tests.
(scalb_test): Rewrite.
(rinttol_test): Rename to lrint_test and correct tests.
(rinttoll_test): Likewise.
(roundtol_test): Likewise.
(roundtoll_test): Likewise.
(main): Call lrint/lround functions instead of rinttol/roundtol.
* math/math.h: Change prototypes for rinttol/roundtol.
* math/mathcalls.h: Rearrange prototypes according to ISO C9X draft.
* sysdeps/generic/mathbits.h: Define FP_ILOGB0 and FP_ILOGBNAN.
* sysdeps/i386/mathbits.h: Likewise.
* sysdeps/libm-i387/e_scalb.S: Handle special cases correctly.
* sysdeps/libm-i387/e_scalbf.S: Likewise.
* sysdeps/libm-i387/e_scalbl.S: Likewise.
* sysdeps/libm-i387/s_asinh.S: Handle -inf correctly.
* sysdeps/libm-i387/s_asinhf.S: Likewise.
* sysdeps/libm-i387/s_asinhl.S: Likewise.
* sysdeps/libm-i387/s_ilogb.S: Optimize.
* sysdeps/libm-i387/s_ilogbf.S: Likewise.
* sysdeps/libm-i387/s_ilogbl.S: Likewise.
* sysdeps/libm-i387/s_rinttol.S: Rename to...
* sysdeps/libm-i387/s_lrint.S: ...this.
* sysdeps/libm-i387/s_rinttoll.S: Rename to...
* sysdeps/libm-i387/s_llrint.S: ...this.
* sysdeps/libm-i387/s_remquo.S: Correctly set sign of remainder.
* sysdeps/libm-i387/s_remquof.S: Likewise.
* sysdeps/libm-i387/s_remquol.S: Likewise.
* sysdeps/libm-i387/e_gamma_r.c: New file. Implementation of gamma
function according to ISO C.
* sysdeps/libm-i387/e_gammaf_r.c: New file.
* sysdeps/libm-i387/e_gammal_r.c: New file.
* sysdeps/libm-i387/e_lgamma_r.c: Don't let optimize compile the
generation of exceptions away.
* sysdeps/libm-i387/e_lgammaf_r.c: Likewise.
* sysdeps/libm-i387/k_standard.c: Correct return value for infinity
points of gamma function when not SVID mode.
* sysdeps/libm-i387/s_rinttoll.c: Renamed to...
* sysdeps/libm-i387/s_llrint.c: ...this.
* sysdeps/libm-i387/s_rinttol.c: Renamed to...
* sysdeps/libm-i387/s_lrint.c: ...this.
* sysdeps/libm-i387/s_roundtoll.c: Renamed to...
* sysdeps/libm-i387/s_llround.c: ...this.
* sysdeps/libm-i387/s_roundtol.c: Renamed to...
* sysdeps/libm-i387/s_lround.c: ..this.
* sysdeps/libm-i387/s_scalbn.c: Change second parameter according to
ISO C.
* sysdeps/libm-i387/s_scalbnf.c: Likewise.
* sysdeps/libm-i387/s_scalbnl.c: Likewise.
* sysdeps/libm-i387/w_gamma.c: Call __ieee754_gamma_r if library
mode is not _SVID_.
* sysdeps/libm-i387/w_gammaf.c: Likewise.
* sysdeps/libm-i387/w_gammal.c: Likewise.
* sysdeps/m68k/fpu/__math.h: Rename __rinttol to __lrint and
rinttol to lrint.
* sysdeps/m68k/fpu/s_rinttol.c: Renamed to...
* sysdeps/m68k/fpu/s_lrint.c: ...this.
* sysdeps/m68k/fpu/s_rinttoll.c: Renamed to...
* sysdeps/m68k/fpu/s_llrint.c: ...this.
* md5-crypt/Makefile: Link md5test program with md5.o.
* stdio-common/temptest.c: Don't use __stdio_gen_tempname which
is not exported by the libc.so.
* stdio-common/vfscanf.c: Correct scanning of strings after last
change.
* sysdeps/unix/sysv/linux/i386/sysdep.S: Use .comm to define errno.
1997-06-19 07:37 H.J. Lu <hjl@gnu.ai.mit.edu>
* time/tzfile.c (__tzfile_read): Store getc () return in int.
1997-06-13 Miles Bader <miles@gnu.ai.mit.edu>
* argp/argp-parse.c (argp_version_parser): Include `(PROGRAM ERROR)' in
the no-version error text to indicate that something's fucked.
[!_] (N_): New macro.
(argp_default_options, argp_version_options): Wrap doc strings in N_().
1997-06-12 Miles Bader <miles@gnu.ai.mit.edu>
* argp/argp-parse.c (parser_parse_opt): Detect and report unhandled
options here.
(parser_parse_arg): Handle ARGP_KEY_ARGS here.
Adjust NEXT pointer back if we fail to parse anything.
(parser_parse_next): Simplify arg code. Leave state NEXT frobbing
to parser_parse_arg.
1997-06-11 Miles Bader <miles@gnu.ai.mit.edu>
* argp/argp.h (ARGP_KEY_ARGS, ARGP_KEY_FINI): New macros.
* argp/argp-parse.c (parser_finalize): Do another pass over the
parsers with ARGP_KEY_FINI.
1997-06-18 Miles Bader <miles@gnu.ai.mit.edu>
* string/Makefile (routines): Add argz-replace.
1997-06-16 00:16 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (Argz Functions): Document argz_replace.
1997-06-12 Miles Bader <miles@gnu.ai.mit.edu>
* string/argz.h (__argz_replace, argz_replace): New declarations.
* string/argz-replace.c: New file.
1997-06-11 Miles Bader <miles@gnu.ai.mit.edu>
* manual/argp.texi (Argp Special Keys): Document ARGP_KEY_ARGS.
1997-06-16 23:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig (libc-map): Remove definition.
* Makerules (libc-map): Define it here, using the full name.
(load-map-file): Remove case for empty $(..).
($(common-objpfx)libc.so): Revert last change.
1997-06-17 22:18 Mark Kettenis <kettenis@phys.uva.nl>
* login/programs/utmpd.c (main): Improve signal handling.
* login/programs/request.c (do_setutent, do_updwtmp):
Allow arbitrary length filenames.
* login/programs/utmpd.h (setutent_request, updwtmp_request):
Get rid of fixed length file field.
* login/utmp_daemon.c (do_setutent, do_updwtmp):
Allow arbitrary length filenames.
* login/programs/request.c (do_pututline):
Don't fail if connection->position is -1 on entry.
1997-06-15 16:32 Mark Kettenis <kettenis@phys.uva.nl>
* login/utmp_file.c (updwtmp_file): Use the same method for
appending an entry as in pututline_file.
1997-06-11 18:59 Mark Kettenis <kettenis@phys.uva.nl>
* login/utmp_file.c (getutent_r_file):
Use read lock instead of write lock.
(getutline_r_file, internal_getut_r): Lock utmp file.
(updwtmp_file): Use fcntl to lock file instead of flock.
1997-06-18 00:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdio-common/vfscanf.c (inchar, ungetc): Don't count EOF as
character read in/put back.
* stdio-common/tstscanf.c: Add test case for this.
1997-06-17 22:17 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libc.map: Add more symbols.
1997-06-18 12:01 Ulrich Drepper <drepper@cygnus.com>
* manual/Makefile (install): Make sure `dir' file exists if we use
install-info.
1997-06-17 19:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manual/Makefile (info): Depend on dir-add.info.
1997-06-17 17:19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/ldd.bash.in: Fix spacing in message.
1997-06-17 14:28 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/do-rel.h (elf_dynamic_do_rel): Always use version
information if available.
1997-06-17 11:34 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sunrpc/Makefile ($(rpcsvc:%.x=$(objpfx)rpcsvc/%.h)): Make
command non-empty to force make to recheck modification time.
($(rpcsvc:%.x=$(objpfx)x%.c)): Likewise.
1997-06-17 00:26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/stub/e_acoshl.c: Set errno to ENOSYS.
* sysdeps/stub/e_acosl.c: Likewise.
* sysdeps/stub/e_asinl.c: Likewise.
* sysdeps/stub/e_atan2l.c: Likewise.
* sysdeps/stub/e_expl.c: Likewise.
* sysdeps/stub/e_fmodl.c: Likewise.
* sysdeps/stub/e_j0l.c: Likewise.
* sysdeps/stub/e_j1l.c: Likewise.
* sysdeps/stub/e_jnl.c: Likewise.
* sysdeps/stub/e_lgammal_r.c: Likewise.
* sysdeps/stub/e_log10l.c: Likewise.
* sysdeps/stub/e_logl.c: Likewise.
* sysdeps/stub/e_powl.c: Likewise.
* sysdeps/stub/e_rem_pio2l.c: Likewise.
* sysdeps/stub/e_sqrtl.c: Likewise.
* sysdeps/stub/k_cosl.c: Likewise.
* sysdeps/stub/k_rem_pio2l.c: Likewise.
* sysdeps/stub/k_sinl.c: Likewise.
* sysdeps/stub/k_tanl.c: Likewise.
* sysdeps/stub/s_atanl.c: Likewise.
* sysdeps/stub/s_erfl.c: Likewise.
* sysdeps/stub/s_exp2.c: Likewise.
* sysdeps/stub/s_exp2f.c: Likewise.
* sysdeps/stub/s_exp2l.c: Likewise.
* sysdeps/stub/s_expm1l.c: Likewise.
* sysdeps/stub/s_log1pl.c: Likewise.
* sysdeps/stub/s_log2l.c: Likewise.
1997-06-18 11:46 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/w_gamma.c: If _LIB_VERSION is _SVID_ compute
result as before last change.
* sysdeps/libm-ieee754/w_gammaf.c: Likewise.
* sysdeps/libm-ieee754/w_gammal.c: Likewise.
1997-06-16 23:37 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_remquo.c: Fix off-by-one when computing
quotient.
* sysdeps/libm-ieee754/s_remquof.c: Likewise.
* sysdeps/libm-ieee754/s_remquol.c: Likewise.
* sysdeps/m68k/fpu/s_remquo.c: Remove FIXME and special case for
quotient.
* sysdeps/libm-ieee754/w_gamma.c: Add missing call to exp
function. Don't use global signgam.
* sysdeps/libm-ieee754/w_gammaf.c: Likewise.
* sysdeps/libm-ieee754/w_gammal.c: Likewise.
* math/Makefile (libm-calls): Remove w_gamma_r.
* sysdeps/libm-ieee754/w_gamma_r.c: Remove file.
* sysdeps/libm-ieee754/w_gammaf_r.c: Remove file.
* sysdeps/libm-ieee754/w_gammal_r.c: Remove file.
* math/libm-test.c (atanh_test): Declare x only if needed.
(signbit_test): Fix typo.
(gamma_test): Check whether function is implemented. Add
epsilons.
(lgamma_test): Likewise.
(fmod_test): Add epsilons.
(exp2_test): Use right function for existence test.
1997-06-07 09:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/powerpc/Dist: Add fenv_const.c.
* sysdeps/unix/sysv/linux/Dist: Add net/if_slip.h.
* sysdeps/unix/sysv/linux/powerpc/Dist: Add init-first.h and
syscall.h.
* sysdeps/unix/sysv/linux/sparc/Dist: Add init-first.h.
* string/Makefile (distribute): Add tst-svc.expect.
* nis/Makefile (distribute): Add nis_intern.h and Banner.
* elf/Makefile (distribute): Add dl-hash.h.
* Rules (subdir_echo-distinfo): Add headers from $(distribute).
* login/Makefile (others): Add utmpdump.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
net/if_slip.h.
* manual/Makefile (dir-add.texi): Also look in indirectly included
files.
1997-06-16 23:15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/configure.in: Remove commands to
generate stdio_lim.h.
* sysdeps/unix/sysv/linux/mk-stdiolim.c: Remove.
* sysdeps/unix/sysv/linux/Makefile: Add rules to generate
stdio_lim.h here.
(common-generated): Add generated files.
(inhibit-stdio_lim): Define.
* sysdeps/posix/Makefile [$(inhibit-stdio_lim)=yes]: Disable rules
to generate stdio_lim.h.
* sysdeps/unix/sysv/linux/Makefile: Suppress inclusion of
dependecy files if no_deps is set.
($(objpfx)syscall-%.d): Add header file as target to dependency
generation.
1997-06-14 19:19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/arm/Dist: New file.
1997-06-14 17:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* extra-lib.mk (others): Depend on versioned shared library, not
the unversioned one.
* Makerules (build-shlib): Don't make the version link here.
($(common-objpfx)libc.so$(libc.so-version)): New rule for libc
version link.
1997-06-16 03:07 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/k_standard.c: Undo change of Tue Aug 6
01:13:56 1996.
* argp/argp-help.c (argp_args_usage): Supply correct argp to
filter_doc.
* argp/argp-help.c (hol_add_cluster): Initialize CL->depth.
* argp/argp-help.c (_help): Supply STATE to argp_args_usage.
* argp/argp.h (ARGP_KEY_HELP_ARGS_DOC): New macro.
* argp/argp-fmtstream.c: Add casts to prevent warnings.
* argp/argp.h (OPTION_NO_USAGE): New macro.
* argp/argp-help.c (usage_long_opt, usage_argful_short_opt,
* argp/argp-fmtstream.c (__argp_fmtstream_update): Account for case
* argp/argp-help.c <stddef.h>: New include.
* argp/argp.h (argp_state_help, __argp_state_help, argp_usage,
* argp/argp.h (argp_program_bug_address): Make const.
* argp/argp-parse.c (argp_default_parser): Set STATE->name for OPT_PROGNAME.
* argp/argp-help.c (__argp_error, __argp_failure, __argp_state_help):
* argp/argp-parse.c (parser_init): Set PARSER->state.flags.
1997-06-20 03:11:22 +08:00
|
|
|
@var{with}, reallocating @var{argz} as necessary. If
|
|
|
|
@var{replace_count} is non-zero, @code{*@var{replace_count}} will be
|
|
|
|
incremented by number of replacements performed.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@node Envz Functions, , Argz Functions, Argz and Envz Vectors
|
|
|
|
@subsection Envz Functions
|
|
|
|
|
|
|
|
Envz vectors are just argz vectors with additional constraints on the form
|
|
|
|
of each element; as such, argz functions can also be used on them, where it
|
|
|
|
makes sense.
|
|
|
|
|
|
|
|
Each element in an envz vector is a name-value pair, separated by a @code{'='}
|
|
|
|
character; if multiple @code{'='} characters are present in an element, those
|
|
|
|
after the first are considered part of the value, and treated like all other
|
|
|
|
non-@code{'\0'} characters.
|
|
|
|
|
|
|
|
If @emph{no} @code{'='} characters are present in an element, that element is
|
|
|
|
considered the name of a ``null'' entry, as distinct from an entry with an
|
|
|
|
empty value: @code{envz_get} will return @code{0} if given the name of null
|
|
|
|
entry, whereas an entry with an empty value would result in a value of
|
|
|
|
@code{""}; @code{envz_entry} will still find such entries, however. Null
|
|
|
|
entries can be removed with @code{envz_strip} function.
|
|
|
|
|
|
|
|
As with argz functions, envz functions that may allocate memory (and thus
|
|
|
|
fail) have a return type of @code{error_t}, and return either @code{0} or
|
|
|
|
@code{ENOMEM}.
|
|
|
|
|
|
|
|
@pindex envz.h
|
|
|
|
These functions are declared in the standard include file @file{envz.h}.
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment envz.h
|
|
|
|
@comment GNU
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@deftypefun {char *} envz_entry (const char *@var{envz}, size_t @var{envz_len}, const char *@var{name})
|
|
|
|
The @code{envz_entry} function finds the entry in @var{envz} with the name
|
|
|
|
@var{name}, and returns a pointer to the whole entry---that is, the argz
|
|
|
|
element which begins with @var{name} followed by a @code{'='} character. If
|
|
|
|
there is no entry with that name, @code{0} is returned.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment envz.h
|
|
|
|
@comment GNU
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@deftypefun {char *} envz_get (const char *@var{envz}, size_t @var{envz_len}, const char *@var{name})
|
|
|
|
The @code{envz_get} function finds the entry in @var{envz} with the name
|
|
|
|
@var{name} (like @code{envz_entry}), and returns a pointer to the value
|
|
|
|
portion of that entry (following the @code{'='}). If there is no entry with
|
|
|
|
that name (or only a null entry), @code{0} is returned.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment envz.h
|
|
|
|
@comment GNU
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@deftypefun {error_t} envz_add (char **@var{envz}, size_t *@var{envz_len}, const char *@var{name}, const char *@var{value})
|
|
|
|
The @code{envz_add} function adds an entry to @code{*@var{envz}}
|
|
|
|
(updating @code{*@var{envz}} and @code{*@var{envz_len}}) with the name
|
|
|
|
@var{name}, and value @var{value}. If an entry with the same name
|
|
|
|
already exists in @var{envz}, it is removed first. If @var{value} is
|
|
|
|
@code{0}, then the new entry will the special null type of entry
|
|
|
|
(mentioned above).
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment envz.h
|
|
|
|
@comment GNU
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@deftypefun {error_t} envz_merge (char **@var{envz}, size_t *@var{envz_len}, const char *@var{envz2}, size_t @var{envz2_len}, int @var{override})
|
|
|
|
The @code{envz_merge} function adds each entry in @var{envz2} to @var{envz},
|
|
|
|
as if with @code{envz_add}, updating @code{*@var{envz}} and
|
|
|
|
@code{*@var{envz_len}}. If @var{override} is true, then values in @var{envz2}
|
|
|
|
will supersede those with the same name in @var{envz}, otherwise not.
|
|
|
|
|
|
|
|
Null entries are treated just like other entries in this respect, so a null
|
|
|
|
entry in @var{envz} can prevent an entry of the same name in @var{envz2} from
|
|
|
|
being added to @var{envz}, if @var{override} is false.
|
|
|
|
@end deftypefun
|
|
|
|
|
Update.
1997-06-04 20:57 Ulrich Drepper <drepper@cygnus.com>
* manual/string.texi: Add comments to discourage use of index and
rindex.
(strtok, strsep): Apply function on copy of the strings in example.
(l64a): Add example.
* posix/unistd.h: Correct value for _POSIX_VERSION.
* sunrpc/Makefile (defines): Remove definition.
* sysdeps/ieee754/nan.h: Correct typo.
1997-06-04 10:50 Fila Kolodny <fila@ibi.com>
* posix/unistd.h: Add definition of __fchdir corresponding to fchdir.
* login/utmp_daemon.c: Correct location of utmpd.h.
1997-06-03 19:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Rename $(common-objpfx)distinfo-$(subdir) to
$(objpfx)distinfo.
* rpm/Makefile (distinfo): Adapted.
1997-06-03 18:32 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile (install-slib): Collect shared libraries here
instead of in install-lib, including libc.
(instvars): Add slib.
1997-06-03 18:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (libutil-routines): Add updwtmp.
1997-06-03 16:16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* monetary.h: New file, needed for localedata/tst-fmon.c.
1997-06-02 20:31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (cpow_test): Add epsilon for long double in
test for 2^10.
(identities): Add epsilon for float in second identity test.
* sysdeps/m68k/huge_val.h: Change GCC's HUGE_VAL{,F,L} to use
DI and SI mode integers instead of bytes. Fix value of HUGE_VALL.
* sysdeps/m68k/nan.h: New file.
* sysdeps/m68k/fpu/__math.h (isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered): Fix assembler syntax.
* sysdeps/m68k/fpu/fraiseexcpt.c: Do it right so that gcc doesn't
optimize out the operations.
* sysdeps/libm-ieee754/s_nan.c: Use NaN macro instead of static
constant.
* sysdeps/libm-ieee754/s_nanf.c: Likewise.
* sysdeps/libm-ieee754/s_nanl.c: Likewise.
* math/carg.c [NO_LONG_DOUBLE]: Add alias for long double
function.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_fdim.c: Likewise.
* sysdeps/libm-ieee754/s_fmax.c: Likewise.
* sysdeps/libm-ieee754/s_fmin.c: Likewise.
* sysdeps/libm-ieee754/s_log2.c: Likewise.
* sysdeps/libm-ieee754/s_nan.c: Likewise.
* sysdeps/libm-ieee754/s_remquo.c: Likewise.
1997-06-05 03:05:38 +08:00
|
|
|
@comment envz.h
|
|
|
|
@comment GNU
|
Update.
1997-06-03 23:42 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-support.c: Define and initialize _dl_verbose used in
dl-machine.h.
* io/ftw.c: Expand stat/lstat calls.
* manual/intro.texi: Also refer to ISO 9945.
Update info about SVID.
Add description for XPG.
* md5-crypt/md5-crypt.c: Namespace cleanups.
* md5-crypt/md5.c: Likewise.
* md5-crypt/md5.h: Likewise.
* sysdeps/generic/crypt-entry.c: Likewise.
* posix/unistd.h (_POSIX2_C_VERSION): Set to 199209L.
* stdlib/fmtmsg.h: Declare addseverity only if __USE_SVID is
defined.
* sunrpc/rpc_scan.c (findkind): Declare `token' as const.
* sunrpc/rpc_util.c (toktostr): Declare `token' as const.
* time/Makefile: Make tzselect dependen of config.make.
1997-06-01 15:01 Miles Bader <miles@gnu.ai.mit.edu>
* manual/string.texi (String and Array Utilities): Add `Argz and
Envz Vectors' to the menu.
(Argz and Envz Vectors, Argz Functions, Envz Functions): New nodes.
1997-05-31 20:59 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* login/Makefile (utmpd-routines): Add utmpd.
(extra-objs): Add utmpd objects to get dependencies.
(distribute): Add sources for utmpd.
(subdir-dirs): Define.
1997-06-02 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/wordsize-32/inttypes.h: Include features.h and use
__CONCAT instead of defined __CONCAT__ ourself.
* sysdeps/wordsize-64/inttypes.h: Likewise.
1997-06-01 19:11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/wordsize-64/inttypes.h (INTMAX_C): Use `l' suffix, not
`ll'.
(PRIdFAST, PRIoFAST, PRIxFAST, PRIuFAST, SCNdFAST, SCNiFAST,
SCNoFAST, SCNxFAST): Correct format specifiers.
1997-06-02 04:23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/syscalls.list: Make fchdir weak alias for __fchdir.
1997-06-01 19:17 Ulrich Drepper <drepper@cygnus.com>
* md5-crypt/Makefile: Correct libmd5crypt file to really generate
DES free libcrypt.
* md5-crypt/onlymd5-entry.c: New file. Wrapper around
sysdeps/generic/crypt-entry.c.
1997-06-01 12:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/gnu/types.h (__fd_mask): Change
type to `unsigned long int'.
Patch by Richard Henderson <richard@twiddle.rth.home>.
1997-05-30 17:34 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/bb_init_func.c (__bb_init_func): Use ISO C
declaration style.
* nss/nss_files/files-hosts.c: Delete inclusion of
"../resolv/mapv4v6hostent.h".
1997-06-04 05:53:09 +08:00
|
|
|
@deftypefun {void} envz_strip (char **@var{envz}, size_t *@var{envz_len})
|
|
|
|
The @code{envz_strip} function removes any null entries from @var{envz},
|
|
|
|
updating @code{*@var{envz}} and @code{*@var{envz_len}}.
|
|
|
|
@end deftypefun
|