PR opt/3995
[official-gcc.git] / libf2c / libU77 / fgetc_.c
blob49f39830d2c82894d4d5dbcf2d4c84c1c04ebf48
1 /* Copyright (C) 1996 Free Software Foundation, Inc.
2 This file is part of GNU Fortran libU77 library.
4 This library is free software; you can redistribute it and/or modify it
5 under the terms of the GNU Library General Public License as published
6 by the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 GNU Fortran is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
14 You should have received a copy of the GNU Library General Public
15 License along with GNU Fortran; see the file COPYING.LIB. If
16 not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 Boston, MA 02111-1307, USA. */
19 #ifdef HAVE_CONFIG_H
20 #include "config.h"
21 #endif
22 #ifdef HAVE_CONFIG_H
23 #include "config.h"
24 #endif
25 #include <stdio.h>
26 #include "f2c.h"
27 #include "fio.h"
29 #ifdef KR_headers
30 integer G77_fgetc_0 (lunit, c, Lc)
31 integer *lunit;
32 ftnlen Lc; /* should be 1 */
33 char *c;
34 #else
35 integer G77_fgetc_0 (const integer *lunit, char *c, ftnlen Lc)
36 #endif
38 int err;
39 FILE *f = f__units[*lunit].ufd;
41 if (*lunit>=MXUNIT || *lunit<0)
42 return 101; /* bad unit error */
43 err = getc (f);
44 if (err == EOF) {
45 if (feof (f))
46 return -1;
47 else
48 return ferror (f); }
49 else {
50 if (Lc == 0)
51 return 0;
53 c[0] = err;
54 while (--Lc)
55 *++c = ' ';
56 return 0; }
59 #ifdef KR_headers
60 integer G77_fget_0 (c, Lc)
61 ftnlen Lc; /* should be 1 */
62 char *c;
63 #else
64 integer G77_fget_0 (char *c, const ftnlen Lc)
65 #endif
67 integer five = 5;
69 return G77_fgetc_0 (&five, c, Lc);