mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
Update.
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.
This commit is contained in:
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -2,3 +2,5 @@
|
||||
#undef getc
|
||||
#define fgetc getc
|
||||
#include <fgetc.c>
|
||||
|
||||
weak_alias (getc, getc_unlocked)
|
||||
|
@ -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)
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include <stdio.h>
|
||||
#undef putc
|
||||
#define fputc putc
|
||||
#define fputc_unlocked putc_unlocked
|
||||
#include <fputc.c>
|
||||
|
@ -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)
|
||||
|
118
stdio/stdio.h
118
stdio/stdio.h
@ -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. */
|
||||
|
Reference in New Issue
Block a user