Lines Matching refs:linebuf
45 char * buffered_line ( struct line_buffer *linebuf ) { in buffered_line() argument
46 char *line = &linebuf->data[ linebuf->len ]; in buffered_line()
49 if ( ( linebuf->len == 0 ) || ( linebuf->consumed == 0 ) || in buffered_line()
54 while ( ( line > linebuf->data ) && ( line[-1] != '\0' ) ) in buffered_line()
65 void empty_line_buffer ( struct line_buffer *linebuf ) { in empty_line_buffer() argument
67 free ( linebuf->data ); in empty_line_buffer()
68 linebuf->data = NULL; in empty_line_buffer()
69 linebuf->len = 0; in empty_line_buffer()
70 linebuf->consumed = 0; in empty_line_buffer()
91 int line_buffer ( struct line_buffer *linebuf, const char *data, size_t len ) { in line_buffer() argument
111 new_len = ( linebuf->len + consume ); in line_buffer()
112 new_data = realloc ( linebuf->data, ( new_len + 1 ) ); in line_buffer()
115 memcpy ( ( new_data + linebuf->len ), data, consume ); in line_buffer()
117 linebuf->data = new_data; in line_buffer()
118 linebuf->len = new_len; in line_buffer()
124 assert ( linebuf->len > 0 ); in line_buffer()
125 lf = &linebuf->data[ linebuf->len - 1 ]; in line_buffer()
130 if ( linebuf->len > 1 ) { in line_buffer()
133 linebuf->len--; in line_buffer()
140 linebuf->consumed = consume; in line_buffer()