xref: /csrg-svn/usr.bin/pascal/libpc/READ4.c (revision 1679)
1*1679Smckusick /* Copyright (c) 1979 Regents of the University of California */
2*1679Smckusick 
3*1679Smckusick static char sccsid[] = "@(#)READ4.c 1.1 10/30/80";
4*1679Smckusick 
5*1679Smckusick #include "h00vars.h"
6*1679Smckusick #include "h01errs.h"
7*1679Smckusick 
8*1679Smckusick READ4(curfile)
9*1679Smckusick 
10*1679Smckusick 	register struct iorec	*curfile;
11*1679Smckusick {
12*1679Smckusick 	int			data;
13*1679Smckusick 
14*1679Smckusick 	if (curfile->funit & FWRITE) {
15*1679Smckusick 		ERROR(EREADIT, curfile->pfname);
16*1679Smckusick 		return;
17*1679Smckusick 	}
18*1679Smckusick 	UNSYNC(curfile);
19*1679Smckusick 	if (fscanf(curfile->fbuf, "%ld", &data) == 0) {
20*1679Smckusick 		ERROR(EBADINUM, curfile->pfname);
21*1679Smckusick 		return;
22*1679Smckusick 	}
23*1679Smckusick 	curfile->funit |= SYNC;
24*1679Smckusick 	return data;
25*1679Smckusick }
26