Merge from vendor branch OPENSSH:
[dragonfly.git] / contrib / libf2c / libU77 / fgetc_.c
1 /* Copyright (C) 1996 Free Software Foundation, Inc.
2 This file is part of GNU Fortran libU77 library.
3
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.
8
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.
13
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.  */
18
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"
28
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
37 {
38   int err;
39   FILE *f = f__units[*lunit].ufd;
40
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;
52
53     c[0] = err;
54     while (--Lc)
55       *++c = ' ';
56     return 0; }
57 }
58
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
66 {
67   integer five = 5;
68
69   return G77_fgetc_0 (&five, c, Lc);
70 }