Lines Matching defs:reader
80 /* Embed the spill-buffer within the reader. */
93 this buffer is allocated by the reader code and re-used. The SAVE_POS
455 svn_spillbuf_reader_t *reader,
469 if (reader->save_len > 0)
473 if (len < reader->save_len)
476 copy_amt = reader->save_len;
478 memcpy(data, reader->save_ptr + reader->save_pos, copy_amt);
479 reader->save_pos += copy_amt;
480 reader->save_len -= copy_amt;
488 if (reader->sb_len == 0)
490 SVN_ERR(svn_spillbuf__read(&reader->sb_ptr, &reader->sb_len,
491 &reader->buf,
496 if (reader->sb_ptr == NULL)
500 reader->sb_len = 0;
505 if (len < reader->sb_len)
508 copy_amt = reader->sb_len;
510 memcpy(data, reader->sb_ptr, copy_amt);
511 reader->sb_ptr += copy_amt;
512 reader->sb_len -= copy_amt;
526 svn_spillbuf_reader_t *reader,
531 SVN_ERR(svn_spillbuf__reader_read(&amt, reader, c, 1, scratch_pool));
540 svn_spillbuf__reader_write(svn_spillbuf_reader_t *reader,
547 if (reader->sb_len > 0)
549 if (reader->save_ptr == NULL)
550 reader->save_ptr = apr_palloc(reader->buf.pool, reader->buf.blocksize);
552 memcpy(reader->save_ptr, reader->sb_ptr, reader->sb_len);
553 reader->save_len = reader->sb_len;
554 reader->save_pos = 0;
557 reader->sb_len = 0;
560 return svn_error_trace(svn_spillbuf__write(&reader->buf, data, len,
567 svn_spillbuf_reader_t *reader;
577 SVN_ERR(svn_spillbuf__reader_read(len, sb->reader, buffer, *len,
590 SVN_ERR(svn_spillbuf__reader_write(sb->reader, data, *len,
606 sb->reader = svn_spillbuf__reader_create(blocksize, maxsize, result_pool);