http_buffer_ptr_t *bf = (http_buffer_ptr_t *) &hb->data;
*n_segs = 1;
+ bf->segs[1].len = clib_min (bf->segs[0].len, max_len);
return &bf->segs[1];
}
{
http_buffer_ptr_t *bf = (http_buffer_ptr_t *) &hb->data;
+ ASSERT (bf->segs[0].len >= len);
+
bf->segs[1].data += len;
- bf->segs[1].len -= len;
+ bf->segs[0].len -= len;
HTTP_DBG (1, "drained %u left %u", len, bf->segs[1].len);
- if (!bf->segs[1].len)
+ if (!bf->segs[0].len)
{
svm_fifo_dequeue_drop (bf->f, sizeof (uword));
return sizeof (uword);
{
http_buffer_ptr_t *bf = (http_buffer_ptr_t *) &hb->data;
- ASSERT (bf->segs[1].len <= bf->segs[0].len);
- return (bf->segs[1].len == 0);
+ return (bf->segs[0].len == 0);
}
const static http_buffer_vft_t buf_ptr_vft = {