From dbfcb4beace35e1426c1ce1e9bf2f20c7d5a0f56 Mon Sep 17 00:00:00 2001 From: Brendan Kehoe Date: Sat, 6 Sep 1997 03:44:38 -0400 Subject: Insert libio rewrite and its various changes from devo. From-SVN: r15129 --- libio/stdio/getchar.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'libio/stdio/getchar.c') diff --git a/libio/stdio/getchar.c b/libio/stdio/getchar.c index 88610dc..93194b3 100644 --- a/libio/stdio/getchar.c +++ b/libio/stdio/getchar.c @@ -1,3 +1,28 @@ +/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU IO Library. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2, or (at + your option) any later version. + + This 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 + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this library; see the file COPYING. If not, write to + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. + + As a special exception, if you link this library with files + compiled with a GNU compiler to produce an executable, this does + not cause the resulting executable to be covered by the GNU General + Public License. This exception does not however invalidate any + other reasons why the executable file might be covered by the GNU + General Public License. */ + #include "libioP.h" #include "stdio.h" @@ -6,5 +31,10 @@ int getchar () { - return _IO_getc (stdin); + int result; + _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, stdin); + _IO_flockfile (stdin); + result = _IO_getc_unlocked (stdin); + _IO_cleanup_region_end (1); + return result; } -- cgit v1.1