0
0
mirror of https://github.com/OpenVPN/openvpn3.git synced 2024-09-20 12:12:15 +02:00

BufferType: added reset_offset() method

Signed-off-by: James Yonan <james@openvpn.net>
This commit is contained in:
James Yonan 2018-07-31 23:41:59 -06:00 committed by Lev Stipakov
parent 6218ed618d
commit 148ae60853

View File

@ -82,6 +82,7 @@ namespace openvpn {
buffer_headroom,
buffer_underflow,
buffer_overflow,
buffer_offset,
buffer_index,
buffer_const_index,
buffer_push_front_headroom,
@ -108,6 +109,8 @@ namespace openvpn {
return "buffer_underflow";
case buffer_overflow:
return "buffer_overflow";
case buffer_offset:
return "buffer_offset";
case buffer_index:
return "buffer_index";
case buffer_const_index:
@ -178,6 +181,15 @@ namespace openvpn {
size_ = 0;
}
void reset_offset(const size_t offset)
{
const size_t size = size_ + offset_ - offset;
if (offset > capacity_ || size > capacity_ || offset + size > capacity_)
OPENVPN_BUFFER_THROW(buffer_offset);
offset_ = offset;
size_ = size;
}
void reset_size()
{
size_ = 0;