char id_endfile[] = "@(#)endfile.c 1.2";
if (not_legal(lunit
)) err(errflag
,F_ERUNIT
,endf
)
if(!b
->ufd
) err(errflag
,F_ERNOPEN
,endf
)
return(t_runc(b
,errflag
));
t_runc(b
,flag
) unit
*b
; ioflag flag
;
if(b
->uwrt
) nowreading(b
);
if(b
->url
|| !b
->useek
|| !b
->ufnm
) return(OK
); /*don't trunc dir files*/
if (loc
==len
) return(OK
);
if(!(tmp
=fopen(nm
,"w"))) err(flag
,errno
,endf
);
n
=fread(buf
,1,loc
>sizeof(buf
)?sizeof(buf
):(int)loc
,b
->ufd
);
if((m
=fork())==-1) continue;
execl("/bin/cp","cp",nm
,b
->ufnm
,0);
execl("/usr/bin/cp","cp",nm
,b
->ufnm
,0);
fatal(F_ERSYS
,"no cp for trunc");
if(m
) err(flag
,F_ERTRUNC
,endf
);
err(flag
,F_ERTRUNC
,endf
);