summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog43
-rw-r--r--intl/localealias.c5
-rw-r--r--manual/.cvsignore2
-rw-r--r--manual/argp.texi3
-rw-r--r--manual/arith.texi3
-rw-r--r--manual/conf.texi9
-rw-r--r--manual/errno.texi8
-rw-r--r--manual/examples/rprintf.c4
-rw-r--r--manual/examples/testopt.c3
-rw-r--r--manual/filesys.texi13
-rw-r--r--manual/header.texi7
-rw-r--r--manual/lgpl.texinfo2
-rw-r--r--manual/math.texi33
-rw-r--r--manual/message.texi3
-rw-r--r--manual/pattern.texi21
-rw-r--r--manual/process.texi8
-rw-r--r--manual/signal.texi12
-rw-r--r--manual/socket.texi18
-rw-r--r--manual/startup.texi32
-rw-r--r--manual/stdio.texi23
-rw-r--r--manual/terminal.texi23
-rw-r--r--posix/wordexp.c19
-rw-r--r--sysdeps/generic/strtok_r.c5
-rw-r--r--sysdeps/i386/i686/Implies1
-rw-r--r--sysdeps/i386/strtok_r.S3
-rw-r--r--sysdeps/libm-i387/i686/s_fdim.S7
-rw-r--r--sysdeps/libm-i387/i686/s_fdimf.S7
-rw-r--r--sysdeps/libm-i387/i686/s_fdiml.S7
-rw-r--r--sysdeps/libm-i387/i686/s_fmin.S4
-rw-r--r--sysdeps/libm-i387/i686/s_fminf.S4
-rw-r--r--sysdeps/libm-i387/i686/s_fminl.S4
31 files changed, 213 insertions, 123 deletions
diff --git a/ChangeLog b/ChangeLog
index e01da9869d..09a58877c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,46 @@
+1998-03-19 14:28 Ulrich Drepper <drepper@cygnus.com>
+
+ * sysdeps/generic/strtok_r.c: Make __strtok_r real name and strtok_r
+ weak alias.
+ * sysdeps/i386/strtok_r.c: Likewise.
+
+ * sysdeps/libm-i387/i686/s_fdim.S: Make it really work.
+ * sysdeps/libm-i387/i686/s_fdimf.S: Likewise.
+ * sysdeps/libm-i387/i686/s_fdiml.S: Likewise.
+ * sysdeps/libm-i387/i686/s_fmin.S: Likewise.
+ * sysdeps/libm-i387/i686/s_fminf.S: Likewise.
+ * sysdeps/libm-i387/i686/s_fminl.S: Likewise.
+
+1998-03-19 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * intl/localealias.c: Remove unneeded define for strdup.
+
+1998-03-19 13:45 Ulrich Drepper <drepper@cygnus.com>
+
+ * manual/argp.texi: Adjust for better TeX output.
+ * manual/arith.texi: Likewise.
+ * manual/conf.texi: Likewise.
+ * manual/filesys.texi: Likewise.
+ * manual/header.texi: Likewise.
+ * manual/lgpl.texinfo: Likewise.
+ * manual/math.texi: Likewise.
+ * manual/message.texi: Likewise.
+ * manual/pattern.texi: Likewise.
+ * manual/process.texi: Likewise.
+ * manual/signal.texi: Likewise.
+ * manual/socket.texi: Likewise.
+ * manual/startup.texi: Likewise.
+ * manual/stdio.texi: Likewise.
+ * manual/terminal.texi: Likewise.
+ * manual/examples/rprintf.c: Likewise.
+ * manual/examples/testopt.c: Likewise.
+ Patches by Zack Weinberg <zack@rabi.phys.columbia.edu>.
+
+1998-03-19 20:45 Tim Waugh <tim@cyberelk.demon.co.uk>
+
+ * posix/wordexp.c (parse_param): Don't immediately stop parsing a
+ parameter name after seeing a digit if it's enclosed in braces.
+
1998-03-18 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/memory.texi (Heap Consistency Checking): Document
diff --git a/intl/localealias.c b/intl/localealias.c
index 58ed2708ae..d6ddf0c2c6 100644
--- a/intl/localealias.c
+++ b/intl/localealias.c
@@ -1,5 +1,5 @@
/* Handle aliases for locale names.
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. Its master source is NOT part of
the C library, however.
@@ -82,12 +82,11 @@ void free ();
because some ANSI C functions will require linking with this object
file and the name space must not be polluted. */
# define strcasecmp __strcasecmp
-# define strdup __strdup
# define mempcpy __mempcpy
# define HAVE_MEMPCPY 1
-/* We need locking here since we can be called from different palces. */
+/* We need locking here since we can be called from different places. */
# include <bits/libc-lock.h>
__libc_lock_define_initialized (static, lock);
diff --git a/manual/.cvsignore b/manual/.cvsignore
index 7c305176da..92494696db 100644
--- a/manual/.cvsignore
+++ b/manual/.cvsignore
@@ -9,4 +9,4 @@ glibc-*
*.cp *.cps *.fn *.fns *.vr *.vrs *.tp *.tps *.ky *.kys *.pg *.pgs
chapters chapters-incl1 chapters-incl2 summary.texi stamp-*
-distinfo dir-add.texi
+distinfo dir-add.texinfo
diff --git a/manual/argp.texi b/manual/argp.texi
index 84b131f36a..4b72ebe5a7 100644
--- a/manual/argp.texi
+++ b/manual/argp.texi
@@ -480,7 +480,8 @@ case ARGP_KEY_ARG:
/* First argument */
first_arg = @var{arg};
else
- return ARGP_KEY_UNKNOWN; /* Let the next case parse it. */
+ /* Let the next case parse it. */
+ return ARGP_KEY_UNKNOWN;
break;
case ARGP_KEY_ARGS:
remaining_args = @var{state}->argv + @var{state}->next;
diff --git a/manual/arith.texi b/manual/arith.texi
index 0d62e419b0..9db50cf05e 100644
--- a/manual/arith.texi
+++ b/manual/arith.texi
@@ -1,4 +1,6 @@
@c We need some definitions here.
+@c No we don't, they were done by math.texi. -zw
+@ignore
@ifclear cdot
@ifhtml
@set cdot ·
@@ -19,6 +21,7 @@ x
@end macro
@end ifclear
@end ifclear
+@end ignore
@node Arithmetic, Date and Time, Mathematics, Top
@chapter Low-Level Arithmetic Functions
diff --git a/manual/conf.texi b/manual/conf.texi
index 86e29a8e04..34554bc35f 100644
--- a/manual/conf.texi
+++ b/manual/conf.texi
@@ -315,6 +315,10 @@ Here are the symbolic constants for use as the @var{parameter} argument
to @code{sysconf}. The values are all integer constants (more
specifically, enumeration type values).
+@c This table runs a bit wide.
+@iftex
+@indexfonts
+@end iftex
@table @code
@comment unistd.h
@comment POSIX.1
@@ -604,7 +608,7 @@ Inquire about the parameter corresponding to @code{_POSIX_TTY_NAME_MAX}.
@comment POSIX.1
@item _SC_THREAD_DESTRUCTOR_ITERATIONS
Inquire about the parameter corresponding to
-@code{_POSIX_THREAD_DESTRUCTOR_ITERATIONS}.
+@code{_POSIX_THREAD_DESTRUCTOR_@*ITERATIONS}.
@comment unistd.h
@comment POSIX.1
@@ -960,6 +964,9 @@ Inquire about the parameter corresponding to @code{NL_SETMAX}.
@item _SC_NL_TEXTMAX
Inquire about the parameter corresponding to @code{NL_TEXTMAX}.
@end table
+@iftex
+@textfonts
+@end iftex
@node Examples of Sysconf
@subsection Examples of @code{sysconf}
diff --git a/manual/errno.texi b/manual/errno.texi
index 86b4c74e7a..5eb6eae3f5 100644
--- a/manual/errno.texi
+++ b/manual/errno.texi
@@ -977,19 +977,19 @@ They are not yet documented.}
@end deftypevr
@comment errno.h
-@comment Linux???: Level 2 not synchronized
+@comment Obsolete: Level 2 not synchronized
@deftypevr Macro int EL2NSYNC
@comment errno ???/45
@end deftypevr
@comment errno.h
-@comment Linux???: Level 3 halted
+@comment Obsolete: Level 3 halted
@deftypevr Macro int EL3HLT
@comment errno ???/46
@end deftypevr
@comment errno.h
-@comment Linux???: Level 3 reset
+@comment Obsolete: Level 3 reset
@deftypevr Macro int EL3RST
@comment errno ???/47
@end deftypevr
@@ -1013,7 +1013,7 @@ They are not yet documented.}
@end deftypevr
@comment errno.h
-@comment Linux???: Level 2 halted
+@comment Obsolete: Level 2 halted
@deftypevr Macro int EL2HLT
@comment errno ???/51
@end deftypevr
diff --git a/manual/examples/rprintf.c b/manual/examples/rprintf.c
index 723b3a3ef0..bac17b49e5 100644
--- a/manual/examples/rprintf.c
+++ b/manual/examples/rprintf.c
@@ -10,7 +10,9 @@ typedef struct
/*@end group*/
int
-print_widget (FILE *stream, const struct printf_info *info, va_list *app)
+print_widget (FILE *stream,
+ const struct printf_info *info,
+ va_list *app)
{
Widget *w;
char *buffer;
diff --git a/manual/examples/testopt.c b/manual/examples/testopt.c
index 8ebc9b6f7a..94baf4db55 100644
--- a/manual/examples/testopt.c
+++ b/manual/examples/testopt.c
@@ -41,7 +41,8 @@ main (int argc, char **argv)
/*@end group*/
/*@group*/
- printf ("aflag = %d, bflag = %d, cvalue = %s\n", aflag, bflag, cvalue);
+ printf ("aflag = %d, bflag = %d, cvalue = %s\n",
+ aflag, bflag, cvalue);
for (index = optind; index < argc; index++)
printf ("Non-option argument %s\n", argv[index]);
diff --git a/manual/filesys.texi b/manual/filesys.texi
index 951ae7956c..6e4baa5673 100644
--- a/manual/filesys.texi
+++ b/manual/filesys.texi
@@ -86,7 +86,7 @@ Permission to read or search a component of the file name was denied.
@end table
@end deftypefun
-Here is an example showing how you could implement the behavior of GNU's
+Here is an example showing how you could implement the behavior of GNU's@*
@w{@code{getcwd (NULL, 0)}} using only the standard behavior of
@code{getcwd}:
@@ -230,17 +230,18 @@ A character device.
A block device.
@end table
-This member is a BSD extension. Each value except DT_UNKNOWN
+This member is a BSD extension. On systems where it is used, it
corresponds to the file type bits in the @code{st_mode} member of
-@code{struct statbuf}. These two macros convert between @code{d_type}
-values and @code{st_mode} values:
+@code{struct statbuf}. On other systems it will always be DT_UNKNOWN.
+These two macros convert between @code{d_type} values and @code{st_mode}
+values:
@deftypefun int IFTODT (mode_t @var{mode})
This returns the @code{d_type} value corresponding to @var{mode}.
@end deftypefun
-@deftypefun mode_t DTTOIF (int @var{dirtype})
-This returns the @code{st_mode} value corresponding to @var{dirtype}.
+@deftypefun mode_t DTTOIF (int @var{dtype})
+This returns the @code{st_mode} value corresponding to @var{dtype}.
@end deftypefun
@end table
diff --git a/manual/header.texi b/manual/header.texi
index 066fdbf1aa..b6ca60ee96 100644
--- a/manual/header.texi
+++ b/manual/header.texi
@@ -7,8 +7,15 @@ standard or other source from which each facility is derived, and tells
you where in the manual you can find more information about how to use
it.
+@c This table runs wide. Shrink fonts.
+@iftex
+@indexfonts @rm
+@end iftex
@table @code
@comment summary.texi is generated from the other Texinfo files.
@comment See the Makefile and summary.awk for the details.
@include summary.texi
@end table
+@iftex
+@textfonts @rm
+@end iftex
diff --git a/manual/lgpl.texinfo b/manual/lgpl.texinfo
index f5d97a8d3d..6bb32205ba 100644
--- a/manual/lgpl.texinfo
+++ b/manual/lgpl.texinfo
@@ -112,7 +112,7 @@ works together with the library.
General Public License rather than by this special one.
@iftex
-@unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+@unnumberedsec TERMS AND CONDITIONS FOR COPYING,@*DISTRIBUTION AND MODIFICATION
@end iftex
@ifinfo
@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
diff --git a/manual/math.texi b/manual/math.texi
index b784afe52b..28cc4a59be 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -1,24 +1,16 @@
@c We need some definitions here.
-@ifclear cdot
@ifhtml
-@set cdot ·
-@macro mul
-@end macro
+@set mult ·
@end ifhtml
@iftex
-@set cdot ·
-@macro mul
-@cdot
-@end macro
+@set mult @cdot
@end iftex
-@ifclear cdot
-@set cdot x
+@ifclear mult
+@set mult x
+@end ifclear
@macro mul
-x
+@value{mult}
@end macro
-@end ifclear
-@end ifclear
@iftex
@set infty @infty
@end iftex
@@ -443,7 +435,7 @@ Another possibility which is useful in several situations is
@deftypefun int feholdexcept (fenv_t *@var{envp})
Store the current floating-point environment in the object pointed to by
@var{envp}. Afterwards, all exception flags are cleared and if
-available a mode is installed which continues on all exception and does
+available a mode is installed which continues on all exceptions and does
not cause a trap to occur. In this case a nonzero value is returned.
If the floating-point implementation does not support such a non-stop
@@ -455,8 +447,8 @@ restored can take two kinds of arguments:
@itemize @bullet
@item
-Pointed to objects which previously were initialized by a call to
-@code{fegetenv} or @code{feholdexcept}.
+Pointers to @code{fenv_t} objects which were initialized previously by a
+call to @code{fegetenv} or @code{feholdexcept}.
@item
@vindex FE_DFL_ENV
The special macro @code{FE_DFL_ENV} which represents the floating-point
@@ -466,10 +458,11 @@ Implementation defined macros with names starting with @code{FE_}.
@vindex FE_NOMASK_ENV
If possible, the GNU C Library defines a macro @code{FE_NOMASK_ENV}
-which represents an environment where no exception is masked and so each
-raised exception causes a trap to occur. Whether this macro is available can easily be tested using @code{#ifdef}.
+which represents an environment where no exceptions are masked, so every
+exception raised causes a trap to occur. You can test for this macro
+using @code{#ifdef}.
-Some platforms might define further predefined environments.
+Some platforms might define other predefined environments.
@end itemize
@noindent
diff --git a/manual/message.texi b/manual/message.texi
index a292b78531..3c8650fb20 100644
--- a/manual/message.texi
+++ b/manual/message.texi
@@ -673,7 +673,8 @@ int
main (void)
@{
nl_catd catdesc = catopen ("hello.cat", NL_CAT_LOCALE);
- printf (catgets (catdesc, SetMainSet, SetMainHello, "Hello, world!\n"));
+ printf (catgets (catdesc, SetMainSet, SetMainHello,
+ "Hello, world!\n"));
catclose (catdesc);
return 0;
@}
diff --git a/manual/pattern.texi b/manual/pattern.texi
index bd5658dd67..90529bace6 100644
--- a/manual/pattern.texi
+++ b/manual/pattern.texi
@@ -196,8 +196,8 @@ This is a GNU extension.
The address of an alternative implementation of the @code{lstat}
function to get information about an object in the filesystems, not
following symbolic links. It is used if the @code{GLOB_ALTDIRFUNC} bit
-is set in the flag parameter. The type of this field is @w{@code{int
-(*) (const char *, struct stat *)}}.
+is set in the flag parameter. The type of this field is @code{@w{int
+(*) (const char *,} @w{struct stat *)}}.
This is a GNU extension.
@end table
@@ -847,13 +847,16 @@ actually matches is near the end of the first word. But it is
@code{regexec} reports nonuse of the ``na'' subexpression.
Another place where this rule applies is when the regular expression
-@w{@samp{\(ba\(na\)*s \|nefer\(ti\)* \)*}} matches @samp{bananas nefertiti}.
-The ``na'' subexpression does match in the first word, but it doesn't
-match in the second word because the other alternative is used there.
-Once again, the second repetition of the outer subexpression overrides
-the first, and within that second repetition, the ``na'' subexpression
-is not used. So @code{regexec} reports nonuse of the ``na''
-subexpression.
+@smallexample
+\(ba\(na\)*s \|nefer\(ti\)* \)*
+@end smallexample
+@noindent
+matches @samp{bananas nefertiti}. The ``na'' subexpression does match
+in the first word, but it doesn't match in the second word because the
+other alternative is used there. Once again, the second repetition of
+the outer subexpression overrides the first, and within that second
+repetition, the ``na'' subexpression is not used. So @code{regexec}
+reports nonuse of the ``na'' subexpression.
@node Regexp Cleanup
@subsection POSIX Regexp Matching Cleanup
diff --git a/manual/process.texi b/manual/process.texi
index 71fc707f9a..b1f5ef469a 100644
--- a/manual/process.texi
+++ b/manual/process.texi
@@ -709,19 +709,19 @@ the following members:
@table @code
@item int w_termsig
-The value of this member is the same as the result of the
+The value of this member is the same as that of the
@code{WTERMSIG} macro.
@item int w_coredump
-The value of this member is the same as the result of the
+The value of this member is the same as that of the
@code{WCOREDUMP} macro.
@item int w_retcode
-The value of this member is the same as the result of the
+The value of this member is the same as that of the
@code{WEXITSTATUS} macro.
@item int w_stopsig
-The value of this member is the same as the result of the
+The value of this member is the same as that of the
@code{WSTOPSIG} macro.
@end table
diff --git a/manual/signal.texi b/manual/signal.texi
index 177b3b98c0..dd1666c3af 100644
--- a/manual/signal.texi
+++ b/manual/signal.texi
@@ -2285,12 +2285,12 @@ for some special system processes. Otherwise, send the signal to all
processes with the same effective user ID.
@end table
-A process can send a signal @var{signum} to itself with a call like
-@w{@code{kill (getpid(), @var{signum})}}. If @code{kill} is used by a
-process to send a signal to itself, and the signal is not blocked, then
-@code{kill} delivers at least one signal (which might be some other
-pending unblocked signal instead of the signal @var{signum}) to that
-process before it returns.
+A process can send a signal to itself with a call like @w{@code{kill
+(getpid(), @var{signum})}}. If @code{kill} is used by a process to send
+a signal to itself, and the signal is not blocked, then @code{kill}
+delivers at least one signal (which might be some other pending
+unblocked signal instead of the signal @var{signum}) to that process
+before it returns.
The return value from @code{kill} is zero if the signal can be sent
successfully. Otherwise, no signal is sent, and a value of @code{-1} is
diff --git a/manual/socket.texi b/manual/socket.texi
index 1135230cb0..dcd288b12c 100644
--- a/manual/socket.texi
+++ b/manual/socket.texi
@@ -792,7 +792,7 @@ be better if the usage were made consistent, but it is not hard to extract
the integer from the structure or put the integer into a structure.
The following basic definitions for Internet addresses appear in the
-header file @file{netinet/in.h}:
+header file@*@file{netinet/in.h}:
@pindex netinet/in.h
@comment netinet/in.h
@@ -866,8 +866,9 @@ own variables to this value.
@subsubsection Host Address Functions
@pindex arpa/inet.h
+@noindent
These additional functions for manipulating Internet addresses are
-declared in @file{arpa/inet.h}. They represent Internet addresses in
+declared in@*@file{arpa/inet.h}. They represent Internet addresses in
network byte order; they represent network numbers and
local-address-within-network numbers in host byte order.
@xref{Byte Order}, for an explanation of network and host byte order.
@@ -1244,6 +1245,7 @@ service at port @var{port} using protocol @var{proto}. If it can't
find such a service, it returns a null pointer.
@end deftypefun
+@noindent
You can also scan the services database using @code{setservent},
@code{getservent}, and @code{endservent}. Be careful in using these
functions, because they are not reentrant.
@@ -2689,8 +2691,17 @@ This function is used to set the socket option @var{optname} at level
@var{level} for socket @var{socket}. The value of the option is passed
in the buffer @var{optval}, which has size @var{optlen}.
+@c Argh. -zw
+@iftex
+@hfuzz 6pt
The return value and error codes for @code{setsockopt} are the same as
for @code{getsockopt}.
+@end iftex
+@ifinfo
+The return value and error codes for @code{setsockopt} are the same as
+for @code{getsockopt}.
+@end ifinfo
+
@end deftypefun
@node Socket-Level Options
@@ -2705,8 +2716,9 @@ this section.
@end deftypevr
@pindex sys/socket.h
+@noindent
Here is a table of socket-level option names; all are defined in the
-header file @file{sys/socket.h}.
+header file@*@file{sys/socket.h}.
@table @code
@comment sys/socket.h
diff --git a/manual/startup.texi b/manual/startup.texi
index 7e42bb9c7b..2a55e3934e 100644
--- a/manual/startup.texi
+++ b/manual/startup.texi
@@ -409,7 +409,7 @@ these environment variable names for some other purpose.
@comment Extra blank lines make it look better.
@table @code
@item HOME
-@cindex HOME environment variable
+@cindex @code{HOME} environment variable
@cindex home directory
This is a string representing the user's @dfn{home directory}, or
@@ -425,7 +425,7 @@ this lets the user specify the value.
@c !!! also USER
@item LOGNAME
-@cindex LOGNAME environment variable
+@cindex @code{LOGNAME} environment variable
This is the name that the user used to log in. Since the value in the
environment can be tweaked arbitrarily, this is not a reliable way to
@@ -436,7 +436,7 @@ For most purposes, it is better to use @code{LOGNAME}, precisely because
this lets the user specify the value.
@item PATH
-@cindex PATH environment variable
+@cindex @code{PATH} environment variable
A @dfn{path} is a sequence of directory names which is used for
searching for a file. The variable @code{PATH} holds a path used
@@ -463,7 +463,7 @@ the one that is executed.
@c !!! also TERMCAP
@item TERM
-@cindex TERM environment variable
+@cindex @code{TERM} environment variable
This specifies the kind of terminal that is receiving program output.
Some programs can make use of this information to take advantage of
@@ -473,13 +473,13 @@ of terminals. Many programs which use the termcap library
Manual}) use the @code{TERM} environment variable, for example.
@item TZ
-@cindex TZ environment variable
+@cindex @code{TZ} environment variable
This specifies the time zone. @xref{TZ Variable}, for information about
the format of this string and how it is used.
@item LANG
-@cindex LANG environment variable
+@cindex @code{LANG} environment variable
This specifies the default locale to use for attribute categories where
neither @code{LC_ALL} nor the specific environment variable for that
@@ -489,7 +489,7 @@ locales.
@ignore
@c I doubt this really exists
@item LC_ALL
-@cindex LC_ALL environment variable
+@cindex @code{LC_ALL} environment variable
This is similar to the @code{LANG} environment variable. However, its
value takes precedence over any values provided for the individual
@@ -498,7 +498,7 @@ environment variable.
@end ignore
@item LC_ALL
-@cindex LC_ALL environment variable
+@cindex @code{LC_ALL} environment variable
If this environment variable is set it overrides the selection for all
the locales done using the other @code{LC_*} environment variables. The
@@ -506,45 +506,45 @@ value of the other @code{LC_*} environment variables is simply ignored
in this case.
@item LC_COLLATE
-@cindex LC_COLLATE environment variable
+@cindex @code{LC_COLLATE} environment variable
This specifies what locale to use for string sorting.
@item LC_CTYPE
-@cindex LC_CTYPE environment variable
+@cindex @code{LC_CTYPE} environment variable
This specifies what locale to use for character sets and character
classification.
@item LC_MESSAGES
-@cindex LC_MESSAGES environment variable
+@cindex @code{LC_MESSAGES} environment variable
This specifies what locale to use for printing messages and to parse
responses.
@item LC_MONETARY
-@cindex LC_MONETARY environment variable
+@cindex @code{LC_MONETARY} environment variable
This specifies what locale to use for formatting monetary values.
@item LC_NUMERIC
-@cindex LC_NUMERIC environment variable
+@cindex @code{LC_NUMERIC} environment variable
This specifies what locale to use for formatting numbers.
@item LC_TIME
-@cindex LC_TIME environment variable
+@cindex @code{LC_TIME} environment variable
This specifies what locale to use for formatting date/time values.
@item NLSPATH
-@cindex NLSPATH environment variable
+@cindex @code{NLSPATH} environment variable
This specifies the directories in which the @code{catopen} function
looks for message translation catalogs.
@item _POSIX_OPTION_ORDER
-@cindex _POSIX_OPTION_ORDER environment variable.
+@cindex @code{_POSIX_OPTION_ORDER} environment variable.
If this environment variable is defined, it suppresses the usual
reordering of command line arguments by @code{getopt} and
diff --git a/manual/stdio.texi b/manual/stdio.texi
index 58605702e0..7b56787e95 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -1,5 +1,9 @@
@node I/O on Streams, Low-Level I/O, I/O Overview, Top
@chapter Input/Output on Streams
+@c fix an overfull:
+@tex
+\hyphenation{which-ever}
+@end tex
This chapter describes the functions for creating streams and performing
input and output operations on them. As discussed in @ref{I/O
@@ -1541,11 +1545,13 @@ make_message (char *name, char *value)
@group
if (nchars >= size)
@{
- /* @r{Reallocate buffer now that we know how much space is needed.} */
+ /* @r{Reallocate buffer now that we know
+ how much space is needed.} */
buffer = (char *) xrealloc (buffer, nchars + 1);
/* @r{Try again.} */
- snprintf (buffer, size, "value of %s is %s", name, value);
+ snprintf (buffer, size, "value of %s is %s",
+ name, value);
@}
/* @r{The last call worked, return the string.} */
return buffer;
@@ -1621,7 +1627,8 @@ the GNU C compiler provides a way to do this much more easily with macros.
For example:
@smallexample
-#define myprintf(a, b, c, d, e, rest...) printf (mytemplate , ## rest...)
+#define myprintf(a, b, c, d, e, rest...) \
+ printf (mytemplate , ## rest...)
@end smallexample
@noindent
@@ -2057,11 +2064,11 @@ If you define a meaning for @samp{%A}, what if the template contains
the handler when called needs to be able to get the options specified in
the template.
-Both the @var{handler-function} and @var{arginfo-function} arguments
-to @code{register_printf_function} accept an argument that points to a
-@code{struct printf_info}, which contains information about the options
-appearing in an instance of the conversion specifier. This data type
-is declared in the header file @file{printf.h}.
+Both the @var{handler-function} and @var{arginfo-function} accept an
+argument that points to a @code{struct printf_info}, which contains
+information about the options appearing in an instance of the conversion
+specifier. This data type is declared in the header file
+@file{printf.h}.
@pindex printf.h
@comment printf.h
diff --git a/manual/terminal.texi b/manual/terminal.texi
index 0417a63bd8..bd897ab06e 100644
--- a/manual/terminal.texi
+++ b/manual/terminal.texi
@@ -73,18 +73,17 @@ The @dfn{terminal input queue} is also sometimes referred to as its
@dfn{typeahead buffer}. It holds the characters that have been received
from the terminal but not yet read by any process.
-The size of the terminal's input queue is described by the
-@code{MAX_INPUT} and @w{@code{_POSIX_MAX_INPUT}} parameters; see @ref{Limits
-for Files}. You are guaranteed a queue size of at least
-@code{MAX_INPUT}, but the queue might be larger, and might even
-dynamically change size. If input flow control is enabled by setting
-the @code{IXOFF} input mode bit (@pxref{Input Modes}), the terminal
-driver transmits STOP and START characters to the terminal when
-necessary to prevent the queue from overflowing. Otherwise, input may
-be lost if it comes in too fast from the terminal. In canonical mode,
-all input stays in the queue until a newline character is received, so
-the terminal input queue can fill up when you type a very long line.
-@xref{Canonical or Not}.
+The size of the input queue is described by the @code{MAX_INPUT} and
+@w{@code{_POSIX_MAX_INPUT}} parameters; see @ref{Limits for Files}. You
+are guaranteed a queue size of at least @code{MAX_INPUT}, but the queue
+might be larger, and might even dynamically change size. If input flow
+control is enabled by setting the @code{IXOFF} input mode bit
+(@pxref{Input Modes}), the terminal driver transmits STOP and START
+characters to the terminal when necessary to prevent the queue from
+overflowing. Otherwise, input may be lost if it comes in too fast from
+the terminal. In canonical mode, all input stays in the queue until a
+newline character is received, so the terminal input queue can fill up
+when you type a very long line. @xref{Canonical or Not}.
@cindex terminal output queue
The @dfn{terminal output queue} is like the input queue, but for output;
diff --git a/posix/wordexp.c b/posix/wordexp.c
index 268a0e8c86..1df552a66f 100644
--- a/posix/wordexp.c
+++ b/posix/wordexp.c
@@ -1220,10 +1220,9 @@ parse_param (char **word, size_t *word_length, size_t *max_length,
continue;
}
- special = (strchr ("*@$", words[*offset]) != NULL
- || isdigit (words[*offset]));
+ special = strchr ("*@$", words[*offset]) != NULL;
- if (!isalpha (words[*offset]) && !special)
+ if (!isalnum (words[*offset]) && !special)
/* Stop and evaluate, remembering char we stopped at */
break;
@@ -1273,11 +1272,13 @@ envsubst:
}
/* Is it a special parameter? */
- if (strpbrk (env, "0123456789*@$"))
+ if (strpbrk (env, "*@$") || isdigit (*env))
{
- if (env[1])
+ if ((isdigit(*env) && strcspn (env, "1234567890")) ||
+ (!isdigit(*env) && env[1] != '\0'))
{
- /* Bad substitution if there is more than one character */
+ /* Bad substitution if it isn't "*", "@", "$", or just a number. */
+ bad_subst:
free (env);
fprintf (stderr, "${%s}: bad substitution\n", env);
return WRDE_SYNTAX;
@@ -1286,7 +1287,11 @@ envsubst:
/* Is it a digit? */
if (isdigit(*env))
{
- int n = *env - '0';
+ char *endp;
+ int n = strtol (env, &endp, 10);
+
+ if (*endp != '\0')
+ goto bad_subst;
free (env);
if (n >= __libc_argc)
diff --git a/sysdeps/generic/strtok_r.c b/sysdeps/generic/strtok_r.c
index 44430dae40..26d7da5176 100644
--- a/sysdeps/generic/strtok_r.c
+++ b/sysdeps/generic/strtok_r.c
@@ -1,5 +1,5 @@
/* Reentrant string tokenizer. Generic version.
- Copyright (C) 1991, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -32,7 +32,7 @@
// s = "abc\0-def\0"
*/
char *
-strtok_r (s, delim, save_ptr)
+__strtok_r (s, delim, save_ptr)
char *s;
const char *delim;
char **save_ptr;
@@ -61,3 +61,4 @@ strtok_r (s, delim, save_ptr)
}
return token;
}
+weak_alias (__strtok_r, strtok_r)
diff --git a/sysdeps/i386/i686/Implies b/sysdeps/i386/i686/Implies
index b5c05ec7f2..5e3b4cb5e7 100644
--- a/sysdeps/i386/i686/Implies
+++ b/sysdeps/i386/i686/Implies
@@ -2,3 +2,4 @@
# not really good to use heavily i586 optimized code on a i686. It's
# better to use i486/i386 code.
i386/i486
+libm-i387/i686
diff --git a/sysdeps/i386/strtok_r.S b/sysdeps/i386/strtok_r.S
index 297ba282ac..c048e41cb6 100644
--- a/sysdeps/i386/strtok_r.S
+++ b/sysdeps/i386/strtok_r.S
@@ -1,3 +1,4 @@
-#define FUNCTION strtok_r
+#define FUNCTION __strtok_r
#define USE_AS_STRTOK_R 1
#include <sysdeps/i386/strtok.S>
+weak_alias (__strtok_r, strtok_r)
diff --git a/sysdeps/libm-i387/i686/s_fdim.S b/sysdeps/libm-i387/i686/s_fdim.S
index 1ecae61aa9..3f9f61b57d 100644
--- a/sysdeps/libm-i387/i686/s_fdim.S
+++ b/sysdeps/libm-i387/i686/s_fdim.S
@@ -1,5 +1,5 @@
/* Compute positive difference.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -30,11 +30,12 @@ ENTRY(__fdim)
fsubp %st(1), %st
fldz
- fcmovnb %st(1), %st
+ fcomi %st(1), %st
+ fcmovb %st(1), %st
jmp 2f
1: fucomi %st(0), %st
- fcmovu %st, %st(1)
+ fcmovnu %st(1), %st
2: fstp %st(1)
ret
END(__fdim)
diff --git a/sysdeps/libm-i387/i686/s_fdimf.S b/sysdeps/libm-i387/i686/s_fdimf.S
index 0d2ef3cc1a..8b5cec6a3b 100644
--- a/sysdeps/libm-i387/i686/s_fdimf.S
+++ b/sysdeps/libm-i387/i686/s_fdimf.S
@@ -1,5 +1,5 @@
/* Compute positive difference.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -30,11 +30,12 @@ ENTRY(__fdimf)
fsubp %st(1), %st
fldz
- fcmovnb %st(1), %st
+ fcomi %st(1), %st
+ fcmovb %st(1), %st
jmp 2f
1: fucomi %st(0), %st
- fcmovu %st, %st(1)
+ fcmovnu %st(1), %st
2: fstp %st(1)
ret
END(__fdimf)
diff --git a/sysdeps/libm-i387/i686/s_fdiml.S b/sysdeps/libm-i387/i686/s_fdiml.S
index 94510df756..e9f0535a3a 100644
--- a/sysdeps/libm-i387/i686/s_fdiml.S
+++ b/sysdeps/libm-i387/i686/s_fdiml.S
@@ -1,5 +1,5 @@
/* Compute positive difference.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -30,11 +30,12 @@ ENTRY(__fdiml)
fsubp %st(1), %st
fldz
- fcmovnb %st(1), %st
+ fcomi %st(1), %st
+ fcmovb %st(1), %st
jmp 2f
1: fucomi %st(0), %st
- fcmovu %st, %st(1)
+ fcmovnu %st(1), %st
2: fstp %st(1)
ret
END(__fdiml)
diff --git a/sysdeps/libm-i387/i686/s_fmin.S b/sysdeps/libm-i387/i686/s_fmin.S
index 9df029996d..383e9579f6 100644
--- a/sysdeps/libm-i387/i686/s_fmin.S
+++ b/sysdeps/libm-i387/i686/s_fmin.S
@@ -1,5 +1,5 @@
/* Compute minimum of two numbers, regarding NaN as missing argument.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -29,7 +29,7 @@ ENTRY(__fmin)
fcmovu %st(1), %st // now %st contains y if not NaN, x otherwise
fucomi %st(1), %st
- fcmovb %st(1), %st
+ fcmovnb %st(1), %st
fstp %st(1)
diff --git a/sysdeps/libm-i387/i686/s_fminf.S b/sysdeps/libm-i387/i686/s_fminf.S
index a1d1497c15..f3dae00377 100644
--- a/sysdeps/libm-i387/i686/s_fminf.S
+++ b/sysdeps/libm-i387/i686/s_fminf.S
@@ -1,5 +1,5 @@
/* Compute minimum of two numbers, regarding NaN as missing argument.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -29,7 +29,7 @@ ENTRY(__fminf)
fcmovu %st(1), %st // now %st contains y if not NaN, x otherwise
fucomi %st(1), %st
- fcmovb %st(1), %st
+ fcmovnb %st(1), %st
fstp %st(1)
diff --git a/sysdeps/libm-i387/i686/s_fminl.S b/sysdeps/libm-i387/i686/s_fminl.S
index 089be40bd4..f125531112 100644
--- a/sysdeps/libm-i387/i686/s_fminl.S
+++ b/sysdeps/libm-i387/i686/s_fminl.S
@@ -1,5 +1,5 @@
/* Compute minimum of two numbers, regarding NaN as missing argument.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -29,7 +29,7 @@ ENTRY(__fminl)
fcmovu %st(1), %st // now %st contains y if not NaN, x otherwise
fucomi %st(1), %st
- fcmovb %st(1), %st
+ fcmovnb %st(1), %st
fstp %st(1)