summaryrefslogtreecommitdiffstats
path: root/stream/stream.h
diff options
context:
space:
mode:
Diffstat (limited to 'stream/stream.h')
-rw-r--r--stream/stream.h25
1 files changed, 1 insertions, 24 deletions
diff --git a/stream/stream.h b/stream/stream.h
index c02961f1df..3690dc46aa 100644
--- a/stream/stream.h
+++ b/stream/stream.h
@@ -269,30 +269,7 @@ inline static int stream_read(stream_t *s,char* mem,int total){
return total;
}
-inline static unsigned char* stream_read_line(stream_t *s,unsigned char* mem, int max) {
- int len;
- unsigned char* end,*ptr = mem;
- do {
- len = s->buf_len-s->buf_pos;
- // try to fill the buffer
- if(len <= 0 &&
- (!cache_stream_fill_buffer(s) ||
- (len = s->buf_len-s->buf_pos) <= 0)) break;
- end = (unsigned char*) memchr((void*)(s->buffer+s->buf_pos),'\n',len);
- if(end) len = end - (s->buffer+s->buf_pos) + 1;
- if(len > 0 && max > 1) {
- int l = len > max-1 ? max-1 : len;
- memcpy(ptr,s->buffer+s->buf_pos,l);
- max -= l;
- ptr += l;
- }
- s->buf_pos += len;
- } while(!end);
- if(s->eof && ptr == mem) return NULL;
- if(max > 0) ptr[0] = 0;
- return mem;
-}
-
+unsigned char* stream_read_line(stream_t *s,unsigned char* mem, int max);
inline static int stream_eof(stream_t *s){
return s->eof;