glob/util.go

23 lines
341 B
Go

package glob
import (
"strings"
)
func indexByteNonEscaped(source string, needle, escape byte, shift int) int {
i := strings.IndexByte(source, needle)
if i == -1 {
return -1
}
if i == 0 {
return shift
}
if source[i-1] != escape {
return i + shift
}
sh := i+1
return indexByteNonEscaped(source[sh:], needle, escape, sh)
}