Files
coredns/plugin/auto/regexp.go
Catena cyber 625f6c9307 perf: avoid string concatenation in loops (#7572)
* perf: avoid string concatenation in loops

Apply perfpsrint linter

Signed-off-by: Philippe Antoine <contact@catenacyber.fr>

* ci: enable perfsprint

Signed-off-by: Philippe Antoine <contact@catenacyber.fr>

---------

Signed-off-by: Philippe Antoine <contact@catenacyber.fr>
2025-10-06 00:05:58 -07:00

24 lines
558 B
Go

package auto
import (
"strings"
)
// rewriteToExpand rewrites our template string to one that we can give to regexp.ExpandString. This basically
// involves prefixing any '{' with a '$'.
func rewriteToExpand(s string) string {
// Pretty dumb at the moment, every { will get a $ prefixed.
// Also wasteful as we build the string with +=. This is OKish
// as we do this during config parsing.
var copySb strings.Builder
for _, c := range s {
if c == '{' {
copySb.WriteString("$")
}
copySb.WriteString(string(c))
}
return copySb.String()
}