7 static int oneread(
int (*op)(),
int fd,
char *
buf,
unsigned int len)
13 if (r == -1)
if (errno ==
error_intr)
continue;
18 static int getthis(
buffer *s,
char *buf,
unsigned int len)
20 if (len > s->
p) len = s->
p;
31 if (s->
p)
return s->
p;
32 r = oneread(s->
op,s->
fd,s->
x,s->
n);
44 if (s->
p > 0)
return getthis(s,buf,len);
45 if (s->
n <= len)
return oneread(s->
op,s->
fd,buf,s->
n);
47 return getthis(s,buf,len);
54 if (s->
p > 0)
return getthis(s,buf,len);
55 if (s->
n <= len)
return oneread(s->
op,s->
fd,buf,len);
57 return getthis(s,buf,len);
int buffer_bget(buffer *s, char *buf, unsigned int len)
void byte_copy(void *, unsigned int, const void *)
void byte_copyr(char *, unsigned int, const char *)
void buffer_seek(buffer *s, unsigned int len)
char * buffer_peek(buffer *s)
int buffer_feed(buffer *s)
int buffer_get(buffer *s, char *buf, unsigned int len)