diff options
| author | Ulrich Drepper <drepper@redhat.com> | 1996-11-06 04:24:40 +0000 |
|---|---|---|
| committer | Ulrich Drepper <drepper@redhat.com> | 1996-11-06 04:24:40 +0000 |
| commit | 2c6fe0bd3b270fc644dd4c773f2d47b93f404efe (patch) | |
| tree | a578bcc93bbeaafacb6012213c458e33b7907528 /manual | |
| parent | f5311448f83eada5c5cabf55aae2619dcb1869c0 (diff) | |
| download | glibc-2c6fe0bd3b270fc644dd4c773f2d47b93f404efe.tar.xz glibc-2c6fe0bd3b270fc644dd4c773f2d47b93f404efe.zip | |
update from main archive 961105cvs/libc-961106
Wed Nov 6 04:30:26 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/syscalls.list: Add weak alias llseek for
_llseek syscall. Reported by Andy Sewell <puck@pookhill.demon.co.uk>.
* string/argz.h: Don't protect by __USE_GNU.
Tue Nov 5 23:38:28 1996 Ulrich Drepper <drepper@cygnus.com>
* Lots of files: Update and reformat copyright.
* Makefile (headers): Add xopen_lim.h.
* catgets/nl_types.h: Move __BEGIN_DECLS before definition of nl_catd.
* grp/grp.h: Define setgrent, getgrent, endgrent, and getgrent_r
if __USE_XOPEN_EXTENDED is defined.
* pwd/pwd.h: Define setpwent, getpwent, endpwent, and getpwent_r
if __USE_XOPEN_EXTENDED is defined.
* io/Makefile (routines): Add lchown.
* io/sys/poll.h: Add definition of POLLWRNORM.
* io/sys/stat.h: Declare lstat, fchmod, mknod when
__USE_XOPEN_EXTENDED is defined.
* libio/Makefile (routines): Add obprintf.
* libio/obprintf.c: New file.
* libio/iolibio.h: Add prototypes for _IO_obstack_vprintf and
_IO_obstack_printf.
* libio/libio.h: Fix typo.
* libio/stdio.h: Declare tempnam if __USE_XOPEN_EXTENDED is defined.
Add prototypes for obstack_vprintf and obstack_printf.
* manual/creature.texi: Describe _XOPEN_SOURCE macro.
* manual/intro.texi: Add reference to NSS chapter.
* manual/libc.texinfo: Update UPDATED.
Comment out `@printindex cp'. It works again.
* manual/memory.texi: Add description for obstack_ptr_grow,
obstack_int_grow, obstack_ptr_grow_fast, and obstack_int_grow_fast.
* manual/nss.texi: Add a few @cindex entries and change NSS_STATUS_*
index entries to @vindex.
* manual/users.texi: Correct @cindex entry for Netgroup.
* math/mathcalls.h: Use __USE_XOPEN and __USE_XOPEN_EXTENDED to
make declarations visible for X/Open sources.
* misc/search.h: Declare insque/remque only is __USE_SVID or
__USE_XOPEN_EXTENDED is defined.
* misc/sys/uio.h (readv, writev): Change return value from int to
ssize_t.
* posix/Makefile (headers): Add re_comp.h.
* posix/re_comp.h: New file. XPG interface to regex functions.
* posix/getconf.c: Add all names from XPG4.2.
* posix/posix1_lim.h: Increase minimum values for _POSIX_CHILD_MAX
and _POSIX_OPEN_MAX to minimums from XPG4.2.
* sysdeps/generic/confname.h: Add all _SC_* names from XPG4.2.
* sysdeps/posix/sysconf.c: Handle new _SC_* values.
* sysdeps/stub/sysconf.c: Likewise.
* posix/unistd.h: Add declaration of ualarm and lchown. Declare
usleep, fchown, fchdir, nice, getpgid, setsid, getsid, setreuid,
setregid, vfork, ttyslot, symlink, readlink, gethostid, truncate,
ftruncate, getdtablesize, brk, sbrk, lockf when
__USE_XOPEN_EXTENDED is defined.
* posix/sys/wait.h: Declare wait3 if __USE_XOPEN_EXTENDED is defined.
* shadow/shadow.h: Define SHADOW using _PATH_SHADOW.
* sysdeps/generic/paths.h: Define _PATH_SHADOW.
* sysdeps/unix/sysv/linux/paths.h: Likewise.
* signal/signal.h: Declare killpg, sigstack and sigaltstack when
__USE_XOPEN_EXTENDED is defined.
* stdio/stdio.h: Declare tempnam when __USE_XOPEN is defined.
* stdlib/stdlib.h: Make rand48 functions available when __USE_XOPEN
is defined.
Likewise for valloc, putenv, realpath, [efg]cvt*, and getsubopt
functions.
* string/string.h: Make memccpy, strdup, bcmp, bcopy, bzero, index,
and rindex available when __USE_XOPEN_EXTENDED is defined.
* sysdeps/mach/getpagesize.c: De-ANSI-fy. Change return type to int.
* sysdeps/posix/getpagesize.c: Likewise.
* sysdeps/stub/getpagesize.c: Likewise.
* sysdeps/unix/getpagesize.c: Likewise.
* time/africa: Update from tzdata1996l.
* time/asia: Likewise.
* time/australia: Likewise.
* time/europe: Likewise.
* time/northamerica: Likewise.
* time/pacificnew: Likewise.
* time/southamerica: Likewise.
* time/tzfile.h: Update from tzcode1996m.
* time/time.h: Declare strptime if __USE_XOPEN.
Declare daylight and timezone also if __USE_XOPEN.
* time/sys/time.h: Remove declaration of ualarm.
* wctype/wctype.h: Just reference ISO C standard.
Tue Nov 5 01:26:32 1996 Richard Henderson <rth@tamu.edu>
* crypt/Makefile: Add crypt routines to libc as well iff
$(crypt-in-libc) is set. Do this for temporary binary compatibility
on existing Linux/Alpha installations.
* stdlib/div.c, sysdeps/generic/div.c: Move file to .../generic/.
* stdlib/ldiv.c, sysdeps/generic/ldiv.c: Likewise.
* stdlib/lldiv.c, sysdeps/generic/lldiv.c: Likewise.
* sysdeps/alpha/Makefile (divrem): Add divlu, dviqu, remlu, and
remqu.
* sysdeps/alpha/div.S: New file.
* sysdeps/alpha/ldiv.S: New file.
* sysdeps/alpha/lldiv.S: New file.
* sysdeps/alpha/divrem.h: Merge signed and unsigned division.
Take pointers from Linus and tighten the inner loops a bit.
* sysdeps/alpha/divl.S: Change defines for merged routines.
* sysdeps/alpha/divq.S: Likewise.
* sysdeps/alpha/reml.S: Likewise.
* sysdeps/alpha/remq.S: Likewise.
* sysdeps/alpha/divlu.S: Remove file.
* sysdeps/alpha/divqu.S: Likewise.
* sysdeps/alpha/remlu.S: Likewise.
* sysdeps/alpha/remqu.S: Likewise.
* sysdeps/alpha/bsd-_setjmp.S: If PROF, call _mcount.
* sysdeps/alpha/bsd-setjmp.S: Likewise.
* sysdeps/alpha/bzero.S: Likewise.
* sysdeps/alpha/ffs.S: Likewise.
* sysdeps/alpha/htonl.S: Likewise.
* sysdeps/alpha/htons.S: Likewise.
* sysdeps/alpha/memchr.S: Likewise.
* sysdeps/alpha/memset.S: Likewise.
* sysdeps/alpha/s_copysign.S: Likewise.
* sysdeps/alpha/s_fabs.S: Likewise.
* sysdeps/alpha/setjmp.S: Likewise.
* sysdeps/alpha/stpcpy.S: Likewise.
* sysdeps/alpha/stpncpy.S: Likewise.
* sysdeps/alpha/strcat.S: Likewise.
* sysdeps/alpha/strchr.S: Likewise.
* sysdeps/alpha/strcpy.S: Likewise.
* sysdeps/alpha/strlen.S: Likewise.
* sysdeps/alpha/strncat.S: Likewise.
* sysdeps/alpha/strncpy.S: Likewise.
* sysdeps/alpha/strrchr.S: Likewise.
* sysdeps/alpha/udiv_qrnnd.S: Likewise. Fix private labels.
Convert two small jumps to use conditional moves.
* sysdeps/unix/alpha/sysdep.h: Compress all __STDC__ nastiness.
(PSEUDO): If PROF, call _mcount.
* sysdeps/unix/sysv/linux/alpha/brk.S: If PROF, call _mcount.
* sysdeps/unix/sysv/linux/alpha/clone.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/llseek.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise.
* sysdeps/alpha/memcpy.S: New file. Odd layout because it should
eventually contain memmove as well.
* sysdeps/alpha/strcmp.S: New file.
* sysdeps/alpha/strncmp.S: New file.
* sysdeps/alpha/w_sqrt.S: New file.
Tue Nov 5 18:06:06 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/mach/hurd/ttyname_r.c: Use `size_t' for len variable.
Tue Nov 5 12:09:29 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdep/generic/sysdep.h: Define END only if not yet defined.
* sysdep/unix/sysdep.h: Define PSEUDO_END only if not yet defined.
Reported by Thomas Bushnell, n/BSG.
Mon Nov 4 22:46:53 1996 Ulrich Drepper <drepper@cygnus.com>
* manual/users.texi (Netgroup Data): Remove { } around @cindex.
Mon Nov 4 19:07:05 1996 Ulrich Drepper <drepper@cygnus.com>
* malloc/calloc.c: Check for overflow before trying to allocate
memory. Proposed by Neil Matthews <nm@adv.sbc.sony.co.jp>.
Fri Nov 1 18:18:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manual/llio.texi (Operating Modes): Add missing arguments to
@deftypevr in O_NONBLOCK description.
* manual/time.texi (Time Zone Functions): Enclose type name in
braces in description of tzname. FIXME: this does not yet work
correctly in info.
Sun Nov 3 17:29:06 1996 Ulrich Drepper <drepper@cygnus.com>
* features.h: Add X/Open macros.
* posix/unistd.h: Define X/Open macros.
* sysdeps/generic/confname.h: Add _SC_XOPEN_XCU_VERSION,
_SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N,
_SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, and _SC_2_UPE.
* sysdeps/posix/sysconf.c: Handle new constants.
* sysdeps/stub/sysconf.c: Likewise.
* sysdeps/unix/sysv/linux/posix_opt.h: Add definition of _XOPEN_SHM.
* catgets/catgets.c (catopen): Set errno to ENOMEM when
we run out of memory.
(catgets): Set errno to EBADF when catalog handle is invalid.
Set errno to ENOMSG when translation is not available.
(catclose): Set errno to EBADF when catalog handle is invalid.
* ctype/ctype.h: Declare isascii and toascii when __USE_XOPEN.
Likewise for _toupper and _tolower.
* manual/arith.texi: Document strtoq, strtoll, strtouq, strtoull,
strtof, and strtold.
* manual/math.texi: Document HUGE_VALf and HUGE_VALl.
* manual/stdio.h: Document ' flag for numeric formats of scanf.
* manual/users.texi: Document that cuserid shouldn't be used.
* misc/Makefile (routines): Add dirname.
(headers): Add libgen.h.
(tests): Add tst-dirname.
* misc/dirname.c: New file.
* misc/libgen.h: New file.
* misc/tst-dirname.c: New file.
* misc/search.h: Parameter of hcreate must be of type size_t.
* misc/hsearch.c: Likewise.
* misc/hsearch_r.c: Likewise for hcreate_r.
* misc/search.h: Parameters of insque and remque must be `void *'.
* misc/insremque.c: Likewise.
* posix/unistd.h: Move declarations of mktemp and mkstemp to...
* stdlib/stdlib.h: ...here.
* posix/unistd.h [__USE_XOPEN]: Add prototypes for crypt, setkey,
encrypt, and swab.
* stdio-common/printf-parse.h (struct printf_spec): Add pa_wchar
and pa_wstring.
(parse_one_spec): Remove Linux compatibility code.
Recognize %C and %S formats.
* stdio-common/printf.h: Add PA_WCHAR and PA_WSTRING.
* stdio-common/vfprintf.c: Add implementation of %C and %S format.
* stdio-common/vfscanf.c: Likewise for scanf.
* stdlib/l64a.c: Return value for 0 must be the empty string.
* stdlib/stdlib.h: Declare reentrant function from rand49 family
only if __USE_REENTRANT.
Declare rand48 functions also if __USE_XOPEN.
* stdlib/strtol.c: Return 0 and set errno to EINVAL when BASE is
not a legal value.
Return 0 and set errno to EINVAL when strou* sees negativ number.
* stdlib/tst-strtol.c: De-ANSI-fy.
Change expected results for test of unsigned function and negative
input.
* string/stratcliff.c: Prevent warnings.
* string.h: Move declaration of swab to <unistd.h>.
* string/swab.c: De-ANSI-fy.
* sysdeps/posix/cuserid.c: Implement using getpwuid_r.
* sysdeps/posix/mkstemp.c: Include <stdlib.h> for prototype.
* sysdeps/posix/mktemp.c: Likewise.
* sysdeps/stub/mkstemp.c: Likewise.
* sysdeps/stub/mktemp.c: Likewise.
* sysvipc/sys/ipc.h: Prototypes of ftok have to be of types `const
char *' and `int'.
* sysvipc/ftok.c: Likewise. Make sure only lower 8 bits of
PROJ_ID are used.
Sun Nov 3 03:21:28 1996 Heiko Schroeder <Heiko.Schroeder@post.rwth-aachen.de>
* locale/programs/ld-numeric.c (numeric_output): Compute idx[0]
correctly.
Sat Nov 2 17:44:32 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/cuserid.c: Use reentrant functions.
* manual/users.texi: Tell that cuserid is marked to be withdrawn in
XPG4.2.
Sat Nov 2 14:26:37 1996 Ulrich Drepper <drepper@cygnus.com>
Linus said he will make sure no system call will return a value
in -1 ... -4095 as a valid result.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Correct test for error.
* sysdeps/unix/sysv/linux/i386/syscall.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/m68k/syscall.S: Likewise.
Sat Nov 2 16:54:49 1996 NIIBE Yutaka <gniibe@mri.co.jp>
* sysdeps/stub/lockfile.c [!USE_IN_LIBIO]: Define weak alias for
__funlockfile, not a circular alias.
Define __IO_ftrylockfile if USE_IN_LIBIO and __ftrylockfile if not,
not vice versa.
* sysdeps/unix/sysv/linux/i386/sysdep.S (__errno_location): Make
it a weak symbol.
* sysdeps/unix/sysv/linux/m68k/sysdep.S (__errno_location): Likewise.
Likewise.
* crypt/Makefile (rpath-link): Extend search path to current directory.
Diffstat (limited to 'manual')
| -rw-r--r-- | manual/arith.texi | 126 | ||||
| -rw-r--r-- | manual/creature.texi | 26 | ||||
| -rw-r--r-- | manual/intro.texi | 46 | ||||
| -rw-r--r-- | manual/libc.texinfo | 9 | ||||
| -rw-r--r-- | manual/llio.texi | 34 | ||||
| -rw-r--r-- | manual/math.texi | 45 | ||||
| -rw-r--r-- | manual/memory.texi | 32 | ||||
| -rw-r--r-- | manual/nss.texi | 11 | ||||
| -rw-r--r-- | manual/stdio.texi | 11 | ||||
| -rw-r--r-- | manual/time.texi | 2 | ||||
| -rw-r--r-- | manual/users.texi | 5 |
11 files changed, 278 insertions, 69 deletions
diff --git a/manual/arith.texi b/manual/arith.texi index b3f646a187..8ea9508e3e 100644 --- a/manual/arith.texi +++ b/manual/arith.texi @@ -469,7 +469,8 @@ syntax used for integer constants in C. Otherwise @var{base} must have a value between @code{2} and @code{35}. If @var{base} is @code{16}, the digits may optionally be preceded by -@samp{0x} or @samp{0X}. +@samp{0x} or @samp{0X}. If base has no legal value the value returned +is @code{0l} and the global variable @code{errno} is set to @code{EINVAL}. @item Any remaining characters in the string. If @var{tailptr} is not a null @@ -492,6 +493,11 @@ representable because of overflow, @code{strtol} returns either appropriate for the sign of the value. It also sets @code{errno} to @code{ERANGE} to indicate there was overflow. +Because the value @code{0l} is a correct result for @code{strtol} the +user who is interested in handling errors should set the global variable +@code{errno} to @code{0} before calling this function. So it can be +tested whether an error occured or not. + There is an example at the end of this section. @end deftypefun @@ -504,6 +510,51 @@ value with type @code{unsigned long int}. No @samp{+} or @samp{-} sign may appear before the number, but the syntax is otherwise the same as described above for @code{strtol}. The value returned in case of overflow is @code{ULONG_MAX} (@pxref{Range of Type}). + +Like @code{strtol} this function sets @code{errno} and returns the value +@code{0ul} in case the value for @var{base} is not in the legal range. +For @code{strtoul} this can happen in another situation. In case the +number to be converted is negative @code{strtoul} also sets @code{errno} +to @code{EINVAL} and returns @code{0ul}. +@end deftypefun + +@comment stdlib.h +@comment BSD +@deftypefun {long long int} strtoq (const char *@var{string}, char **@var{tailptr}, int @var{base}) +The @code{strtoq} (``string-to-quad-word'') function is like +@code{strtol} except that is deals with extra long numbers and it +returns its value with type @code{long long int}. + +If the string has valid syntax for an integer but the value is not +representable because of overflow, @code{strtoq} returns either +@code{LONG_LONG_MAX} or @code{LONG_LONG_MIN} (@pxref{Range of Type}), as +appropriate for the sign of the value. It also sets @code{errno} to +@code{ERANGE} to indicate there was overflow. +@end deftypefun + +@comment stdlib.h +@comment GNU +@deftypefun {long long int} strtoll (const char *@var{string}, char **@var{tailptr}, int @var{base}) +@code{strtoll} is only an commonly used other name for the @code{strtoq} +function. Everything said for @code{strtoq} applies to @code{strtoll} +as well. +@end deftypefun + +@comment stdlib.h +@comment BSD +@deftypefun {unsigned long long int} strtouq (const char *@var{string}, char **@var{tailptr}, int @var{base}) +The @code{strtouq} (``string-to-unsigned-quad-word'') function is like +@code{strtoul} except that is deals with extra long numbers and it +returns its value with type @code{unsigned long long int}. The value +returned in case of overflow is @code{ULONG_LONG_MAX} (@pxref{Range of Type}). +@end deftypefun + +@comment stdlib.h +@comment GNU +@deftypefun {unsigned long long int} strtoull (const char *@var{string}, char **@var{tailptr}, int @var{base}) +@code{strtoull} is only an commonly used other name for the @code{strtouq} +function. Everything said for @code{strtouq} applies to @code{strtoull} +as well. @end deftypefun @comment stdlib.h @@ -523,6 +574,29 @@ value rather than @code{long int}. The @code{atoi} function is also considered obsolete; use @code{strtol} instead. @end deftypefun +The POSIX locales contain some information about how to format numbers +(@pxref{General Numeric}). This mainly deals with representing numbers +for better readability for humans. The functions present so far in this +section cannot handle numbers in this form. + +If this functionality is needed in a program one can use the functions +from the @code{scanf} family which know about the flag @samp{'} for +parsing numeric input (@pxref{Numeric Input Conversions}). Sometimes it +is more desirable to have finer control. + +In these situation one could use the function +@code{__strto@var{XXX}_internal}. @var{XXX} here stands for any of the +above forms. All numeric conversion functions (including the functions +to process floating-point numbers) have such a counterpart. The +difference to the normal for is the extra argument at the end of the +parameter list. If this value has an non-zero value the handling of +number grouping is enabled. The advantage from using these functions is +that the @var{tailptr} parameters allow to determine which part of the +input is processed. The @code{scanf} functions don't provide this +information. The drawback of using these functions is that they are not +portable. They only exist in the GNU C library. + + Here is a function which parses a string as a sequence of integers and returns the sum of them: @@ -604,8 +678,8 @@ number, no conversion is performed. In this case, @code{strtod} returns a value of zero and the value returned in @code{*@var{tailptr}} is the value of @var{string}. -In a locale other than the standard @code{"C"} locale, this function may -recognize additional locale-dependent syntax. +In a locale other than the standard @code{"C"} or @code{"POSIX"} locale, +this function may recognize additional locale-dependent syntax. If the string has valid syntax for a floating-point number but the value is not representable because of overflow, @code{strtod} returns either @@ -613,9 +687,55 @@ positive or negative @code{HUGE_VAL} (@pxref{Mathematics}), depending on the sign of the value. Similarly, if the value is not representable because of underflow, @code{strtod} returns zero. It also sets @code{errno} to @code{ERANGE} if there was overflow or underflow. + +Since the value zero which is returned in the error case is also a valid +result the user should set the global variable @code{errno} to null +before calling this function. So one can test for failures after the +call since all failures set @code{errno} to a non-zero value. @end deftypefun @comment stdlib.h +@comment GNU +@deftypefun float strtof (const char *@var{string}, char **@var{tailptr}) +This function is similar to the @code{strtod} function but it returns a +@code{float} value instead of a @code{double} value. If the precision +of a @code{float} value is sufficent this function should be used since +it is much faster than @code{strtod} on some architectures. The reasons +are obvious: @w{IEEE 754} defines @code{float} to have a mantissa of 23 +bits while @code{double} has 53 bits and every additional bit of +precision can require additional computation. + +If the string has valid syntax for a floating-point number but the value +is not representable because of overflow, @code{strtof} returns either +positive or negative @code{HUGE_VALf} (@pxref{Mathematics}), depending on +the sign of the value. + +This function is a GNU extension. +@end deftypefun + +@comment stdlib.h +@comment GNU +@deftypefun {long double} strtold (const char *@var{string}, char **@var{tailptr}) +This function is similar to the @code{strtod} function but it returns a +@code{long double} value instead of a @code{double} value. It should be +used when high presision is used. On systems which define a @code{long +double} type (i.e., on which it is not the same as @code{double}) +running this function might take significently more time since more bits +of precision are required. + +If the string has valid syntax for a floating-point number but the value +is not representable because of overflow, @code{strtold} returns either +positive or negative @code{HUGE_VALl} (@pxref{Mathematics}), depending on +the sign of the value. + +This function is a GNU extension. +@end deftypefun + +As for the integer parsing functions there are additional functions +which will handle numbers represented using the grouping scheme of the +current locale (@pxref{Parsing of Integers}). + +@comment stdlib.h @comment ANSI @deftypefun double atof (const char *@var{string}) This function is similar to the @code{strtod} function, except that it diff --git a/manual/creature.texi b/manual/creature.texi index 6b4d42fbe9..37dee54b56 100644 --- a/manual/creature.texi +++ b/manual/creature.texi @@ -67,15 +67,31 @@ the normal C library. @comment GNU @defvr Macro _SVID_SOURCE If you define this macro, functionality derived from SVID is -included as well as the ANSI C, POSIX.1, and POSIX.2 material. +included as well as the ANSI C, POSIX.1, POSIX.2, and X/Open material. +@end defvr + +@comment (none) +@comment XOPEN +@defvr Macro _XOPEN_SOURCE +If you define these macro, functionality described in the X/Open +Portability Guide is included. This is an superset of the POSIX.1 and +POSIX.2 functionality and in fact @code{_POSIX_SOURCE} and +@code{_POSIX_C_SOURCE} get automatically be defined. + +But as the great unifaction of all Unices there is also functionality +only available in BSD and SVID is included. + +If the macro @code{_XOPEN_SOURCE_EXTENDED} is also defined, even more +functionality is available. The extra functions will make all functions +available which are necessary for the X/Open Unix brand. @end defvr @comment (none) @comment GNU @defvr Macro _GNU_SOURCE If you define this macro, everything is included: ANSI C, POSIX.1, -POSIX.2, BSD, SVID, and GNU extensions. In the cases where POSIX.1 -conflicts with BSD, the POSIX definitions take precedence. +POSIX.2, BSD, SVID, X/Open, and GNU extensions. In the cases where +POSIX.1 conflicts with BSD, the POSIX definitions take precedence. If you want to get the full effect of @code{_GNU_SOURCE} but make the BSD definitions take precedence over the POSIX definitions, use this @@ -96,8 +112,8 @@ get very strange errors at run time. @comment (none) @comment GNU @defvr Macro _REENTRANT,_THREAD_SAFE -If you define this macro, reentrant versions of several functions get -declared. Some of the functions is specified in POSIX.1c but many others +If you define one this macro, reentrant versions of several functions get +declared. Some of the functions are specified in POSIX.1c but many others are only available on a few other systems or are unique to GNU libc. The problem is that the standardization of the thread safe C library interface still is behind. diff --git a/manual/intro.texi b/manual/intro.texi index 19f04a1474..382f35c039 100644 --- a/manual/intro.texi +++ b/manual/intro.texi @@ -78,11 +78,11 @@ standards each function or symbol comes from. @menu * ANSI C:: The American National Standard for the - C programming language. + C programming language. * POSIX:: The IEEE 1003 standards for operating - systems. + systems. * Berkeley Unix:: BSD and SunOS. -* SVID:: The System V Interface Description. +* SVID:: The System V Interface Description. @end menu @node ANSI C, POSIX, , Standards and Portability @@ -152,7 +152,7 @@ pattern matching facilities (@pxref{Pattern Matching}). @comment Roland sez: @comment The GNU C library as it stands conforms to 1003.2 draft 11, which @comment specifies: -@comment +@comment @comment Several new macros in <limits.h>. @comment popen, pclose @comment <regex.h> (which is not yet fully implemented--wait on this) @@ -210,7 +210,7 @@ the GNU C library. @menu * Header Files:: How to include the header files in your - programs. + programs. * Macro Definitions:: Some functions in the library may really be implemented as macros. * Reserved Names:: The C standard reserves some names for @@ -332,7 +332,7 @@ function---perhaps to make your program easier to debug. There are two ways you can do this: @itemize @bullet -@item +@item You can avoid a macro definition in a specific use by enclosing the name of the function in parentheses. This works because the name of the function doesn't appear in a syntactic context where it is recognizable @@ -429,7 +429,7 @@ raise the possibility of conflict with future versions of the C or POSIX standards, so you should avoid these names. @itemize @bullet -@item +@item Names beginning with a capital @samp{E} followed a digit or uppercase letter may be used for additional error code names. @xref{Error Reporting}. @@ -526,11 +526,11 @@ Here is an overview of the contents of the remaining chapters of this manual. @itemize @bullet -@item +@item @ref{Error Reporting}, describes how errors detected by the library are reported. -@item +@item @ref{Language Features}, contains information about library support for standard parts of the C language, including things like the @code{sizeof} operator and the symbolic constant @code{NULL}, how to write functions @@ -539,18 +539,18 @@ ranges and other properties of the numerical types. There is also a simple debugging mechanism which allows you to put assertions in your code, and have diagnostic messages printed if the tests fail. -@item +@item @ref{Memory Allocation}, describes the GNU library's facilities for dynamic allocation of storage. If you do not know in advance how much storage your program needs, you can allocate it dynamically instead, and manipulate it via pointers. -@item +@item @ref{Character Handling}, contains information about character classification functions (such as @code{isspace}) and functions for performing case conversion. -@item +@item @ref{String and Array Utilities}, has descriptions of functions for manipulating strings (null-terminated character arrays) and general byte arrays, including operations such as copying and comparison. @@ -595,7 +595,7 @@ Internet host addressing and how to use the system network databases. attributes of a terminal device. If you want to disable echo of characters typed by the user, for example, read this chapter. -@item +@item @ref{Mathematics}, contains information about the math library functions. These include things like random-number generators and remainder functions on integers as well as the usual trigonometric and @@ -606,7 +606,7 @@ exponential functions on floating-point numbers. for simple arithmetic, analysis of floating-point values, and reading numbers from strings. -@item +@item @ref{Searching and Sorting}, contains information about functions for searching and sorting arrays. You can use these functions on any kind of array by providing an appropriate comparison function. @@ -619,13 +619,13 @@ and shell file name patterns, and for expanding words as the shell does. @ref{Date and Time}, describes functions for measuring both calendar time and CPU time, as well as functions for setting alarms and timers. -@item +@item @ref{Extended Characters}, contains information a |
