Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 9 Jul 1998 13:58:47 +0000 (13:58 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 9 Jul 1998 13:58:47 +0000 (13:58 +0000)
1998-07-09 13:34  Ulrich Drepper  <drepper@cygnus.com>

* grp/grp.h: Define gid_t also for __USE_XOPEN.
* io/fcntl.h: Include <sys/stat.h> also for __USE_XOPEN.
* io/utime.h: Define time_t also for __USE_XOPEN.
* io/sys/stat.h: Define time_t also for __USE_XOPEN.
Define *_t types except for pid_t also for __USE_XOPEN.
Define S_* macros also for __USE_XOPEN.
* locale/langinfo.h: Define CODESET, CRNCYSTR, RADIXCHAR, and
THOUSEP also for __USE_XOPEN.
* math/math.c: Define M_* macros also for __USE_XOPEN.
* math/bits/mathcalls.h: Declare hypot also for __USE_XOPEN.
* posix/fnmatch.h: Define FNM_NOSYS and for if _XOPEN_SOURCE is
defined.
* posix/glob.h: Likewise for GLOB_NOSYS.
* posix/regex.h: Likewise for REG_NOSYS.
* posix/wordexp.h: Likewise for WRDE_NOSYS.
* posix/unistd.h: Define *_t types also for __USE_XOPEN.
* posix/sys/wait.h: Define pid_t for __USE_XOPEN.
* pwd/pwd.h: Define gid_t and pid_t also for __USE_XOPEN.
* signal/signal.h: Define pid_t also fir __USE_XOPEN.
* sysdeps/unix/sysv/linux/bits/fcntl.h: Define _RSYNC and O_DSYNC also
for __USE_POSIX199309.
* sysdeps/unix/sysv/linux/bits/termios.h: Define the various B*
constants also for __USE_XOPEN.
* wcsmbs/wchar.h: For XPG4 include wctype.h.

* intl/dcgettext.c (find_msg): Initialize act to prevent warning.
* locale/setlocale.c (new_composite_name): Likewise for last_len.

* libio/stdio.h: Don't declare fclose_unlocked.

* sysdeps/posix/fpathconf.c: Handle _PC_FILESIZEBITS.

1998-07-08  Mark Kettenis  <kettenis@phys.uva.nl>

* stdio/stdio.h: Add prototypes for fflush_unlocked,
getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked,
fgets_unlocked, fread_unlocked, fwrite_unlocked,
clearerr_unlocked, feof_unlocked, ferror_unlocked,
fileno_unlocked, flockfile, ftrylockfile, funlockfile.
[__USE_XOPEN && !__USE_GNU] Declare optarg, optind, opterr.  Add
prototype for getopt.
* stdio/clearerr.c (clearerr_unlocked): Weak alias for clearerr.
* stdio/feof.c (feof_unlocked): Weak alias for feof.
* stdio/ferror.c (ferror_unlocked): Weak alias for ferror.
* stdio/fflush.c (fflush_unlocked): Weak alias for fflush.
* stdio/fgets.c (fgets_unlocked): Weak alias for fgets.
* stdio/fileno.c (fileno_unlocked): Weak alias for fileno.
* stdio/fputc.c (fputc_unlocked): Weak alias for fputc.
* stdio/fread.c (fread_unlocked): Weak alias for fread.
* stdio/fwrite.c (fwrite_unlocked): Weak alias for fwrite.
* stdio/getc.c (getchar_unlocked): Weak alias for getc.
* stdio/getchar.c (getchar_unlocked): Weak alias for getchar.
* stdio/putc.c (putc_unlocked): Weak alias for putc.
* stdio/putchar.c (putchar_unlocked): Weak alias for putchar.
* stdio/Versions [GLIBC_2.1]: Add clearerr_unlocked,
feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked,
fileno_unlocked, fputc_unlocked, fread_unlocked, fwrite_unlocked,
getc_unlocked, getchar_unlocked, putc_unlocked and
putchar_unlocked.

* libio/Versions: Move flockfile, ftrylockfile and funlockfile
from here ...
* stdio-common/Versions: ... to here.

1998-07-09  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

* Makerules (versioning): Correct typo.

37 files changed:
ChangeLog
linuxthreads/ChangeLog
linuxthreads/sysdeps/pthread/bits/libc-lock.h
linuxthreads/sysdeps/pthread/pthread.h
locale/langinfo.h
locale/setlocale.c
math/bits/mathcalls.h
math/math.h
posix/fnmatch.h
posix/glob.h
posix/regex.h
posix/sys/wait.h
posix/unistd.h
posix/wordexp.h
pwd/pwd.h
signal/signal.h
stdio-common/Versions
stdio/Versions
stdio/clearerr.c
stdio/fclose.c
stdio/feof.c
stdio/ferror.c
stdio/fflush.c
stdio/fgets.c
stdio/fileno.c
stdio/fputc.c
stdio/fread.c
stdio/fwrite.c
stdio/getc.c
stdio/getchar.c
stdio/putc.c
stdio/putchar.c
stdio/stdio.h
sysdeps/posix/fpathconf.c
sysdeps/unix/sysv/linux/bits/fcntl.h
sysdeps/unix/sysv/linux/bits/termios.h
wcsmbs/wchar.h

index 6d23e62..79b11a3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,73 @@
+1998-07-09 13:34  Ulrich Drepper  <drepper@cygnus.com>
+
+       * grp/grp.h: Define gid_t also for __USE_XOPEN.
+       * io/fcntl.h: Include <sys/stat.h> also for __USE_XOPEN.
+       * io/utime.h: Define time_t also for __USE_XOPEN.
+       * io/sys/stat.h: Define time_t also for __USE_XOPEN.
+       Define *_t types except for pid_t also for __USE_XOPEN.
+       Define S_* macros also for __USE_XOPEN.
+       * locale/langinfo.h: Define CODESET, CRNCYSTR, RADIXCHAR, and
+       THOUSEP also for __USE_XOPEN.
+       * math/math.c: Define M_* macros also for __USE_XOPEN.
+       * math/bits/mathcalls.h: Declare hypot also for __USE_XOPEN.
+       * posix/fnmatch.h: Define FNM_NOSYS and for if _XOPEN_SOURCE is
+       defined.
+       * posix/glob.h: Likewise for GLOB_NOSYS.
+       * posix/regex.h: Likewise for REG_NOSYS.
+       * posix/wordexp.h: Likewise for WRDE_NOSYS.
+       * posix/unistd.h: Define *_t types also for __USE_XOPEN.
+       * posix/sys/wait.h: Define pid_t for __USE_XOPEN.
+       * pwd/pwd.h: Define gid_t and pid_t also for __USE_XOPEN.
+       * signal/signal.h: Define pid_t also fir __USE_XOPEN.
+       * sysdeps/unix/sysv/linux/bits/fcntl.h: Define _RSYNC and O_DSYNC also
+       for __USE_POSIX199309.
+       * sysdeps/unix/sysv/linux/bits/termios.h: Define the various B*
+       constants also for __USE_XOPEN.
+       * wcsmbs/wchar.h: For XPG4 include wctype.h.
+
+       * intl/dcgettext.c (find_msg): Initialize act to prevent warning.
+       * locale/setlocale.c (new_composite_name): Likewise for last_len.
+
+       * libio/stdio.h: Don't declare fclose_unlocked.
+
+       * sysdeps/posix/fpathconf.c: Handle _PC_FILESIZEBITS.
+
+1998-07-08  Mark Kettenis  <kettenis@phys.uva.nl>
+
+       * stdio/stdio.h: Add prototypes for fflush_unlocked,
+       getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked,
+       fgets_unlocked, fread_unlocked, fwrite_unlocked,
+       clearerr_unlocked, feof_unlocked, ferror_unlocked,
+       fileno_unlocked, flockfile, ftrylockfile, funlockfile.
+       [__USE_XOPEN && !__USE_GNU] Declare optarg, optind, opterr.  Add
+       prototype for getopt.
+       * stdio/clearerr.c (clearerr_unlocked): Weak alias for clearerr.
+       * stdio/feof.c (feof_unlocked): Weak alias for feof.
+       * stdio/ferror.c (ferror_unlocked): Weak alias for ferror.
+       * stdio/fflush.c (fflush_unlocked): Weak alias for fflush.
+       * stdio/fgets.c (fgets_unlocked): Weak alias for fgets.
+       * stdio/fileno.c (fileno_unlocked): Weak alias for fileno.
+       * stdio/fputc.c (fputc_unlocked): Weak alias for fputc.
+       * stdio/fread.c (fread_unlocked): Weak alias for fread.
+       * stdio/fwrite.c (fwrite_unlocked): Weak alias for fwrite.
+       * stdio/getc.c (getchar_unlocked): Weak alias for getc.
+       * stdio/getchar.c (getchar_unlocked): Weak alias for getchar.
+       * stdio/putc.c (putc_unlocked): Weak alias for putc.
+       * stdio/putchar.c (putchar_unlocked): Weak alias for putchar.
+       * stdio/Versions [GLIBC_2.1]: Add clearerr_unlocked,
+       feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked,
+       fileno_unlocked, fputc_unlocked, fread_unlocked, fwrite_unlocked,
+       getc_unlocked, getchar_unlocked, putc_unlocked and
+       putchar_unlocked.
+
+       * libio/Versions: Move flockfile, ftrylockfile and funlockfile
+       from here ...
+       * stdio-common/Versions: ... to here.
+
+1998-07-09  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * Makerules (versioning): Correct typo.
+
 1998-07-08 22:18  Ulrich Drepper  <drepper@cygnus.com>
 
        * elf/Versions: Add _dl_mcount_wrapper_check.
index 4c4cfdf..b640669 100644 (file)
@@ -7,6 +7,10 @@
        * mutex.c: Define __pthread_mutexattr_gettype and
        __pthread_mutexattr_settype.
        * weak.c: Likewise.
+       * sysdeps/pthread/pthread.h: Declare __pthread_mutexattr_gettype and
+       __pthread_mutexattr_settype.
+       * sysdeps/pthread/bits/libc-lock.h (__libc_lock_init_recursive):
+       Use __pthread_mutexattr_settype.
 
 1998-07-08 22:26  Ulrich Drepper  <drepper@cygnus.com>
 
index ed64cbf..7d336be 100644 (file)
@@ -63,7 +63,7 @@ typedef pthread_key_t __libc_key_t;
       {                                                                              \
        pthread_mutexattr_t __attr;                                           \
        __pthread_mutexattr_init (&__attr);                                   \
-       __pthread_mutexattr_setkind_np (&__attr, PTHREAD_MUTEX_RECURSIVE_NP); \
+       __pthread_mutexattr_settype (&__attr, PTHREAD_MUTEX_RECURSIVE_NP); \
        __pthread_mutex_init (&(NAME), &__attr);                              \
        __pthread_mutexattr_destroy (&__attr);                                \
       }                                                                              \
index 5ae6211..6d2bd0f 100644 (file)
@@ -318,10 +318,14 @@ extern int pthread_mutexattr_destroy __P ((pthread_mutexattr_t *__attr));
 /* Set the mutex kind attribute in *ATTR to KIND (either PTHREAD_MUTEX_NORMAL,
    PTHREAD_MUTEX_RECURSIVE, PTHREAD_MUTEX_ERRORCHECK, or
    PTHREAD_MUTEX_DEFAULT).  */
+extern int __pthread_mutexattr_settype __P ((pthread_mutexattr_t *__attr,
+                                            int __kind));
 extern int pthread_mutexattr_settype __P ((pthread_mutexattr_t *__attr,
                                           int __kind));
 
 /* Return in *KIND the mutex kind attribute in *ATTR. */
+extern int __pthread_mutexattr_gettype __P ((__const pthread_mutexattr_t *__attr,
+                                            int *__kind));
 extern int pthread_mutexattr_gettype __P ((__const pthread_mutexattr_t *__attr,
                                           int *__kind));
 #endif
index 10e8dd2..31fae92 100644 (file)
@@ -1,5 +1,5 @@
 /* Access to locale-dependent parameters.
-   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.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -207,7 +207,7 @@ enum
   _NL_CTYPE_WIDTH,
   _NL_CTYPE_MB_CUR_MAX,
   _NL_CTYPE_CODESET_NAME,
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
   CODESET = _NL_CTYPE_CODESET_NAME,
 #endif
   _NL_NUM_LC_CTYPE,
@@ -219,7 +219,7 @@ enum
 #define INT_CURR_SYMBOL                INT_CURR_SYMBOL
   CURRENCY_SYMBOL,
 #define CURRENCY_SYMBOL                CURRENCY_SYMBOL
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
   CRNCYSTR = CURRENCY_SYMBOL,
 # define CRNCYSTR                      CRNCYSTR
 #endif
@@ -255,13 +255,13 @@ enum
      These also correspond to members of `struct lconv'; see <locale.h>.  */
   DECIMAL_POINT = _NL_ITEM (LC_NUMERIC, 0),
 #define DECIMAL_POINT          DECIMAL_POINT
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
   RADIXCHAR = DECIMAL_POINT,
 # define RADIXCHAR             RADIXCHAR
 #endif
   THOUSANDS_SEP,
 #define THOUSANDS_SEP          THOUSANDS_SEP
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
   THOUSEP = THOUSANDS_SEP,
 #define THOUSANDS_SEP          THOUSANDS_SEP
 #endif
index 54ca416..cde5b6a 100644 (file)
@@ -133,7 +133,7 @@ __libc_lock_define_initialized (, __libc_setlocale_lock)
 static inline char *
 new_composite_name (int category, const char *newnames[LC_ALL])
 {
-  size_t last_len;
+  size_t last_len = 0;
   size_t cumlen = 0;
   int i;
   char *new, *p;
index 67e86a7..30bbb7c 100644 (file)
@@ -145,10 +145,12 @@ __MATHCALL (pow,, (_Mdouble_ __x, _Mdouble_ __y));
 /* Return the square root of X.  */
 __MATHCALL (sqrt,, (_Mdouble_ __x));
 
-#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC9X
+#if defined __USE_MISC || defined __USE_XOPEN || defined __USE_ISOC9X
 /* Return `sqrt(X*X + Y*Y)'.  */
 __MATHCALL (hypot,, (_Mdouble_ __x, _Mdouble_ __y));
+#endif
 
+#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC9X
 /* Return the cube root of X.  */
 __MATHCALL (cbrt,, (_Mdouble_ __x));
 #endif
index a5d5b50..2ac6f11 100644 (file)
@@ -269,7 +269,7 @@ extern int matherr __P ((struct exception *__exc));
 
 
 /* Some useful constants.  */
-#if defined __USE_BSD || defined __USE_UNIX98
+#if defined __USE_BSD || defined __USE_XOPEN
 # define M_E           2.7182818284590452354   /* e */
 # define M_LOG2E       1.4426950408889634074   /* log_2 e */
 # define M_LOG10E      0.43429448190325182765  /* log_10 e */
index 4d1eb3e..0966ee3 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 96, 97, 98 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
@@ -66,7 +66,7 @@ extern "C" {
    `fnmatch'.  Since this is not the case here it will never be
    returned but the conformance test suites still require the symbol
    to be defined.  */
-#if (_XOPEN_SOURCE - 0) == 500
+#ifdef _XOPEN_SOURCE
 # define FNM_NOSYS     (-1)
 #endif
 
index 0b7808b..5a8e48c 100644 (file)
@@ -84,7 +84,7 @@ extern "C" {
    `glob'.  Since this is not the case here it will never be
    returned but the conformance test suites still require the symbol
    to be defined.  */
-#if (_XOPEN_SOURCE - 0) == 500
+#ifdef _XOPEN_SOURCE
 # define GLOB_NOSYS    (-1)
 #endif
 
index 0efef36..2bca537 100644 (file)
@@ -282,7 +282,7 @@ extern reg_syntax_t re_syntax_options;
    `re_error_msg' table in regex.c.  */
 typedef enum
 {
-#if (_XOPEN_SOURCE - 0) == 500
+#ifdef _XOPEN_SOURCE
   REG_ENOSYS = -1,     /* This will never happen for this implementation.  */
 #endif
 
index ed904d9..1eeac91 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 96, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 94, 96, 97, 98 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
@@ -29,7 +29,7 @@ __BEGIN_DECLS
 
 #include <bits/types.h>
 
-#if defined __USE_UNIX98 && !defined pid_t
+#if defined __USE_XOPEN && !defined pid_t
 typedef __pid_t pid_t;
 # define pid_t pid_t
 #endif
index fa28d94..d56c56d 100644 (file)
@@ -198,7 +198,7 @@ typedef __ssize_t ssize_t;
 #define __need_NULL
 #include <stddef.h>
 
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
 /* The Single Unix specification says that some more types are
    available here.  */
 # ifndef gid_t
@@ -228,7 +228,9 @@ typedef __off64_t off64_t;
 typedef __pid_t pid_t;
 #  define pid_t pid_t
 # endif
+#endif /* X/Open */
 
+#ifdef __USE_UNIX98
 # ifndef intptr_t
 typedef __intptr_t intptr_t;
 #  define intptr_t intptr_t
@@ -1055,7 +1057,7 @@ extern void swab __P ((__const __ptr_t __from, __ptr_t __to, ssize_t __n));
 
 /* The Single Unix specification, version 2, demands these prototypes
    to be here.  They are also found in <stdio.h>.  */
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
 /* Return the name of the controlling terminal.  */
 extern char *ctermid __P ((char *__s));
 
@@ -1063,7 +1065,12 @@ extern char *ctermid __P ((char *__s));
    used and might go away some time.  */
 extern char *cuserid __P ((char *__s));
 
+/* Rename file OLD to NEW.  */
+extern int rename __P ((__const char *__old, __const char *__new));
+#endif
+
 
+#if defined __USE_POSIX199309 || defined __USE_UNIX98
 /* This function is only available if the system has POSIX threads.  */
 
 /* Install handlers to be called when a new process is created with FORK.
index cd5fba9..2bdce27 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 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
@@ -47,7 +47,7 @@ typedef struct
 /* Possible nonzero return values from `wordexp'.  */
 enum
   {
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
     WRDE_NOSYS = -1,           /* Never used since we support `wordexp'.  */
 #endif
     WRDE_NOSPACE = 1,          /* Ran out of memory.  */
index ef16963..a254cb0 100644 (file)
--- a/pwd/pwd.h
+++ b/pwd/pwd.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 95, 96, 97, 98 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 @@ __BEGIN_DECLS
 #define __need_size_t
 #include <stddef.h>
 
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
 /* The Single Unix specification says that some more types are
    available here.  */
 # ifndef gid_t
index c803a5b..5d63375 100644 (file)
@@ -32,7 +32,7 @@ __BEGIN_DECLS
 #include <bits/types.h>
 #include <bits/sigset.h>               /* __sigset_t, __sig_atomic_t.  */
 
-#if defined _SIGNAL_H && defined __USE_UNIX98 && !defined pid_t
+#if defined _SIGNAL_H && defined __USE_XOPEN && !defined pid_t
 typedef __pid_t pid_t;
 # define pid_t pid_t
 #endif /* Unix98 */
index d38ef7e..6191e0b 100644 (file)
@@ -20,7 +20,7 @@ libc {
     dprintf;
 
     # f*
-    fprintf; fscanf;
+    flockfile; fprintf; fscanf; ftrylockfile; funlockfile;
 
     # g*
     getline; getw;
index 2dfd4a8..e3df076 100644 (file)
@@ -47,5 +47,18 @@ libc {
   GLIBC_2.1 {
     # functions used in other libraries
     __asprintf;
+
+    # c*
+    clearerr_unlocked;
+
+    # f*
+    feof_unlocked; ferror_unlocked; fflush_unlocked;  fgets_unlocked;
+    fileno_unlocked; fputc_unlocked; fread_unlocked; fwrite_unlocked;
+
+    # g*
+    getc_unlocked; getchar_unlocked;
+
+    # p*
+    putc_unlocked; putchar_unlocked;
   }
 }
index b602576..37b82ee 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 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
@@ -28,3 +28,5 @@ clearerr (FILE *stream)
 {
   __clearerr (stream);
 }
+
+weak_alias (clearerr, clearerr_unlocked)
index 4fda20b..f49af03 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 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
index 79e7f59..86d36b7 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1996, 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
@@ -20,7 +20,7 @@
 #include <stdio.h>
 
 #undef feof
-
+#undef feof_unlocked
 
 /* Return non-zero if STREAM has its EOF indicator set.  */
 int
@@ -35,3 +35,5 @@ feof (stream)
 
   return stream->__eof;
 }
+
+weak_alias (feof, feof_unlocked)
index 5665db2..eaa5fc9 100644 (file)
@@ -1,4 +1,4 @@
-/* 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
@@ -20,6 +20,7 @@
 #include <stdio.h>
 
 #undef ferror
+#undef ferror_unlocked
 
 
 /* Return non-zero if STREAM has its error indicator set.  */
@@ -35,3 +36,5 @@ ferror (stream)
 
   return stream->__error;
 }
+
+weak_alias (ferror, ferror_unlocked)
index 601fe4e..e635f51 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1996, 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
@@ -43,3 +43,5 @@ fflush (stream)
 
   return __flshfp (stream, EOF);
 }
+
+weak_alias(fflush, fflush_unlocked)
index 3d6833d..4fbb402 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 95, 96, 97, 98 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
@@ -121,3 +121,5 @@ fgets (s, n, stream)
   *p = '\0';
   return ferror (stream) ? NULL : s;
 }
+
+weak_alias (fgets, fgets_unlocked)
index b6a20cd..e97c2f6 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1994, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 93, 94, 96, 97, 98 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
@@ -46,3 +46,5 @@ fileno (stream)
 
   return (*stream->__io_funcs.__fileno) (stream->__cookie);
 }
+
+weak_alias(fileno, fileno_unlocked)
index fc7ce5b..754b4f9 100644 (file)
@@ -1,4 +1,4 @@
-/* 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
@@ -34,3 +34,5 @@ fputc (c, stream)
 
   return __putc (c, stream);
 }
+
+weak_alias (fputc, fputc_unlocked)
index 80c3d44..b0fe36b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 95, 96, 97, 98 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
@@ -131,3 +131,5 @@ fread (p, size, nmemb, stream)
 
   return (bytes - to_read) / size;
 }
+
+weak_alias (fread, fread_unlocked)
index bd07c9e..2369743 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 96, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 94, 96, 97, 98 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
@@ -218,3 +218,5 @@ fwrite (ptr, size, nmemb, stream)
  done:;
   return (size_t) written / size;
 }
+
+weak_alias (fwrite, fwrite_unlocked)
index 0d34a1c..eee136a 100644 (file)
@@ -2,3 +2,5 @@
 #undef getc
 #define        fgetc   getc
 #include <fgetc.c>
+
+weak_alias (getc, getc_unlocked)
index 2b1cb92..cbcbffd 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 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
@@ -27,3 +27,5 @@ getchar (void)
 {
   return __getc (stdin);
 }
+
+weak_alias (getchar, getchar_unlocked)
index cd30126..f92ef30 100644 (file)
@@ -1,4 +1,5 @@
 #include <stdio.h>
 #undef putc
 #define        fputc   putc
+#define fputc_unlocked putc_unlocked
 #include <fputc.c>
index f90a9c0..6f8268b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 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
@@ -27,3 +27,5 @@ putchar (int c)
 {
   return __putc (c, stdout);
 }
+
+weak_alias (putchar, putchar_unlocked)
index dd4dd6d..eac8bd4 100644 (file)
@@ -333,6 +333,11 @@ extern int fclose __P ((FILE *__stream));
 /* Flush STREAM, or all streams if STREAM is NULL.  */
 extern int fflush __P ((FILE *__stream));
 
+#ifdef __USE_MISC
+/* Faster versions when locking is not required.  */
+extern int fflush_unlocked __P ((FILE *__stream));
+#endif
+
 #ifdef __USE_GNU
 /* Close all streams.  */
 extern int __fcloseall __P ((void));
@@ -543,6 +548,26 @@ getchar (void)
 }
 #endif /* Optimizing.  */
 
+#if defined __USE_POSIX || defined __USE_MISC
+/* These are defined in POSIX.1:1996.  */
+extern int getc_unlocked __P ((FILE *__stream));
+extern int getchar_unlocked __P ((void));
+
+# ifdef __OPTIMIZE__
+extern __inline int
+getc_unlocked (FILE *__stream)
+{
+  return __getc (__stream);
+}
+
+extern __inline int
+getchar_unlocked (void)
+{
+  return __getc (stdin);
+}
+# endif /* Optimizing.  */
+#endif /* Use POSIX or MISC.  */
+
 
 /* Write a character to STREAM.  */
 extern int fputc __P ((int __c, FILE *__stream));
@@ -571,6 +596,39 @@ putchar (int __c)
 }
 #endif
 
+#ifdef __USE_MISC
+/* Faster version when locking is not necessary.  */
+extern int fputc_unlocked __P ((int __c, FILE *__stream));
+
+# ifdef __OPTIMIZE__
+extern __inline int
+fputc_unlocked (int __c, FILE *__stream)
+{
+  return __putc (__c, __stream);
+}
+# endif /* Optimizing.  */
+#endif /* Use MISC.  */
+
+#if defined __USE_POSIX || defined __USE_MISC
+/* These are defined in POSIX.1:1996.  */
+extern int putc_unlocked __P ((int __c, FILE *__stream));
+extern int putchar_unlocked __P ((int __c));
+
+# ifdef __OPTIMIZE__
+extern __inline int
+putc_unlocked (int __c, FILE *__stream)
+{
+  return __putc (__c, __stream);
+}
+
+extern __inline int
+putchar_unlocked (int __c)
+{
+  return __putc (__c, stdout);
+}
+# endif /* Optimizing.  */
+#endif /* Use POSIX or MISC.  */
+
 
 #if defined __USE_SVID || defined __USE_MISC
 /* Get a word (int) from STREAM.  */
@@ -585,6 +643,12 @@ extern int putw __P ((int __w, FILE *__stream));
 extern char *fgets __P ((char *__restrict __s, int __n,
                         FILE *__restrict __stream));
 
+#ifdef __USE_GNU
+/* This function does the same as `fgets' but does not lock the stream.  */
+extern char *fgets_unlocked __P ((char *__restrict __s, int __n,
+                                 FILE *__restrict __stream));
+#endif
+
 /* Get a newline-terminated string from stdin, removing the newline.
    DO NOT USE THIS FUNCTION!!  There is no limit on how much it will read.  */
 extern char *gets __P ((char *__s));
@@ -635,6 +699,15 @@ extern size_t fread __P ((__ptr_t __restrict __ptr, size_t __size,
 extern size_t fwrite __P ((__const __ptr_t __restrict __ptr, size_t __size,
                           size_t __n, FILE *__restrict __s));
 
+#ifdef __USE_MISC
+/* Faster versions when locking is not necessary.  */
+extern size_t fread_unlocked __P ((void *__restrict __ptr, size_t __size,
+                                  size_t __n, FILE *__restrict __stream));
+extern size_t fwrite_unlocked __P ((__const void *__restrict __ptr,
+                                   size_t __size, size_t __n,
+                                   FILE *__restrict __stream));
+#endif
+
 
 /* Seek to a certain position on STREAM.  */
 extern int fseek __P ((FILE *__stream, long int __off, int __whence));
@@ -661,6 +734,17 @@ extern int ferror __P ((FILE *__stream));
 #define        ferror(stream)  ((stream)->__error != 0)
 #endif /* Optimizing.  */
 
+#ifdef __USE_MISC
+/* Faster versions when locking is not required.  */
+extern void clearerr_unlocked __P ((FILE *__stream));
+extern int feof_unlocked __P ((FILE *__stream));
+extern int ferror_unlocked __P ((FILE *__stream));
+
+# ifdef        __OPTIMIZE__
+#  define feof_unlocked(stream)                ((stream)->__eof != 0)
+#  define ferror_unlocked(stream)      ((stream)->__error != 0)
+# endif /* Optimizing.  */
+#endif
 
 /* Print a message describing the meaning of the value of errno.  */
 extern void perror __P ((__const char *__s));
@@ -680,6 +764,11 @@ extern const char *const _sys_errlist[];
 extern int fileno __P ((FILE *__stream));
 #endif /* Use POSIX.  */
 
+#ifdef __USE_MISC
+/* Faster version when locking is not required.  */
+extern int fileno_unlocked __P ((FILE *__stream));
+#endif
+
 
 #if (defined __USE_POSIX2 || defined __USE_SVID || defined __USE_BSD || \
      defined __USE_MISC)
@@ -718,6 +807,35 @@ extern int obstack_vprintf __P ((struct obstack *__obstack,
 #endif
 
 
+#if defined __USE_POSIX || defined __USE_MISC
+/* These are defined in POSIX.1:1996.  */
+
+/* Acquire ownership of STREAM.  */
+extern void flockfile __P ((FILE *__stream));
+
+/* Try to acquire ownership of STREAM but do not block if it is not
+   possible.  */
+extern int ftrylockfile __P ((FILE *__stream));
+
+/* Relinquish the ownership granted for STREAM.  */
+extern void funlockfile __P ((FILE *__stream));
+#endif /* POSIX || misc */
+
+#if defined __USE_XOPEN && !defined __USE_GNU
+/* The X/Open standard requires some functions and variables to be
+   declared here which do not belong into this header.  But we have to
+   follow.  In GNU mode we don't do this nonsense.  */
+
+/* For more information on these symbols look in <getopt.h>.  */
+extern char *optarg;
+extern int optind;
+extern int opterr;
+extern int optopt;
+
+extern int getopt __P ((int __argc, char *__const *__argv,
+                       __const char *__shortopts));
+#endif
+
 __END_DECLS
 
 #endif /* <stdio.h> included.  */
index 31e1d4b..b73292b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 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
@@ -146,7 +146,16 @@ __fpathconf (fd, name)
 #else
       return -1;
 #endif
+
+    case _PC_FILESIZEBITS:
+#ifdef FILESIZEBITS
+      return FILESIZEBITS;
+#else
+      /* We let platforms with larger file sizes overwrite this value.  */
+      return 32;
+#endif
     }
 }
 
+#undef __fpathconf
 weak_alias (__fpathconf, fpathconf)
index f63e8ce..53018b7 100644 (file)
@@ -44,7 +44,7 @@
 /* For now Linux has synchronisity options for data and read operations.
    We define the symbols here but let them do the same as O_SYNS since
    this is a superset.  */
-#ifdef __USE_UNIX98
+#if defined __USE_POSIX199309 || defined __USE_UNIX98
 # define O_DSYNC       O_SYNC  /* Synchronize data.  */
 # define O_RSYNC       O_SYNC  /* Synchronize read operations.  */
 #endif
index 09a3f98..b3d7604 100644 (file)
@@ -1,5 +1,5 @@
 /* termios type and macro definitions.  Linux version.
-   Copyright (C) 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1993, 94, 95, 96, 97, 98 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
@@ -82,7 +82,7 @@ struct termios
 #define ONLRET 0000040
 #define OFILL  0000100
 #define OFDEL  0000200
-#if defined __USE_MISC || defined __USE_UNIX98
+#if defined __USE_MISC || defined __USE_XOPEN
 # define NLDLY 0000400
 # define   NL0 0000000
 # define   NL1 0000400
@@ -162,7 +162,7 @@ struct termios
 /* c_lflag bits */
 #define ISIG   0000001
 #define ICANON 0000002
-#if defined __USE_MISC || defined __USE_UNIX98
+#if defined __USE_MISC || defined __USE_XOPEN
 # define XCASE 0000004
 #endif
 #define ECHO   0000010
index 48ed81b..8902c3f 100644 (file)
@@ -66,6 +66,12 @@ typedef struct
 # define WEOF (0xffffffffu)
 #endif
 
+/* For XPG4 compliance we have to define the stuff from <wctype.h> here
+   as well.  */
+#if defined __USE_XOPEN && !defined __USE_UNIX98
+# include <wctype.h>
+#endif
+
 /* This incomplete type is defined in <time.h> but needed here because
    of `wcsftime'.  */
 struct tm;
@@ -160,6 +166,13 @@ extern wchar_t *wcspbrk __P ((__const wchar_t *__wcs,
 /* Find the first occurrence of NEEDLE in HAYSTACK.  */
 extern wchar_t *wcsstr __P ((__const wchar_t *__haystack,
                             __const wchar_t *__needle));
+
+#if defined __USE_XOPEN && !defined __USE_UNIX98
+/* Another name for `wcsstr' from XPG4.  */
+extern wchar_t *wcswcs __P ((__const wchar_t *__haystack,
+                            __const wchar_t *__needle));
+#endif
+
 /* Divide WCS into tokens separated by characters in DELIM.  */
 extern wchar_t *wcstok __P ((wchar_t *__restrict __s,
                             __const wchar_t *__restrict __delim,