File: rewind.c

package info (click to toggle)
egcs64 19980921-2
  • links: PTS
  • area: main
  • in suites: slink
  • size: 70,228 kB
  • ctags: 86,158
  • sloc: ansic: 673,828; cpp: 81,202; sh: 16,585; yacc: 14,880; asm: 10,981; lisp: 7,252; makefile: 6,221; exp: 3,236; fortran: 1,795; sed: 587; objc: 482; pascal: 133; ml: 57; perl: 18
file content (26 lines) | stat: -rw-r--r-- 462 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "f2c.h"
#include "fio.h"
#ifdef KR_headers
integer f_rew(a) alist *a;
#else
integer f_rew(alist *a)
#endif
{
	unit *b;
	if (f__init & 2)
		f__fatal (131, "I/O recursion");
	if(a->aunit>=MXUNIT || a->aunit<0)
		err(a->aerr,101,"rewind");
	b = &f__units[a->aunit];
	if(b->ufd == NULL || b->uwrt == 3)
		return(0);
	if(!b->useek)
		err(a->aerr,106,"rewind");
	if(b->uwrt) {
		(void) t_runc(a);
		b->uwrt = 3;
		}
	rewind(b->ufd);
	b->uend=0;
	return(0);
}