From 6c5233e1098dc689b2e665087780695ac8864e95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Gronowski?= Date: Mon, 15 Dec 2025 18:32:55 +0100 Subject: [PATCH] modernize: Use `strings.CutSuffix` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added in Go 1.20 Signed-off-by: Paweł Gronowski --- daemon/containerd/image_list.go | 4 ++-- daemon/containerd/image_push.go | 2 +- daemon/info_unix.go | 8 ++++---- daemon/libnetwork/osl/namespace_linux.go | 4 ++-- daemon/volume/local/local.go | 8 ++++---- pkg/parsers/operatingsystem/operatingsystem_linux.go | 4 ++-- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/daemon/containerd/image_list.go b/daemon/containerd/image_list.go index c8941c5b08..562542825a 100644 --- a/daemon/containerd/image_list.go +++ b/daemon/containerd/image_list.go @@ -634,8 +634,8 @@ func setupLabelFilter(ctx context.Context, store content.Store, fltrs filters.Ar negate := strings.HasSuffix(fltrName, "!") // If filter value is key!=value then flip the above. - if strings.HasSuffix(k, "!") { - k = strings.TrimSuffix(k, "!") + if before, ok := strings.CutSuffix(k, "!"); ok { + k = before negate = !negate } diff --git a/daemon/containerd/image_push.go b/daemon/containerd/image_push.go index 0248bb6741..03396abb5b 100644 --- a/daemon/containerd/image_push.go +++ b/daemon/containerd/image_push.go @@ -403,7 +403,7 @@ func extractDistributionSources(labels map[string]string) []distributionSource { // Check if this blob has a distributionSource label // if yes, read it as source for k, v := range labels { - if reg := strings.TrimPrefix(k, containerdlabels.LabelDistributionSource); reg != k { + if reg, ok := strings.CutPrefix(k, containerdlabels.LabelDistributionSource); ok { for repo := range strings.SplitSeq(v, ",") { ref, err := reference.ParseNamed(reg + "/" + repo) if err != nil { diff --git a/daemon/info_unix.go b/daemon/info_unix.go index 5108cef844..6b05706021 100644 --- a/daemon/info_unix.go +++ b/daemon/info_unix.go @@ -343,8 +343,8 @@ func parseInitVersion(v string) (version string, commit string, _ error) { } } parts[0] = strings.TrimSpace(parts[0]) - if strings.HasPrefix(parts[0], "tini version ") { - version = strings.TrimPrefix(parts[0], "tini version ") + if after, ok := strings.CutPrefix(parts[0], "tini version "); ok { + version = after } if version == "" && commit == "" { return "", "", errors.Errorf("unknown output format: %s", v) @@ -369,8 +369,8 @@ func parseRuntimeVersion(v string) (runtime, version, commit string, _ error) { version = strings.TrimSpace(s[len(s)-1]) continue } - if strings.HasPrefix(line, "commit:") { - commit = strings.TrimSpace(strings.TrimPrefix(line, "commit:")) + if after, ok := strings.CutPrefix(line, "commit:"); ok { + commit = strings.TrimSpace(after) continue } } diff --git a/daemon/libnetwork/osl/namespace_linux.go b/daemon/libnetwork/osl/namespace_linux.go index cff4b525d1..0139c3f359 100644 --- a/daemon/libnetwork/osl/namespace_linux.go +++ b/daemon/libnetwork/osl/namespace_linux.go @@ -76,8 +76,8 @@ func GenerateKey(containerID string) string { for _, v := range dir { id := v.Name() - if strings.HasSuffix(id, containerID[:maxLen-1]) { - indexStr = strings.TrimSuffix(id, containerID[:maxLen-1]) + if before, ok := strings.CutSuffix(id, containerID[:maxLen-1]); ok { + indexStr = before tmpindex, err := strconv.Atoi(indexStr) if err != nil { return "" diff --git a/daemon/volume/local/local.go b/daemon/volume/local/local.go index 75d7cdddec..c3b9380f8b 100644 --- a/daemon/volume/local/local.go +++ b/daemon/volume/local/local.go @@ -420,8 +420,8 @@ func (v *localVolume) LiveRestoreVolume(ctx context.Context, _ string) error { // getAddress finds out address/hostname from options func getAddress(opts string) string { for opt := range strings.SplitSeq(opts, ",") { - if strings.HasPrefix(opt, "addr=") { - return strings.TrimPrefix(opt, "addr=") + if after, ok := strings.CutPrefix(opt, "addr="); ok { + return after } } return "" @@ -430,8 +430,8 @@ func getAddress(opts string) string { // getPassword finds out a password from options func getPassword(opts string) string { for opt := range strings.SplitSeq(opts, ",") { - if strings.HasPrefix(opt, "password=") { - return strings.TrimPrefix(opt, "password=") + if after, ok := strings.CutPrefix(opt, "password="); ok { + return after } } return "" diff --git a/pkg/parsers/operatingsystem/operatingsystem_linux.go b/pkg/parsers/operatingsystem/operatingsystem_linux.go index 1492f8a4d4..ad0a6d11a3 100644 --- a/pkg/parsers/operatingsystem/operatingsystem_linux.go +++ b/pkg/parsers/operatingsystem/operatingsystem_linux.go @@ -56,8 +56,8 @@ func getValueFromOsRelease(key string) (string, error) { scanner := bufio.NewScanner(osReleaseFile) for scanner.Scan() { line := scanner.Text() - if strings.HasPrefix(line, key+"=") { - value = strings.TrimPrefix(line, key+"=") + if after, ok := strings.CutPrefix(line, key+"="); ok { + value = after value = strings.Trim(value, `"' `) // remove leading/trailing quotes and whitespace } }