diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-08-22 16:26:00 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-08-22 16:26:00 +0000 |
commit | ab58d6203b8322bcfa253923d86c991c1f6a4294 (patch) | |
tree | 10b6ecae5e175febbd60b1ca1aa68233129f2d89 /stdio-common | |
parent | fd292f70c098f85324b051661c7cd1e5015e0fe1 (diff) | |
download | glibc-ab58d6203b8322bcfa253923d86c991c1f6a4294.zip glibc-ab58d6203b8322bcfa253923d86c991c1f6a4294.tar.gz glibc-ab58d6203b8322bcfa253923d86c991c1f6a4294.tar.bz2 |
Update.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* stdio-common/vfscanf.c [! USE_IN_LIBIO]: Add necessary
definitions for MEMCPY, ISSPACE, ISDIGIT, ISXDIGIT, TOLOWER, L_,
CHAR_T, UCHAR_T and WIN_T to make the code compile again when
stdio is used instead of libio.
* stdio-common/vfprintf.c [! USE_IN_LIBIO]: Add necessary
definitions for CHAR_T, UCHAR_T, INT_T, L_, ISDIGIT, PAD and PUTC
to make the code compile again when stdio is used instead of
libio.
(vfprintf): Only check for correct orientation if ORIENT is
defined.
* stdio-common/Makefile (routines): Only add vfwprintf and
vfwscanf if we're using libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/stdio.h [! USE_IN_LIBIO && __need_FILE]: Avoid defining
any additional prototype just as we do for libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/bits/xopen_lim.h: Do not define STREAM_MAX and
TZNAME_MAX. These limits are not X/Open specific.
* stdio-common/stdio_lim.h.in: Allow inclusion when __need_IOV_MAX
is defined.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* Rules: When generated stdio_lim.h, avoid defining IOV_MAX if
UIO_MAXIOV is left undefined in sys/uio.h.
* stdio-common/stdio_lim.h.in: Adapt for change above.
1999-08-21 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h (SA_RESETHAND): Add it.
* sysdeps/mips/bits/dlfcn.h: Remove SGI specific calls, add RTLD_LOCAL.
Patches by Ralf Baechle <ralf@uni-koblenz.de>
Diffstat (limited to 'stdio-common')
-rw-r--r-- | stdio-common/Makefile | 2 | ||||
-rw-r--r-- | stdio-common/stdio_lim.h.in | 4 | ||||
-rw-r--r-- | stdio-common/vfprintf.c | 26 | ||||
-rw-r--r-- | stdio-common/vfscanf.c | 11 |
4 files changed, 37 insertions, 6 deletions
diff --git a/stdio-common/Makefile b/stdio-common/Makefile index 2ca21c5..75ec880 100644 --- a/stdio-common/Makefile +++ b/stdio-common/Makefile @@ -30,7 +30,6 @@ routines := \ printf_size fprintf printf snprintf sprintf asprintf dprintf \ vfscanf \ fscanf scanf sscanf \ - vfwprintf vfwscanf \ perror psignal \ tmpfile tmpfile64 tmpnam tmpnam_r tempnam tempname \ getline getw putw \ @@ -66,6 +65,7 @@ $(inst_includedir)/bits/stdio_lim.h: $(common-objpfx)bits/stdio_lim.h $(do-install) ifeq ($(stdio),libio) +routines += vfwprintf vfwscanf ifneq (,$(filter %REENTRANT, $(defines))) CPPFLAGS += -D_IO_MTSAFE_IO endif diff --git a/stdio-common/stdio_lim.h.in b/stdio-common/stdio_lim.h.in index 5527296..e80867a 100644 --- a/stdio-common/stdio_lim.h.in +++ b/stdio-common/stdio_lim.h.in @@ -16,7 +16,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#if !defined _STDIO_H && !defined __need_FOPEN_MAX +#if !defined _STDIO_H && !defined __need_FOPEN_MAX && !defined __need_IOV_MAX # error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead." #endif @@ -37,5 +37,5 @@ #endif #if defined __need_IOV_MAX && !defined IOV_MAX -# define IOV_MAX @IOV_MAX@ +@define_IOV_MAX@ #endif diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c index d45e7d9..9a8ebab 100644 --- a/stdio-common/vfprintf.c +++ b/stdio-common/vfprintf.c @@ -104,7 +104,6 @@ #else /* ! USE_IN_LIBIO */ /* This code is for use in the GNU C library. */ # include <stdio.h> -# define PUT(F, S, N) fwrite (S, 1, N, F) # define ARGCHECK(S, Format) \ do \ { \ @@ -128,6 +127,25 @@ while (0) # define UNBUFFERED_P(s) ((s)->__buffer == NULL) +# define CHAR_T char +# define UCHAR_T unsigned char +# define INT_T int +# define L_(Str) Str +# define ISDIGIT(Ch) isdigit (Ch) + +# define PUT(F, S, N) fwrite (S, 1, N, F) +ssize_t __printf_pad __P ((FILE *, char pad, size_t n)); +# define PAD(Padchar) \ + if (width > 0) \ + { ssize_t __res = __printf_pad (s, (Padchar), width); \ + if (__res == -1) \ + { \ + done = -1; \ + goto all_done; \ + } \ + done += __res; } +# define PUTC(C, F) putc (C, F) + /* XXX These declarations should go as soon as the stdio header files have these prototypes. */ extern void __flockfile (FILE *); @@ -1155,15 +1173,17 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap) /* Sanity check of arguments. */ ARGCHECK (s, format); +#ifdef ORIENT /* Check for correct orientation. */ if ( -#ifdef USE_IN_LIBIO +# ifdef USE_IN_LIBIO s->_vtable_offset == 0 && -#endif +# endif _IO_fwide (s, sizeof (CHAR_T) == 1 ? -1 : 1) != (sizeof (CHAR_T) == 1 ? -1 : 1)) /* The stream is already oriented otherwise. */ return EOF; +#endif if (UNBUFFERED_P (s)) /* Use a helper function which will allocate a local temporary buffer diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c index e7dc805..a6e3bb2 100644 --- a/stdio-common/vfscanf.c +++ b/stdio-common/vfscanf.c @@ -169,6 +169,17 @@ # define ungetc(c, s) ((void) (c != EOF && --read_in), ungetc (c, s)) # define inchar() (c == EOF ? EOF \ : ((c = getc (s)), (void) (c != EOF && ++read_in), c)) +# define MEMCPY(d, s, n) memcpy (d, s, n) +# define ISSPACE(Ch) isspace (Ch) +# define ISDIGIT(Ch) isdigit (Ch) +# define ISXDIGIT(Ch) isxdigit (Ch) +# define TOLOWER(Ch) tolower (Ch) + +# define L_(Str) Str +# define CHAR_T char +# define UCHAR_T unsigned char +# define WINT_T int + # define encode_error() do { \ funlockfile (s); \ __set_errno (EILSEQ); \ |