mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-06-10 16:39:33 +00:00
parent
b209531959
commit
33ad554800
270 changed files with 71049 additions and 14434 deletions
15
vendor/gopkg.in/src-d/go-git.v4/utils/binary/read.go
generated
vendored
15
vendor/gopkg.in/src-d/go-git.v4/utils/binary/read.go
generated
vendored
|
@ -25,6 +25,10 @@ func Read(r io.Reader, data ...interface{}) error {
|
|||
|
||||
// ReadUntil reads from r untin delim is found
|
||||
func ReadUntil(r io.Reader, delim byte) ([]byte, error) {
|
||||
if bufr, ok := r.(*bufio.Reader); ok {
|
||||
return ReadUntilFromBufioReader(bufr, delim)
|
||||
}
|
||||
|
||||
var buf [1]byte
|
||||
value := make([]byte, 0, 16)
|
||||
for {
|
||||
|
@ -44,6 +48,17 @@ func ReadUntil(r io.Reader, delim byte) ([]byte, error) {
|
|||
}
|
||||
}
|
||||
|
||||
// ReadUntilFromBufioReader is like bufio.ReadBytes but drops the delimiter
|
||||
// from the result.
|
||||
func ReadUntilFromBufioReader(r *bufio.Reader, delim byte) ([]byte, error) {
|
||||
value, err := r.ReadBytes(delim)
|
||||
if err != nil || len(value) == 0 {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return value[:len(value)-1], nil
|
||||
}
|
||||
|
||||
// ReadVariableWidthInt reads and returns an int in Git VLQ special format:
|
||||
//
|
||||
// Ordinary VLQ has some redundancies, example: the number 358 can be
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue