diff options
-rw-r--r-- | ChangeLog | 75 | ||||
-rw-r--r-- | Makeconfig | 6 | ||||
-rw-r--r-- | Makefile | 8 | ||||
-rw-r--r-- | Makerules | 16 | ||||
-rw-r--r-- | config.h.in | 4 | ||||
-rw-r--r-- | config.make.in | 1 | ||||
-rw-r--r-- | configure.in | 8 | ||||
-rw-r--r-- | stdio-common/Makefile | 47 | ||||
-rw-r--r-- | stdio-common/_itoa.c (renamed from stdio/_itoa.c) | 0 | ||||
-rw-r--r-- | stdio-common/_itoa.h (renamed from stdio/_itoa.h) | 0 | ||||
-rw-r--r-- | stdio-common/asprintf.c (renamed from stdio/asprintf.c) | 17 | ||||
-rw-r--r-- | stdio-common/bug1.c (renamed from stdio/bug1.c) | 0 | ||||
-rw-r--r-- | stdio-common/bug1.input (renamed from stdio/bug1.input) | 0 | ||||
-rw-r--r-- | stdio-common/bug2.c (renamed from stdio/bug2.c) | 0 | ||||
-rw-r--r-- | stdio-common/bug3.c (renamed from stdio/bug3.c) | 0 | ||||
-rw-r--r-- | stdio-common/bug4.c (renamed from stdio/bug4.c) | 0 | ||||
-rw-r--r-- | stdio-common/bug5.c (renamed from stdio/bug5.c) | 0 | ||||
-rw-r--r-- | stdio-common/bug6.c (renamed from stdio/bug6.c) | 0 | ||||
-rw-r--r-- | stdio-common/bug6.input (renamed from stdio/bug6.input) | 0 | ||||
-rw-r--r-- | stdio-common/bug7.c (renamed from stdio/bug7.c) | 0 | ||||
-rw-r--r-- | stdio-common/dprintf.c (renamed from stdio/dprintf.c) | 16 | ||||
-rw-r--r-- | stdio-common/errnobug.c (renamed from stdio/errnobug.c) | 0 | ||||
-rw-r--r-- | stdio-common/fprintf.c (renamed from stdio/fprintf.c) | 0 | ||||
-rw-r--r-- | stdio-common/fscanf.c (renamed from stdio/fscanf.c) | 0 | ||||
-rw-r--r-- | stdio-common/getline.c (renamed from stdio/getline.c) | 0 | ||||
-rw-r--r-- | stdio-common/getw.c (renamed from stdio/getw.c) | 0 | ||||
-rw-r--r-- | stdio-common/perror.c (renamed from stdio/perror.c) | 0 | ||||
-rw-r--r-- | stdio-common/printf-parse.h (renamed from stdio/printf-parse.h) | 0 | ||||
-rw-r--r-- | stdio-common/printf-prs.c (renamed from stdio/printf-prs.c) | 0 | ||||
-rw-r--r-- | stdio-common/printf.c (renamed from stdio/printf.c) | 15 | ||||
-rw-r--r-- | stdio-common/printf.h (renamed from stdio/printf.h) | 0 | ||||
-rw-r--r-- | stdio-common/printf_fp.c (renamed from stdio/printf_fp.c) | 0 | ||||
-rw-r--r-- | stdio-common/psignal.c (renamed from stdio/psignal.c) | 0 | ||||
-rw-r--r-- | stdio-common/putw.c (renamed from stdio/putw.c) | 0 | ||||
-rw-r--r-- | stdio-common/reg-printf.c (renamed from stdio/reg-printf.c) | 0 | ||||
-rw-r--r-- | stdio-common/scanf.c (renamed from stdio/scanf.c) | 15 | ||||
-rw-r--r-- | stdio-common/snprintf.c (renamed from stdio/snprintf.c) | 18 | ||||
-rw-r--r-- | stdio-common/sprintf.c (renamed from stdio/sprintf.c) | 16 | ||||
-rw-r--r-- | stdio-common/sscanf.c (renamed from stdio/sscanf.c) | 16 | ||||
-rw-r--r-- | stdio-common/tempnam.c (renamed from stdio/tempnam.c) | 0 | ||||
-rw-r--r-- | stdio-common/temptest.c (renamed from stdio/temptest.c) | 0 | ||||
-rw-r--r-- | stdio-common/test-fseek.c (renamed from stdio/test-fseek.c) | 0 | ||||
-rw-r--r-- | stdio-common/test-fwrite.c (renamed from stdio/test-fwrite.c) | 0 | ||||
-rw-r--r-- | stdio-common/test-popen.c (renamed from stdio/test-popen.c) | 0 | ||||
-rw-r--r-- | stdio-common/test_rdwr.c (renamed from stdio/test_rdwr.c) | 0 | ||||
-rw-r--r-- | stdio-common/tmpfile.c (renamed from stdio/tmpfile.c) | 0 | ||||
-rw-r--r-- | stdio-common/tmpnam.c (renamed from stdio/tmpnam.c) | 0 | ||||
-rw-r--r-- | stdio-common/tst-fileno.c (renamed from stdio/tst-fileno.c) | 0 | ||||
-rw-r--r-- | stdio-common/tst-printf.c (renamed from stdio/tst-printf.c) | 0 | ||||
-rw-r--r-- | stdio-common/tstgetln.c (renamed from stdio/tstgetln.c) | 0 | ||||
-rw-r--r-- | stdio-common/tstgetln.input (renamed from stdio/tstgetln.input) | 0 | ||||
-rw-r--r-- | stdio-common/tstscanf.c (renamed from stdio/tstscanf.c) | 0 | ||||
-rw-r--r-- | stdio-common/tstscanf.input (renamed from stdio/tstscanf.input) | 0 | ||||
-rw-r--r-- | stdio-common/vasprintf.c (renamed from stdio/vasprintf.c) | 0 | ||||
-rw-r--r-- | stdio-common/vdprintf.c (renamed from stdio/vdprintf.c) | 0 | ||||
-rw-r--r-- | stdio-common/vfprintf.c (renamed from stdio/vfprintf.c) | 0 | ||||
-rw-r--r-- | stdio-common/vfscanf.c (renamed from stdio/vfscanf.c) | 0 | ||||
-rw-r--r-- | stdio-common/vprintf.c (renamed from stdio/vprintf.c) | 10 | ||||
-rw-r--r-- | stdio-common/vscanf.c (renamed from stdio/vscanf.c) | 0 | ||||
-rw-r--r-- | stdio-common/vsnprintf.c (renamed from stdio/vsnprintf.c) | 0 | ||||
-rw-r--r-- | stdio-common/vsprintf.c (renamed from stdio/vsprintf.c) | 0 | ||||
-rw-r--r-- | stdio-common/vsscanf.c (renamed from stdio/vsscanf.c) | 0 | ||||
-rw-r--r-- | stdio-common/xbug.c (renamed from stdio/xbug.c) | 0 | ||||
-rw-r--r-- | stdio.h | 4 | ||||
-rw-r--r-- | stdio/Makefile | 26 | ||||
-rw-r--r-- | sysdeps/generic/Makefile | 4 |
66 files changed, 235 insertions, 87 deletions
diff --git a/ChangeLog b/ChangeLog index 610def7e75..5e0887b88a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,80 @@ Mon Oct 16 03:22:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + * Makefile (subdirs): Replace stdio with stdio-common and $(stdio). + * configure.in: Grok arg --enable-libio. + ($stdio = libio): Define USE_IN_LIBIO. + * config.h.in (USE_IN_LIBIO): Add #undef. + * config.make.in (stdio): New variable, set by configure. + * Makeconfig (stdio): New variable. + * stdio.h [USE_IN_LIBIO]: Include libio/stdio.h instead of + stdio/stdio.h. + * stdio-common/Makefile: New file. + * stdio/Makefile: Half the contents moved to stdio-common/Makefile. + * stdio/_itoa.c: Moved to stdio-common. + * stdio/_itoa.h: Moved to stdio-common. + * stdio/asprintf.c: Moved to stdio-common. + * stdio/bug1.c: Moved to stdio-common. + * stdio/bug1.input: Moved to stdio-common. + * stdio/bug2.c: Moved to stdio-common. + * stdio/bug3.c: Moved to stdio-common. + * stdio/bug4.c: Moved to stdio-common. + * stdio/bug5.c: Moved to stdio-common. + * stdio/bug6.c: Moved to stdio-common. + * stdio/bug6.input: Moved to stdio-common. + * stdio/bug7.c: Moved to stdio-common. + * stdio/dprintf.c: Moved to stdio-common. + * stdio/errnobug.c: Moved to stdio-common. + * stdio/getline.c: Moved to stdio-common. + * stdio/getw.c: Moved to stdio-common. + * stdio/perror.c: Moved to stdio-common. + * stdio/printf-parse.h: Moved to stdio-common. + * stdio/printf-prs.c: Moved to stdio-common. + * stdio/printf.c: Moved to stdio-common. + * stdio/printf.h: Moved to stdio-common. + * stdio/printf_fp.c: Moved to stdio-common. + * stdio/psignal.c: Moved to stdio-common. + * stdio/putw.c: Moved to stdio-common. + * stdio/reg-printf.c: Moved to stdio-common. + * stdio/scanf.c: Moved to stdio-common. + * stdio/snprintf.c: Moved to stdio-common. + * stdio/sprintf.c: Moved to stdio-common. + * stdio/sscanf.c: Moved to stdio-common. + * stdio/tempnam.c: Moved to stdio-common. + * stdio/temptest.c: Moved to stdio-common. + * stdio/test-fseek.c: Moved to stdio-common. + * stdio/test-fwrite.c: Moved to stdio-common. + * stdio/test-popen.c: Moved to stdio-common. + * stdio/test_rdwr.c: Moved to stdio-common. + * stdio/tmpfile.c: Moved to stdio-common. + * stdio/tmpnam.c: Moved to stdio-common. + * stdio/tst-fileno.c: Moved to stdio-common. + * stdio/tst-printf.c: Moved to stdio-common. + * stdio/tstgetln.c: Moved to stdio-common. + * stdio/tstgetln.input: Moved to stdio-common. + * stdio/tstscanf.c: Moved to stdio-common. + * stdio/tstscanf.input: Moved to stdio-common. + * stdio/vfprintf.c: Moved to stdio-common. + * stdio/vfscanf.c: Moved to stdio-common. + * stdio/vprintf.c: Moved to stdio-common. + * stdio/xbug.c: Moved to stdio-common. + * sysdeps/generic/Makefile (siglist.c rules): Do this in subdir + stdio-common instead of stdio. + * sysdeps/unix/Makefile (errlist.c rules): Likewise. + * stdio-common/asprintf.c [USE_IN_LIBIO]: Call libio primitive + function. + * stdio-common/dprintf.c: Likewise. + * stdio-common/printf.c: Likewise. + * stdio-common/scanf.c: Likewise. + * stdio-common/snprintf.c: Likewise. + * stdio-common/sprintf.c: Likewise. + * stdio-common/sscanf.c: Likewise. + * stdio-common/vprintf.c: Likewise. + + * Makerules: Include $(+depfiles) directly instead of generating + depend-$(subdir). + (depend-$(subdir)): Target removed. + (common-clean): Don't remove depend-$(subdir). + * sysdeps/unix/sysv/linux/Makefile (rtld-installed-name): New variable. (config-LDFLAGS): Variable removed. diff --git a/Makeconfig b/Makeconfig index d21d7114e0..cbb2db0102 100644 --- a/Makeconfig +++ b/Makeconfig @@ -114,6 +114,12 @@ export sysdep_dir := $(sysdep_dir) #### +# Set this to either `stdio' or `libio', to compile in either GNU stdio +# or GNU libio. +ifndef stdio +stdio = stdio +endif + # Common prefix for machine-independent installation directories. ifeq ($(origin prefix),undefined) # ifndef would override explicit empty value. prefix = /usr/local diff --git a/Makefile b/Makefile index f3d5e1c2f2..f1aae8ed0b 100644 --- a/Makefile +++ b/Makefile @@ -51,10 +51,10 @@ sysdep-subdirs := $(subst $(\n), ,$(sysdep-subdirs)) endif # These are the subdirectories containing the library source. -subdirs := csu assert ctype locale intl math setjmp signal stdio stdlib \ - malloc string time dirent grp pwd posix io termios resource \ - misc socket sysvipc gmon gnulib $(wildcard crypt) manual \ - $(sysdep-subdirs) elf +subdirs = csu assert ctype locale intl math setjmp signal stdlib \ + stdio-common $(stdio) malloc string time dirent grp pwd \ + posix io termios resource misc socket sysvipc gmon gnulib \ + $(wildcard crypt) manual $(sysdep-subdirs) elf export subdirs := $(subdirs) # Benign, useless in GNU make before 3.63. # The mach and hurd subdirectories have many generated header files which diff --git a/Makerules b/Makerules index 56f8cc89e6..ac1ac39b48 100644 --- a/Makerules +++ b/Makerules @@ -301,19 +301,10 @@ endif $(filter-out $(addsuffix .d,$(omit-deps)),\ $(+depfiles))) -$(objpfx)depend-$(subdir): Makefile ifdef +depfiles - for file in $(+depfiles:$(objpfx)%=%); do \ - echo "include \$$(objpfx)$$file"; \ - done > $@-tmp - mv -f $@-tmp $@ -else - cp /dev/null $@ -endif - ifneq ($(no_deps),t) -# Include the generated dependencies of the sources in this directory. -include $(objpfx)depend-$(subdir) +include $(+depfiles) +endif endif # Maximize efficiency by minimizing the number of rules. @@ -623,8 +614,7 @@ endef # Also remove the dependencies and generated source files. common-clean: common-mostlyclean - -rm -f $(objpfx)depend-$(subdir) $(+depfiles) - -rm -f $(addprefix $(objpfx),$(generated)) + -rm -f $(addprefix $(objpfx),$(generated)) $(+depfiles) # Produce a file `stub-$(subdir)' which contains `#define __stub_FUNCTION' # for each function which is a stub. We grovel over all the .d files diff --git a/config.h.in b/config.h.in index 800fe15720..485f86170f 100644 --- a/config.h.in +++ b/config.h.in @@ -30,6 +30,10 @@ #define HAVE_WEAK_SYMBOLS #endif #endif + +/* Define to use GNU libio instead of GNU stdio. + This is defined by configure under --enable-libio. */ +#undef USE_IN_LIBIO /* */ /* These symbols might be defined by some sysdeps configures. */ diff --git a/config.make.in b/config.make.in index 69d4fcbdea..2af925da48 100644 --- a/config.make.in +++ b/config.make.in @@ -24,6 +24,7 @@ gnu-ld = @gnu_ld@ build-shared = @shared@ build-profile = @profile@ build-omitfp = @omitfp@ +stdio = @stdio@ # Build tools. CC = @CC@ diff --git a/configure.in b/configure.in index e7d4ecbb39..239e7fd874 100644 --- a/configure.in +++ b/configure.in @@ -40,6 +40,11 @@ AC_ARG_WITH(weak-symbols, dnl --with-weak-symbols if weak symbols are available in as and ld, weak=$withval, weak=no) +AC_ARG_ENABLE(libio, dnl +[ --enable-libio build in GNU libio instead of GNU stdio], + stdio=libio, stdio=stdio) +AC_SUBST(stdio) + dnl Arguments to enable or disable building the shared, profiled, and dnl -fomit-frame-pointer libraries. AC_ARG_ENABLE(shared, dnl @@ -485,6 +490,9 @@ fi AC_SUBST(profile) AC_SUBST(omitfp) +if test $stdio = libio; then + AC_DEFINE(USE_IN_LIBIO) +fi if test "`(cd $srcdir; pwd)`" = "`pwd`"; then config_makefile= diff --git a/stdio-common/Makefile b/stdio-common/Makefile new file mode 100644 index 0000000000..6ca6c7d1d3 --- /dev/null +++ b/stdio-common/Makefile @@ -0,0 +1,47 @@ +# Copyright (C) 1991, 1992, 1993, 1994, 1995 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 +# modify it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# +# Specific makefile for stdio-common. +# +subdir := stdio-common + +headers := stdio_lim.h printf.h + +routines := \ + ctermid cuserid \ + vfprintf vprintf printf_fp reg-printf printf-prs _itoa \ + vsnprintf vsprintf vasprintf \ + fprintf printf snprintf sprintf asprintf \ + dprintf vdprintf \ + vfscanf vscanf vsscanf \ + fscanf scanf sscanf \ + perror psignal \ + tmpfile tmpnam tempnam tempname \ + getline getw putw \ + remove rename +aux := errlist siglist +distribute := _itoa.h printf-parse.h + +tests := tst-printf tstscanf test_rdwr test-popen tstgetln test-fseek \ + temptest tst-fileno test-fwrite \ + xbug errnobug \ + bug1 bug2 bug3 bug4 bug5 bug6 bug7 + + +include ../Rules diff --git a/stdio/_itoa.c b/stdio-common/_itoa.c index caa8179624..caa8179624 100644 --- a/stdio/_itoa.c +++ b/stdio-common/_itoa.c diff --git a/stdio/_itoa.h b/stdio-common/_itoa.h index ab3d1d1d3a..ab3d1d1d3a 100644 --- a/stdio/_itoa.h +++ b/stdio-common/_itoa.h diff --git a/stdio/asprintf.c b/stdio-common/asprintf.c index 9b69800f73..85ab7b1041 100644 --- a/stdio/asprintf.c +++ b/stdio-common/asprintf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995 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 @@ -16,24 +16,27 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ansidecl.h> #include <stdarg.h> #include <stdio.h> +#ifdef USE_IN_LIBIO +# define vasprintf _IO_vasprintf +#endif /* Write formatted output from FORMAT to a string which is allocated with malloc and stored in *STRING_PTR. */ /* VARARGS2 */ int -DEFUN(asprintf, (string_ptr, format), - char **string_ptr AND CONST char *format DOTS) +asprintf (string_ptr, format) + char **string_ptr; + const char *format; { va_list arg; int done; - va_start(arg, format); - done = vasprintf(string_ptr, format, arg); - va_end(arg); + va_start (arg, format); + done = vasprintf (string_ptr, format, arg); + va_end (arg); return done; } diff --git a/stdio/bug1.c b/stdio-common/bug1.c index 755bc4231b..755bc4231b 100644 --- a/stdio/bug1.c +++ b/stdio-common/bug1.c diff --git a/stdio/bug1.input b/stdio-common/bug1.input index 5595fa46c0..5595fa46c0 100644 --- a/stdio/bug1.input +++ b/stdio-common/bug1.input diff --git a/stdio/bug2.c b/stdio-common/bug2.c index 2b34c890bf..2b34c890bf 100644 --- a/stdio/bug2.c +++ b/stdio-common/bug2.c diff --git a/stdio/bug3.c b/stdio-common/bug3.c index 1684720b9f..1684720b9f 100644 --- a/stdio/bug3.c +++ b/stdio-common/bug3.c diff --git a/stdio/bug4.c b/stdio-common/bug4.c index 00abf3c502..00abf3c502 100644 --- a/stdio/bug4.c +++ b/stdio-common/bug4.c diff --git a/stdio/bug5.c b/stdio-common/bug5.c index 18f069ae29..18f069ae29 100644 --- a/stdio/bug5.c +++ b/stdio-common/bug5.c diff --git a/stdio/bug6.c b/stdio-common/bug6.c index 4a37ab2584..4a37ab2584 100644 --- a/stdio/bug6.c +++ b/stdio-common/bug6.c diff --git a/stdio/bug6.input b/stdio-common/bug6.input index d996e399c3..d996e399c3 100644 --- a/stdio/bug6.input +++ b/stdio-common/bug6.input diff --git a/stdio/bug7.c b/stdio-common/bug7.c index af06f8d6a5..af06f8d6a5 100644 --- a/stdio/bug7.c +++ b/stdio-common/bug7.c diff --git a/stdio/dprintf.c b/stdio-common/dprintf.c index fc9faa4ca2..5746d49841 100644 --- a/stdio/dprintf.c +++ b/stdio-common/dprintf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995 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 @@ -16,22 +16,26 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ansidecl.h> #include <stdarg.h> #include <stdio.h> +#ifdef USE_IN_LIBIO +# define vdprintf _IO_vdprintf +#endif /* Write formatted output to D, according to the format string FORMAT. */ /* VARARGS2 */ int -DEFUN(dprintf, (d, format), int d AND CONST char *format DOTS) +dprintf (d, format) + int d; + const char *format; { va_list arg; int done; - va_start(arg, format); - done = vdprintf(d, format, arg); - va_end(arg); + va_start (arg, format); + done = vdprintf (d, format, arg); + va_end (arg); return done; } diff --git a/stdio/errnobug.c b/stdio-common/errnobug.c index cf17be30a2..cf17be30a2 100644 --- a/stdio/errnobug.c +++ b/stdio-common/errnobug.c diff --git a/stdio/fprintf.c b/stdio-common/fprintf.c index bc6d1003b7..bc6d1003b7 100644 --- a/stdio/fprintf.c +++ b/stdio-common/fprintf.c diff --git a/stdio/fscanf.c b/stdio-common/fscanf.c index cbe0103368..cbe0103368 100644 --- a/stdio/fscanf.c +++ b/stdio-common/fscanf.c diff --git a/stdio/getline.c b/stdio-common/getline.c index 1a2f975c75..1a2f975c75 100644 --- a/stdio/getline.c +++ b/stdio-common/getline.c diff --git a/stdio/getw.c b/stdio-common/getw.c index 45d4d8875d..45d4d8875d 100644 --- a/stdio/getw.c +++ b/stdio-common/getw.c diff --git a/stdio/perror.c b/stdio-common/perror.c index 1054acaa7d..1054acaa7d 100644 --- a/stdio/perror.c +++ b/stdio-common/perror.c diff --git a/stdio/printf-parse.h b/stdio-common/printf-parse.h index 0f6e9e287b..0f6e9e287b 100644 --- a/stdio/printf-parse.h +++ b/stdio-common/printf-parse.h diff --git a/stdio/printf-prs.c b/stdio-common/printf-prs.c index 811a9cb7eb..811a9cb7eb 100644 --- a/stdio/printf-prs.c +++ b/stdio-common/printf-prs.c diff --git a/stdio/printf.c b/stdio-common/printf.c index 9cdae768ae..d8aa895a77 100644 --- a/stdio/printf.c +++ b/stdio-common/printf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995 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 @@ -16,22 +16,25 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ansidecl.h> #include <stdarg.h> #include <stdio.h> +#ifdef USE_IN_LIBIO +# define vprintf _IO_vprintf +#endif /* Write formatted output to stdout from the format string FORMAT. */ /* VARARGS1 */ int -DEFUN(printf, (format), CONST char *format DOTS) +printf (format) + const char *format; { va_list arg; int done; - va_start(arg, format); - done = vprintf(format, arg); - va_end(arg); + va_start (arg, format); + done = vprintf (format, arg); + va_end (arg); return done; } diff --git a/stdio/printf.h b/stdio-common/printf.h index 0f381c77f4..0f381c77f4 100644 --- a/stdio/printf.h +++ b/stdio-common/printf.h diff --git a/stdio/printf_fp.c b/stdio-common/printf_fp.c index 28d13d61b8..28d13d61b8 100644 --- a/stdio/printf_fp.c +++ b/stdio-common/printf_fp.c diff --git a/stdio/psignal.c b/stdio-common/psignal.c index 8997a2ecdf..8997a2ecdf 100644 --- a/stdio/psignal.c +++ b/stdio-common/psignal.c diff --git a/stdio/putw.c b/stdio-common/putw.c index 1b70baeeaf..1b70baeeaf 100644 --- a/stdio/putw.c +++ b/stdio-common/putw.c diff --git a/stdio/reg-printf.c b/stdio-common/reg-printf.c index 95d7a1f3c9..95d7a1f3c9 100644 --- a/stdio/reg-printf.c +++ b/stdio-common/reg-printf.c diff --git a/stdio/scanf.c b/stdio-common/scanf.c index aa7021526f..cf43363958 100644 --- a/stdio/scanf.c +++ b/stdio-common/scanf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995 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 @@ -16,22 +16,25 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ansidecl.h> #include <stdarg.h> #include <stdio.h> +#ifdef USE_IN_LIBIO +# define vscanf _IO_vscanf +#endif /* Read formatted input from stdin according to the format string FORMAT. */ /* VARARGS1 */ int -DEFUN(scanf, (format), CONST char *format DOTS) +scanf (format) + const char *format; { va_list arg; int done; - va_start(arg, format); - done = vscanf(format, arg); - va_end(arg); + va_start (arg, format); + done = vscanf (format, arg); + va_end (arg); return done; } diff --git a/stdio/snprintf.c b/stdio-common/snprintf.c index 9f3e0c4868..00b85f3175 100644 --- a/stdio/snprintf.c +++ b/stdio-common/snprintf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995 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 @@ -16,24 +16,28 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ansidecl.h> #include <stdarg.h> #include <stdio.h> +#ifdef USE_IN_LIBIO +# define vsnprintf _IO_vsnprintf +#endif /* Write formatted output into S, according to the format string FORMAT, writing no more than MAXLEN characters. */ /* VARARGS3 */ int -DEFUN(snprintf, (s, maxlen, format), - char *s AND size_t maxlen AND CONST char *format DOTS) +snprintf (s, maxlen, format) + char *s; + size_t maxlen; + const char *format; { va_list arg; int done; - va_start(arg, format); - done = vsnprintf(s, maxlen, format, arg); - va_end(arg); + va_start (arg, format); + done = vsnprintf (s, maxlen, format, arg); + va_end (arg); return done; } diff --git a/stdio/sprintf.c b/stdio-common/sprintf.c index ce3a970074..9cfc89cb84 100644 --- a/stdio/sprintf.c +++ b/stdio-common/sprintf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995 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 @@ -16,22 +16,26 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ansidecl.h> #include <stdarg.h> #include <stdio.h> +#ifdef USE_IN_LIBIO +# define vsprintf _IO_vsprintf +#endif /* Write formatted output into S, according to the format string FORMAT. */ /* VARARGS2 */ int -DEFUN(sprintf, (s, format), char *s AND CONST char *format DOTS) +sprintf (s, format) + char *s; + const char *format; { va_list arg; int done; - va_start(arg, format); - done = vsprintf(s, format, arg); - va_end(arg); + va_start (arg, format); + done = vsprintf (s, format, arg); + va_end (arg); return done; } diff --git a/stdio/sscanf.c b/stdio-common/sscanf.c index 33bc203577..794a3ce628 100644 --- a/stdio/sscanf.c +++ b/stdio-common/sscanf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995 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 @@ -16,22 +16,26 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ansidecl.h> #include <stdarg.h> #include <stdio.h> +#ifdef USE_IN_LIBIO +# define __vsscanf _IO_vsscanf +#endif /* Read formatted input from S, according to the format string FORMAT. */ /* VARARGS2 */ int -DEFUN(sscanf, (s, format), CONST char *s AND CONST char *format DOTS) +sscanf (s, format) + const char *s; + const char *format; { va_list arg; int done; - va_start(arg, format); - done = __vsscanf(s, format, arg); - va_end(arg); + va_start (arg, format); + done = __vsscanf (s, format, arg); + va_end (arg); return done; } diff --git a/stdio/tempnam.c b/stdio-common/tempnam.c index 14988a8656..14988a8656 100644 --- a/stdio/tempnam.c +++ b/stdio-common/tempnam.c diff --git a/stdio/temptest.c b/stdio-common/temptest.c index 374719896a..374719896a 100644 --- a/stdio/temptest.c +++ b/stdio-common/temptest.c diff --git a/stdio/test-fseek.c b/stdio-common/test-fseek.c index d56c669a54..d56c669a54 100644 --- a/stdio/test-fseek.c +++ b/stdio-common/test-fseek.c diff --git a/stdio/test-fwrite.c b/stdio-common/test-fwrite.c index cc6cdf038e..cc6cdf038e 100644 --- a/stdio/test-fwrite.c +++ b/stdio-common/test-fwrite.c diff --git a/stdio/test-popen.c b/stdio-common/test-popen.c index b452f3f63c..b452f3f63c 100644 --- a/stdio/test-popen.c +++ b/stdio-common/test-popen.c diff --git a/stdio/test_rdwr.c b/stdio-common/test_rdwr.c index f987f16cd4..f987f16cd4 100644 --- a/stdio/test_rdwr.c +++ b/stdio-common/test_rdwr.c diff --git a/stdio/tmpfile.c b/stdio-common/tmpfile.c index dfe11ada50..dfe11ada50 100644 --- a/stdio/tmpfile.c +++ b/stdio-common/tmpfile.c diff --git a/stdio/tmpnam.c b/stdio-common/tmpnam.c index 88dd0a4ca5..88dd0a4ca5 100644 --- a/stdio/tmpnam.c +++ b/stdio-common/tmpnam.c diff --git a/stdio/tst-fileno.c b/stdio-common/tst-fileno.c index 81945f7b44..81945f7b44 100644 --- a/stdio/tst-fileno.c +++ b/stdio-common/tst-fileno.c diff --git a/stdio/tst-printf.c b/stdio-common/tst-printf.c index c177da18b2..c177da18b2 100644 --- a/stdio/tst-printf.c +++ b/stdio-common/tst-printf.c diff --git a/stdio/tstgetln.c b/stdio-common/tstgetln.c index ea8ea817da..ea8ea817da 100644 --- a/stdio/tstgetln.c +++ b/stdio-common/tstgetln.c diff --git a/stdio/tstgetln.input b/stdio-common/tstgetln.input index d04ed5bf78..d04ed5bf78 100644 --- a/stdio/tstgetln.input +++ b/stdio-common/tstgetln.input diff --git a/stdio/tstscanf.c b/stdio-common/tstscanf.c index 53d4b0ac47..53d4b0ac47 100644 --- a/stdio/tstscanf.c +++ b/stdio-common/tstscanf.c diff --git a/stdio/tstscanf.input b/stdio-common/tstscanf.input index 26158652dd..26158652dd 100644 --- a/stdio/tstscanf.input +++ b/stdio-common/tstscanf.input diff --git a/stdio/vasprintf.c b/stdio-common/vasprintf.c index d2ad6b1da6..d2ad6b1da6 100644 --- a/stdio/vasprintf.c +++ b/stdio-common/vasprintf.c diff --git a/stdio/vdprintf.c b/stdio-common/vdprintf.c index 9df4e537bc..9df4e537bc 100644 --- a/stdio/vdprintf.c +++ b/stdio-common/vdprintf.c diff --git a/stdio/vfprintf.c b/stdio-common/vfprintf.c index 63a5148463..63a5148463 100644 --- a/stdio/vfprintf.c +++ b/stdio-common/vfprintf.c diff --git a/stdio/vfscanf.c b/stdio-common/vfscanf.c index a778346287..a778346287 100644 --- a/stdio/vfscanf.c +++ b/stdio-common/vfscanf.c diff --git a/stdio/vprintf.c b/stdio-common/vprintf.c index 97264f475c..77f1da47e2 100644 --- a/stdio/vprintf.c +++ b/stdio-common/vprintf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1993 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1993, 1995 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 @@ -16,18 +16,22 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ansidecl.h> #include <stdarg.h> #undef __OPTIMIZE__ /* Avoid inline `vprintf' function. */ #include <stdio.h> #undef vprintf +#ifdef USE_IN_LIBIO +# define vfprintf _IO_vfprintf +#endif /* Write formatted output to stdout according to the format string FORMAT, using the argument list in ARG. */ int -DEFUN(vprintf, (format, arg), CONST char *format AND __gnuc_va_list arg) +vprintf (format, arg) + const char *format; + __gnuc_va_list arg; { return vfprintf (stdout, format, arg); } diff --git a/stdio/vscanf.c b/stdio-common/vscanf.c index 0d829440e9..0d829440e9 100644 --- a/stdio/vscanf.c +++ b/stdio-common/vscanf.c diff --git a/stdio/vsnprintf.c b/stdio-common/vsnprintf.c index a02c259131..a02c259131 100644 --- a/stdio/vsnprintf.c +++ b/stdio-common/vsnprintf.c diff --git a/stdio/vsprintf.c b/stdio-common/vsprintf.c index 82be90f1fa..82be90f1fa 100644 --- a/stdio/vsprintf.c +++ b/stdio-common/vsprintf.c diff --git a/stdio/vsscanf.c b/stdio-common/vsscanf.c index 6f027d5065..6f027d5065 100644 --- a/stdio/vsscanf.c +++ b/stdio-common/vsscanf.c diff --git a/stdio/xbug.c b/stdio-common/xbug.c index ec648f5566..ec648f5566 100644 --- a/stdio/xbug.c +++ b/stdio-common/xbug.c diff --git a/stdio.h b/stdio.h index a82be070c3..457eabe32f 100644 --- a/stdio.h +++ b/stdio.h @@ -1 +1,5 @@ +#ifdef USE_IN_LIBIO +#include <libio/stdio.h> +#else #include <stdio/stdio.h> +#endif diff --git a/stdio/Makefile b/stdio/Makefile index 955d7f1fcd..a15aa56aff 100644 --- a/stdio/Makefile +++ b/stdio/Makefile @@ -21,39 +21,23 @@ # subdir := stdio -headers := stdio.h stdio_lim.h printf.h +headers := stdio.h routines := \ - ctermid cuserid \ feof ferror clearerr fileno \ newstream fopen freopen fdopen fopncook fmemopen \ setbuf setvbuf setbuffer setlinebuf \ fseek ftell rewind fgetpos fsetpos \ - vfprintf vprintf printf_fp reg-printf printf-prs _itoa \ - vsnprintf vsprintf vasprintf \ - fprintf printf snprintf sprintf asprintf \ - dprintf vdprintf \ - vfscanf vscanf vsscanf \ - fscanf scanf sscanf \ fread fwrite \ ungetc \ - fgetc getc getchar getw \ - fputc putc putchar putw \ + fgetc getc getchar \ + fputc putc putchar \ fgets gets fputs puts \ - getdelim getline \ - perror psignal \ - tmpfile tmpnam tempnam tempname \ + getdelim \ fclose fflush \ - remove rename \ memstream obstream \ internals sysd-stdio pipestream stdio_init libc_fatal -aux := errlist siglist defs glue -distribute := _itoa.h printf-parse.h - -tests := tst-printf tstscanf test_rdwr test-popen tstgetln test-fseek \ - temptest tst-fileno test-fwrite \ - xbug errnobug \ - bug1 bug2 bug3 bug4 bug5 bug6 bug7 +aux := defs glue include ../Rules diff --git a/sysdeps/generic/Makefile b/sysdeps/generic/Makefile index b80b073d0c..1315a26b95 100644 --- a/sysdeps/generic/Makefile +++ b/sysdeps/generic/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995 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 @@ -42,7 +42,7 @@ common-generated := $(common-generated) bytesex.h det_endian endif -ifeq ($(subdir),stdio) +ifeq ($(subdir),stdio-common) ifeq "$(filter $(objpfx)siglist.c,$(before-compile))" "" before-compile := $(before-compile) $(objpfx)siglist.c |