diff --git a/a8/fifobuffer.cc b/a8/fifobuffer.cc index bb48349..1629c41 100644 --- a/a8/fifobuffer.cc +++ b/a8/fifobuffer.cc @@ -44,7 +44,10 @@ namespace a8 BufHead* buf_head = (BufHead*)(p - sizeof(BufHead)); head_ += sizeof(BufHead) + buf_head->len; if (head_ >= buf_len_) { + capacity_ += sizeof(BufHead) + buf_head->len + (buf_len_ - head_); head_ = 0; + } else { + capacity_ += sizeof(BufHead) + buf_head->len; } } else { free(p);