Simplify cast of string to rune slice in wildcard matching (#9577)

master
Dzmitry Pasiukevich 5 years ago committed by GitHub
parent ee9077db7d
commit a9558ae248
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 24
      pkg/wildcard/match.go

@ -26,16 +26,8 @@ func MatchSimple(pattern, name string) bool {
if pattern == "*" { if pattern == "*" {
return true return true
} }
rname := make([]rune, 0, len(name)) // Does only wildcard '*' match.
rpattern := make([]rune, 0, len(pattern)) return deepMatchRune([]rune(name), []rune(pattern), true)
for _, r := range name {
rname = append(rname, r)
}
for _, r := range pattern {
rpattern = append(rpattern, r)
}
simple := true // Does only wildcard '*' match.
return deepMatchRune(rname, rpattern, simple)
} }
// Match - finds whether the text matches/satisfies the pattern string. // Match - finds whether the text matches/satisfies the pattern string.
@ -49,16 +41,8 @@ func Match(pattern, name string) (matched bool) {
if pattern == "*" { if pattern == "*" {
return true return true
} }
rname := make([]rune, 0, len(name)) // Does extended wildcard '*' and '?' match.
rpattern := make([]rune, 0, len(pattern)) return deepMatchRune([]rune(name), []rune(pattern), false)
for _, r := range name {
rname = append(rname, r)
}
for _, r := range pattern {
rpattern = append(rpattern, r)
}
simple := false // Does extended wildcard '*' and '?' match.
return deepMatchRune(rname, rpattern, simple)
} }
func deepMatchRune(str, pattern []rune, simple bool) bool { func deepMatchRune(str, pattern []rune, simple bool) bool {

Loading…
Cancel
Save