]> granicus.if.org Git - libevent/commit
evbuffer_add: Use last_with_datap if set, not last.
authorMarcus Sundberg <marcus@marcussundberg.com>
Sat, 26 Mar 2016 19:11:43 +0000 (20:11 +0100)
committerMarcus Sundberg <marcus@marcussundberg.com>
Sat, 26 Mar 2016 19:52:07 +0000 (20:52 +0100)
commita8769ef12d7e223e33fc47bed03fba2bfa2f3536
treece7cde355c30d67f5e15c52ad221bc03aeb9d996
parentd5ee7391530890127eaff784d102ec6caaf258f6
evbuffer_add: Use last_with_datap if set, not last.

evbuffer_add() would always put data in the last chain, even if there
was available space in a previous chain, and in doing so it also
failed to update last_with_datap, causing subsequent calls to other
functions that do look at last_with_datap to add data in the middle
of the evbuffer instead of at the end.

Fixes the evbuffer_add() part of issue #335, and the evbuffer/add2 and
evbuffer/add3 tests, and also prevents wasting space available in the
chain pointed to by last_with_datap.
buffer.c