From 55c3c54aef5c39dcb91d367dab94ebbb393ae503 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Sat, 29 Aug 2020 16:47:50 -0700 Subject: [PATCH] ircd::buffer: Minor cleanup; operator stack reuse. --- include/ircd/buffer/buffer.h | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/include/ircd/buffer/buffer.h b/include/ircd/buffer/buffer.h index 20edeb986..e0a6fd7ec 100644 --- a/include/ircd/buffer/buffer.h +++ b/include/ircd/buffer/buffer.h @@ -272,7 +272,11 @@ __attribute__((always_inline)) ircd::buffer::reverse(const mutable_buffer &dst, const const_buffer &src) { - const size_t ret{std::min(size(dst), size(src))}; + const size_t ret + { + std::min(size(dst), size(src)) + }; + std::reverse_copy(data(src), data(src) + ret, data(dst)); return ret; } @@ -283,7 +287,11 @@ __attribute__((always_inline)) ircd::buffer::operator+=(buffer &buffer, const size_t &bytes) { - const size_t &advance(std::min(bytes, size(buffer))); + const size_t &advance + { + std::min(bytes, size(buffer)) + }; + consume(buffer, advance); return buffer; } @@ -329,8 +337,9 @@ __attribute__((always_inline)) ircd::buffer::operator+(const buffer &buffer, const size_t &bytes) { - const size_t advance{std::min(bytes, size(buffer))}; - return { begin(buffer) + advance, size(buffer) - advance }; + auto ret(buffer); + ret += bytes; + return ret; } template