forked from TrueCloudLab/policy-engine
23 lines
512 B
Go
23 lines
512 B
Go
|
package policyengine
|
||
|
|
||
|
import (
|
||
|
"strings"
|
||
|
"unicode/utf8"
|
||
|
)
|
||
|
|
||
|
// Matches s against the pattern.
|
||
|
// ? in pattern correspond to any symbol.
|
||
|
// * in pattern correspond to any sequence of symbols.
|
||
|
// Currently only '*' in the suffix is supported.
|
||
|
func globMatch(s, pattern string) bool {
|
||
|
index := strings.IndexByte(pattern, '*')
|
||
|
switch index {
|
||
|
default:
|
||
|
panic("unimplemented")
|
||
|
case -1:
|
||
|
return pattern == s
|
||
|
case utf8.RuneCountInString(pattern) - 1:
|
||
|
return strings.HasPrefix(s, pattern[:len(pattern)-1])
|
||
|
}
|
||
|
}
|