3 integer f_back(a) alist *a;
8 if(a->aunit >= MXUNIT || a->aunit < 0)
9 err(a->aerr,101,"backspace")
11 if(b->useek==0) err(a->aerr,106,"backspace")
13 fk_open(1, 1, a->aunit);
23 err(a->aerr,errno,"backspace")
32 (void) fseek(b->ufd,x,SEEK_SET);
37 { (void) fseek(b->ufd,-(long)sizeof(int),SEEK_CUR);
38 (void) fread((char *)&n,sizeof(int),1,b->ufd);
39 (void) fseek(b->ufd,-(long)n-2*sizeof(int),SEEK_CUR);
45 if(x<sizeof(buf)) x=0;
46 else x -= sizeof(buf);
47 (void) fseek(b->ufd,x,SEEK_SET);
48 n=fread(buf,1,(int)(y-x), b->ufd);
51 if(buf[i]!='\n') continue;
52 (void) fseek(b->ufd,(long)(i+1-n),SEEK_CUR);
57 (void) fseek(b->ufd, 0L, SEEK_SET);
60 else if(n<=0) err(a->aerr,(EOF),"backspace")
61 (void) fseek(b->ufd, x, SEEK_SET);