BSD 2 release
[unix-history] / upgrade / libretro / lseek.c
lseek(f, o0, o1, p)
{
register r;
if((o0 == 0 && o1 >= 0) || (o0 == -1 && o1 < 0))
return(seek(f, o1, p));
if(p > 2)
return(-1);
r = (o0<<7) | ((o1>>9)&0177);
if(seek(f, r, p+3) < 0)
return(-1);
return(seek(f, o1&0777, 1));
}