about summary refs log tree commit diff
path: root/stdio-common/vfprintf.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-08-22 16:26:00 +0000
committerUlrich Drepper <drepper@redhat.com>1999-08-22 16:26:00 +0000
commitab58d6203b8322bcfa253923d86c991c1f6a4294 (patch)
tree10b6ecae5e175febbd60b1ca1aa68233129f2d89 /stdio-common/vfprintf.c
parentfd292f70c098f85324b051661c7cd1e5015e0fe1 (diff)
downloadglibc-ab58d6203b8322bcfa253923d86c991c1f6a4294.tar.gz
glibc-ab58d6203b8322bcfa253923d86c991c1f6a4294.tar.xz
glibc-ab58d6203b8322bcfa253923d86c991c1f6a4294.zip
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/vfprintf.c')
-rw-r--r--stdio-common/vfprintf.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
index d45e7d96fc..9a8ebabd42 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