mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-04 18:39:37 +00:00
MINOR: buffer: make bo_getblk_nc() not return 2 for a full buffer
Thus function returns the number of blocks. When a buffer is full and properly aligned, buf->p loops back the beginning, and the test in the code doesn't cover that specific case, so it returns two chunks, a full one and an empty one. It's harmless but can sometimes have a small impact on performance and definitely makes the code hard to debug.
This commit is contained in:
parent
5a1335110c
commit
0621da5f5b
@ -532,7 +532,7 @@ static inline int bo_getblk_nc(struct buffer *buf, char **blk1, int *len1, char
|
||||
if (unlikely(buf->o == 0))
|
||||
return 0;
|
||||
|
||||
if (unlikely(buf->p - buf->o < buf->data)) {
|
||||
if (unlikely(buf->p != buf->data && buf->p - buf->o < buf->data)) {
|
||||
*blk1 = buf->p - buf->o + buf->size;
|
||||
*len1 = buf->data + buf->size - *blk1;
|
||||
*blk2 = buf->data;
|
||||
|
Loading…
Reference in New Issue
Block a user