all: Use strings.Cut
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 17 Mar 2022 20:58:54 +0000 (21:58 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Mon, 21 Mar 2022 08:32:35 +0000 (09:32 +0100)
Updates #9687

config/env.go
modules/config.go
tpl/collections/apply.go

index 1e7d47216557ecac4e7e09fa39ef5fbe9d275d94..1e9266b17ecc051708f775b0adfebc986e67ef6d 100644 (file)
@@ -41,8 +41,8 @@ func SetEnvVars(oldVars *[]string, keyValues ...string) {
 }
 
 func SplitEnvVar(v string) (string, string) {
-       parts := strings.SplitN(v, "=", 2)
-       return parts[0], parts[1]
+       name, value, _ := strings.Cut(v, "=")
+       return name, value
 }
 
 func setEnvVar(vars *[]string, key, value string) {
index ada39cc1f91ee3a89f3674e9274f3f97248b9de8..04bf1b42206c85fbbf31078586e510da8f194b5e 100644 (file)
@@ -402,11 +402,8 @@ func (m Mount) Component() string {
 }
 
 func (m Mount) ComponentAndName() (string, string) {
-       k := strings.Index(m.Target, fileSeparator)
-       if k == -1 {
-               return m.Target, ""
-       }
-       return m.Target[:k], m.Target[k+1:]
+       c, n, _ := strings.Cut(m.Target, fileSeparator)
+       return c, n
 }
 
 func getStaticDirs(cfg config.Provider) []string {
index 3b8de5f0e90a32255c319d0de0aaa61fa67b3a30..9fd5c2d0c9e27df2e5f89433e75746897ed19bf9 100644 (file)
@@ -107,15 +107,14 @@ func applyFnToThis(ctx context.Context, fn, this reflect.Value, args ...any) (re
 }
 
 func (ns *Namespace) lookupFunc(fname string) (reflect.Value, bool) {
-       if !strings.ContainsRune(fname, '.') {
+       namespace, methodName, ok := strings.Cut(fname, ".")
+       if !ok {
                templ := ns.deps.Tmpl().(tpl.TemplateFuncGetter)
                return templ.GetFunc(fname)
        }
 
-       ss := strings.SplitN(fname, ".", 2)
-
        // Namespace
-       nv, found := ns.lookupFunc(ss[0])
+       nv, found := ns.lookupFunc(namespace)
        if !found {
                return reflect.Value{}, false
        }
@@ -131,7 +130,7 @@ func (ns *Namespace) lookupFunc(fname string) (reflect.Value, bool) {
        nv = reflect.ValueOf(v)
 
        // method
-       m := hreflect.GetMethodByName(nv, ss[1])
+       m := hreflect.GetMethodByName(nv, methodName)
 
        if m.Kind() == reflect.Invalid {
                return reflect.Value{}, false