| 402 | |
| 403 | static ATTRIBUTE_DEALLOC (free_buffer, 1) |
| 404 | struct buffer_record * |
| 405 | get_new_buffer (idx_t min_size) |
| 406 | { |
| 407 | struct buffer_record *new_buffer = xmalloc (sizeof *new_buffer); |
| 408 | new_buffer->bytes_alloc = 0; |
| 409 | new_buffer->buffer = xpalloc (NULL, &new_buffer->bytes_alloc, min_size, |
| 410 | -1, 1); |
| 411 | new_buffer->bytes_used = 0; |
| 412 | new_buffer->start_line = new_buffer->first_available = last_line_number + 1; |
| 413 | new_buffer->num_lines = 0; |
| 414 | new_buffer->line_start = new_buffer->curr_line = NULL; |
| 415 | new_buffer->next = NULL; |
| 416 | |
| 417 | return new_buffer; |
| 418 | } |
| 419 | |
| 420 | /* Append buffer BUF to the linked list of buffers that contain |
| 421 | some data yet to be processed. */ |