Commit | Line | Data |
---|---|---|
ffbbb01b KM |
1 | /* Copyright (c) 1979 Regents of the University of California */ |
2 | ||
86997b19 | 3 | static char sccsid[] = "@(#)READ4.c 1.5 %G%"; |
ffbbb01b KM |
4 | |
5 | #include "h00vars.h" | |
ffbbb01b | 6 | |
492cc5d3 | 7 | long |
ffbbb01b KM |
8 | READ4(curfile) |
9 | ||
10 | register struct iorec *curfile; | |
11 | { | |
492cc5d3 KM |
12 | long data; |
13 | int retval; | |
ffbbb01b KM |
14 | |
15 | if (curfile->funit & FWRITE) { | |
86997b19 KM |
16 | ERROR("%s: Attempt to read, but open for writing\n", |
17 | curfile->pfname); | |
ffbbb01b KM |
18 | return; |
19 | } | |
20 | UNSYNC(curfile); | |
53909d1e KM |
21 | retval = fscanf(curfile->fbuf, "%ld", &data); |
22 | if (retval == EOF) { | |
86997b19 | 23 | ERROR("%s: Tried to read past end of file\n", curfile->pfname); |
53909d1e KM |
24 | return; |
25 | } | |
26 | if (retval == 0) { | |
86997b19 | 27 | ERROR("%s: Bad data found on integer read\n", curfile->pfname); |
ffbbb01b KM |
28 | return; |
29 | } | |
e5053b93 | 30 | curfile->funit &= ~EOLN; |
ffbbb01b KM |
31 | curfile->funit |= SYNC; |
32 | return data; | |
33 | } |