-static ssize_t get_more(struct rbuf *rbuf,
- void *(*resize)(void *buf, size_t len))
-{
- size_t r;
+ /* This is so we only call rbuf_good_size once. */
+ if (tcon_unwrap(&rbuf->m)->max_elems == 0)
+ membuf_prepare_space(&rbuf->m, rbuf_good_size(rbuf->fd));
+ else /* membuf doubles internally, so just ask for anything. */
+ membuf_prepare_space(&rbuf->m, 1);