mirror of https://github.com/go-gitea/gitea.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
545 B
22 lines
545 B
// Copyright 2026 The Gitea Authors. All rights reserved. |
|
// SPDX-License-Identifier: MIT |
|
|
|
package util |
|
|
|
import "bytes" |
|
|
|
func BufioScannerSplit(b byte) func(data []byte, atEOF bool) (advance int, token []byte, err error) { |
|
// reference: bufio.ScanLines |
|
return func(data []byte, atEOF bool) (advance int, token []byte, err error) { |
|
if atEOF && len(data) == 0 { |
|
return 0, nil, nil |
|
} |
|
if i := bytes.IndexByte(data, b); i >= 0 { |
|
return i + 1, data[0:i], nil |
|
} |
|
if atEOF { |
|
return len(data), data, nil |
|
} |
|
return 0, nil, nil |
|
} |
|
}
|
|
|