X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fcpbuffer.h;h=1478b740a9ac2512c971f85e61b0e962ab45279e;hb=36d2781d9f4890dda54419d38679d2da3d04b7bd;hp=978720430b47a0b51d8a8e11eb75b35c139fba04;hpb=10bb455b3835924965cdbaab67fc7f38979dde4e;p=oweals%2Fdinit.git diff --git a/src/cpbuffer.h b/src/cpbuffer.h index 9787204..1478b74 100644 --- a/src/cpbuffer.h +++ b/src/cpbuffer.h @@ -26,7 +26,12 @@ template class CPBuffer int pos = cur_idx + index; if (pos >= SIZE) pos -= SIZE; - return &buf[cur_idx]; + return &buf[pos]; + } + + char * get_buf_base() + { + return buf; } int get_contiguous_length(char *ptr) @@ -66,6 +71,12 @@ template class CPBuffer return 1; } + // Trim the buffer to the specified length (must be less than current length) + void trim_to(int new_length) + { + length = new_length; + } + char operator[](int idx) noexcept { int dest_idx = cur_idx + idx;