5 static int oneread(
register int (*op)(),
register int fd,
register char *
buf,
register int len)
16 static int getthis(
register substdio *s,
register char *buf,
register int len)
23 if (q > 0) { r =
len; s->
p = q; }
else s->
p = 0;
34 if (s->
p)
return s->
p;
36 r = oneread(s->
op,s->
fd,s->
x,q);
49 if (s->
p > 0)
return getthis(s,buf,len);
50 r = s->
n;
if (r <= len)
return oneread(s->
op,s->
fd,buf,r);
52 return getthis(s,buf,len);
59 if (s->
p > 0)
return getthis(s,buf,len);
60 if (s->
n <= len)
return oneread(s->
op,s->
fd,buf,len);
62 return getthis(s,buf,len);
void byte_copy(char *, unsigned int, char *)
int substdio_bget(register substdio *s, register char *buf, register int len)
void byte_copyr(char *, unsigned int, char *)
void substdio_seek(register substdio *s, register int len)
int substdio_feed(register substdio *s)
int substdio_get(register substdio *s, register char *buf, register int len)
char * substdio_peek(register substdio *s)