From c89169f7b5c13961a3183d3a8736b8558b2a0922 Mon Sep 17 00:00:00 2001 From: reimar Date: Sun, 28 Feb 2010 13:54:55 +0000 Subject: Move stream_read_line implementation from stream.h to stream.c, it is not speed critical and the function call overhead is not relevant for its overall speed anyway. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30796 b3059339-0415-0410-9bf9-f77b7e298cf2 --- stream/stream.h | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) (limited to 'stream/stream.h') diff --git a/stream/stream.h b/stream/stream.h index 579468114a..cc70c81db5 100644 --- a/stream/stream.h +++ b/stream/stream.h @@ -265,32 +265,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; - if (max < 1) return NULL; - max--; // reserve one for 0-termination - 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 > 0) { - int l = len > max ? max : 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; - 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; -- cgit v1.2.3