From 1fa206c230a4077aa3f998d2f8c77aeda3280dd2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Nov 2023 13:16:26 +0000 Subject: [chore]: Bump codeberg.org/gruf/go-byteutil from 1.1.2 to 1.2.0 (#2389) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- vendor/codeberg.org/gruf/go-byteutil/LICENSE | 2 +- vendor/codeberg.org/gruf/go-byteutil/buffer.go | 42 +++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 2 deletions(-) (limited to 'vendor/codeberg.org') diff --git a/vendor/codeberg.org/gruf/go-byteutil/LICENSE b/vendor/codeberg.org/gruf/go-byteutil/LICENSE index e4163ae35..d6f08d0ab 100644 --- a/vendor/codeberg.org/gruf/go-byteutil/LICENSE +++ b/vendor/codeberg.org/gruf/go-byteutil/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2022 gruf +Copyright (c) gruf Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/vendor/codeberg.org/gruf/go-byteutil/buffer.go b/vendor/codeberg.org/gruf/go-byteutil/buffer.go index 9e15c8ade..8259429d6 100644 --- a/vendor/codeberg.org/gruf/go-byteutil/buffer.go +++ b/vendor/codeberg.org/gruf/go-byteutil/buffer.go @@ -7,7 +7,8 @@ import ( ) var ( - // ensure we conform to interfaces. + // ensure we conform + // to interfaces. _ interface { io.Writer io.ByteWriter @@ -15,6 +16,8 @@ var ( io.StringWriter io.WriterAt WriteStringAt(string, int64) (int, error) + io.ReaderFrom + io.WriterTo } = (*Buffer)(nil) // ErrBeyondBufferLen is returned if .WriteAt() is attempted beyond buffer length. @@ -81,6 +84,43 @@ func (buf *Buffer) WriteStringAt(s string, start int64) (int, error) { return copy(buf.B[start:], s), nil } +// ReadFrom will read bytes from reader into buffer, fulfilling io.ReaderFrom. +func (buf *Buffer) ReadFrom(r io.Reader) (int64, error) { + var nn int64 + + // Ensure there's cap + // for a first read. + buf.Guarantee(512) + + for { + // Read into next chunk of buffer. + n, err := r.Read(buf.B[len(buf.B):cap(buf.B)]) + + // Reslice buf + update count. + buf.B = buf.B[:len(buf.B)+n] + nn += int64(n) + + if err != nil { + if err == io.EOF { + // mask EOF. + err = nil + } + return nn, err + } + + if len(buf.B) == cap(buf.B) { + // Add capacity (let append pick). + buf.B = append(buf.B, 0)[:len(buf.B)] + } + } +} + +// WriteTo will write bytes from buffer into writer, fulfilling io.WriterTo. +func (buf *Buffer) WriteTo(w io.Writer) (int64, error) { + n, err := w.Write(buf.B) + return int64(n), err +} + // Len returns the length of the buffer's underlying byte slice. func (buf *Buffer) Len() int { return len(buf.B) -- cgit v1.2.3