5 integer
f_back(a
) alist
*a
;
7 integer
f_back(alist
*a
)
14 f__curunit
= b
= &f__units
[a
->aunit
]; /* curunit for error messages */
16 f__fatal (131, "I/O recursion");
17 if(a
->aunit
>= MXUNIT
|| a
->aunit
< 0)
18 err(a
->aerr
,101,"backspace");
19 if(b
->useek
==0) err(a
->aerr
,106,"backspace");
21 fk_open(1, 1, a
->aunit
);
31 err(a
->aerr
,errno
,"backspace");
33 f
= b
->ufd
; /* may have changed in t_runc() */
41 (void) fseek(f
,x
,SEEK_SET
);
46 { fseek(f
,-(long)sizeof(uiolen
),SEEK_CUR
);
47 fread((char *)&n
,sizeof(uiolen
),1,f
);
48 fseek(f
,-(long)n
-2*sizeof(uiolen
),SEEK_CUR
);
57 for(y
= x
; y
< w
; y
++) {
68 err(a
->aerr
,(EOF
),"backspace");
71 fseek(f
, z
, SEEK_SET
);