diff options
author | Roland McGrath <roland@gnu.org> | 2002-04-30 22:00:59 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-04-30 22:00:59 +0000 |
commit | a8c017767721fec8fd4ee53c1937e31e35dfac08 (patch) | |
tree | 11c43b6158f98ebcce0ab0b5555faa3a35d43187 /stdio/glue.c | |
parent | 8543f93de2a52f1e314051aa20f7394a7c13366f (diff) | |
download | glibc-a8c017767721fec8fd4ee53c1937e31e35dfac08.tar glibc-a8c017767721fec8fd4ee53c1937e31e35dfac08.tar.gz glibc-a8c017767721fec8fd4ee53c1937e31e35dfac08.tar.bz2 glibc-a8c017767721fec8fd4ee53c1937e31e35dfac08.zip |
2002-04-30 Roland McGrath <roland@frob.com>
Removed old GNU stdio implementation; GNU libio is now the only option.
* configure.in: Removed --enable-libio option and @stdio@ subst var.
Define USE_IN_LIBIO unconditionally.
* configure: Regenerated.
* Makeconfig (stdio): Set to libio by default.
* config.make.in (stdio): Variable removed.
* sysdeps/unix/sysv/linux/configure.in: Don't set $stdio.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* sysdeps/mach/hurd/configure.in: Don't test $stdio.
* sysdeps/mach/hurd/configure: Regenerated.
* stdio/.cvsignore: File removed.
* stdio/Makefile: File removed.
* stdio/Versions: File removed.
* stdio/__fbufsize.c: File removed.
* stdio/__flbf.c: File removed.
* stdio/__fpending.c: File removed.
* stdio/__fpurge.c: File removed.
* stdio/__freadable.c: File removed.
* stdio/__freading.c: File removed.
* stdio/__fsetlocking.c: File removed.
* stdio/__fwritable.c: File removed.
* stdio/__fwriting.c: File removed.
* stdio/clearerr.c: File removed.
* stdio/fclose.c: File removed.
* stdio/fcloseall.c: File removed.
* stdio/feof.c: File removed.
* stdio/ferror.c: File removed.
* stdio/fflush.c: File removed.
* stdio/fgetc.c: File removed.
* stdio/fgetpos.c: File removed.
* stdio/fgets.c: File removed.
* stdio/fileno.c: File removed.
* stdio/fmemopen.c: File removed.
* stdio/fopen.c: File removed.
* stdio/fopncook.c: File removed.
* stdio/fputc.c: File removed.
* stdio/fputs.c: File removed.
* stdio/fread.c: File removed.
* stdio/freopen.c: File removed.
* stdio/fseek.c: File removed.
* stdio/fsetpos.c: File removed.
* stdio/ftell.c: File removed.
* stdio/fwrite.c: File removed.
* stdio/getc.c: File removed.
* stdio/getchar.c: File removed.
* stdio/getdelim.c: File removed.
* stdio/gets.c: File removed.
* stdio/glue.c: File removed.
* stdio/internals.c: File removed.
* stdio/linewrap.c: File removed.
* stdio/linewrap.h: File removed.
* stdio/memstream.c: File removed.
* stdio/newstream.c: File removed.
* stdio/obstream.c: File removed.
* stdio/putc.c: File removed.
* stdio/putchar.c: File removed.
* stdio/puts.c: File removed.
* stdio/rewind.c: File removed.
* stdio/setbuf.c: File removed.
* stdio/setbuffer.c: File removed.
* stdio/setlinebuf.c: File removed.
* stdio/setvbuf.c: File removed.
* stdio/stdio.h: File removed.
* stdio/ungetc.c: File removed.
* stdio/vasprintf.c: File removed.
* stdio/vscanf.c: File removed.
* stdio/vsnprintf.c: File removed.
* stdio/vsprintf.c: File removed.
* stdio/vsscanf.c: File removed.
* sysdeps/generic/defs.c: File removed.
* sysdeps/generic/fdopen.c: File removed.
* sysdeps/generic/pipestream.c: File removed.
* sysdeps/generic/stdio_init.c: File removed.
* sysdeps/generic/sysd-stdio.c: File removed.
* sysdeps/generic/vdprintf.c: File removed.
* sysdeps/mach/hurd/defs.c: File removed.
* sysdeps/mach/hurd/fdopen.c: File removed.
* sysdeps/mach/hurd/pipestream.c: File removed.
* sysdeps/mach/hurd/stdio_init.c: File removed.
* sysdeps/mach/hurd/sysd-stdio.c: File removed.
* sysdeps/mach/hurd/vdprintf.c: File removed.
* sysdeps/posix/defs.c: File removed.
* sysdeps/posix/fdopen.c: File removed.
* sysdeps/posix/pipestream.c: File removed.
* sysdeps/posix/stdio_init.c: File removed.
* sysdeps/posix/vdprintf.c: File removed.
* sysdeps/unix/pipestream.c: File removed.
* sysdeps/unix/sysv/sysd-stdio.c: File removed.
* sysdeps/unix/sysv/sco3.2.4/pipestream.c: File removed.
* sysdeps/unix/sysv/sysv4/pipestream.c: File removed.
Diffstat (limited to 'stdio/glue.c')
-rw-r--r-- | stdio/glue.c | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/stdio/glue.c b/stdio/glue.c deleted file mode 100644 index a320f461ea..0000000000 --- a/stdio/glue.c +++ /dev/null @@ -1,112 +0,0 @@ -/* Copyright (C) 1991, 1992, 1996, 1997 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file provides glue between Unix stdio and GNU stdio. - It supports use of Unix stdio `getc' and `putc' (and, by extension, - `getchar' and `putchar') macros on GNU stdio streams (they are slow, but - they work). It also supports all stdio operations (including Unix - `getc' and `putc') on Unix's stdin, stdout, and stderr (the elements of - `_iob'). - - The reasoning behind this is to allow programs (and especially - libraries) compiled with Unix header files to work with the GNU C - library. */ - -#include <stdio.h> -#include <errno.h> - -typedef union - { - struct - { - int magic; - FILE **streamp; /* Overlaps GNU stdio `bufp' member. */ - /* These two overlap the GNU stdio `get_limit' and `put_limit' - members. They must be <= `streamp'/`bufp' for GNU getc and putc - to do the right thing. */ - FILE **streamp2, **streamp3; - } glue; - struct _iobuf - { - int _cnt; - unsigned char *_ptr; - unsigned char *_base; - int _bufsiz; - short int _flag; - char _file; - } unix_iobuf; - FILE gnu_stream; - } unix_FILE; - -/* These are the Unix stdio's stdin, stdout, and stderr. - In Unix stdin is (&_iob[0]), stdout is (&_iob[1]), and stderr is - (&_iob[2]). The magic number marks these as glued streams. The - __validfp macro in stdio.h is used by every stdio function. It checks - for glued streams, and replaces them with the GNU stdio stream. */ -unix_FILE _iob[] = - { -#define S(name) { { _GLUEMAGIC, &name, &name, &name } } - S (stdin), - S (stdout), - S (stderr), -#undef S - }; - -/* Called by the Unix stdio `getc' macro. - The macro is assumed to look something like: - (--file->_cnt < 0 ? _filbuf (file) ...) - In a Unix stdio FILE `_cnt' is the first element. - In a GNU stdio or glued FILE, the first element is the magic number. */ -int -_filbuf (unix_FILE *file) -{ - switch (++file->glue.magic) /* Compensate for Unix getc's decrement. */ - { - case _GLUEMAGIC: - /* This is a glued stream. */ - return getc (*file->glue.streamp); - - case _IOMAGIC: - /* This is a normal GNU stdio stream. */ - return getc ((FILE *) file); - - default: - /* Bogus stream. */ - __set_errno (EINVAL); - return EOF; - } -} - -/* Called by the Unix stdio `putc' macro. Much like getc, above. */ -int -_flsbuf (int c, unix_FILE *file) -{ - /* Compensate for putc's decrement. */ - switch (++file->glue.magic) - { - case _GLUEMAGIC: - return putc (c, *file->glue.streamp); - - case _IOMAGIC: - return putc (c, (FILE *) file); - - default: - __set_errno (EINVAL); - return EOF; - } -} |