Skip to content

Commit

Permalink
Simplify cast of string to rune slice in wildcard matching (minio#9577)
Browse files Browse the repository at this point in the history
  • Loading branch information
dpasiukevich authored May 14, 2020
1 parent ee9077d commit a9558ae
Showing 1 changed file with 4 additions and 20 deletions.
24 changes: 4 additions & 20 deletions pkg/wildcard/match.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,8 @@ func MatchSimple(pattern, name string) bool {
if pattern == "*" {
return true
}
rname := make([]rune, 0, len(name))
rpattern := make([]rune, 0, len(pattern))
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)
// Does only wildcard '*' match.
return deepMatchRune([]rune(name), []rune(pattern), true)
}

// Match - finds whether the text matches/satisfies the pattern string.
Expand All @@ -49,16 +41,8 @@ func Match(pattern, name string) (matched bool) {
if pattern == "*" {
return true
}
rname := make([]rune, 0, len(name))
rpattern := make([]rune, 0, len(pattern))
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)
// Does extended wildcard '*' and '?' match.
return deepMatchRune([]rune(name), []rune(pattern), false)
}

func deepMatchRune(str, pattern []rune, simple bool) bool {
Expand Down

0 comments on commit a9558ae

Please sign in to comment.