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.
diff --git a/include/common/buffer.h b/include/common/buffer.h
index 5ebf18c..9006c00 100644
--- a/include/common/buffer.h
+++ b/include/common/buffer.h
@@ -532,7 +532,7 @@
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;