aboutsummaryrefslogtreecommitdiff
path: root/internal/bufpool/resize.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/bufpool/resize.go')
-rw-r--r--internal/bufpool/resize.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/internal/bufpool/resize.go b/internal/bufpool/resize.go
new file mode 100644
index 00000000..78dc1dd7
--- /dev/null
+++ b/internal/bufpool/resize.go
@@ -0,0 +1,15 @@
+package bufpool
+
+// Resize adjusts the length of the buffer to n bytes. If n exceeds the current
+// capacity, the underlying storage is grown. If n is negative, it is treated
+// as zero.
+//
+// The buffer's new contents beyond the previous length are undefined.
+func (buf *Buffer) Resize(n int) {
+ if n < 0 {
+ n = 0
+ }
+
+ buf.ensureCapacity(n)
+ buf.buf = buf.buf[:n]
+}