From: Sergey Matveev <stargrave@stargrave.org>
Date: Wed, 12 Feb 2025 12:07:43 +0000 (+0300)
Subject: Use Go 1.24
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;p=glocate.git

Use Go 1.24
---

diff --git a/diff.go b/diff.go
index 0ab2859..fcbd08a 100644
--- a/diff.go
+++ b/diff.go
@@ -20,6 +20,7 @@ import (
 	"io"
 	"log"
 	"os"
+	"slices"
 	"sort"
 	"strings"
 )
@@ -133,10 +134,7 @@ func updateWithDiff(dbPath, strip string) *os.File {
 			if len(rens) > 0 {
 				if hasPrefix(ent.name, rens[0].src) {
 					dels = append(dels, ent.name)
-					dst := append(
-						append([]string{}, rens[0].dst...),
-						ent.name[len(rens[0].src):]...,
-					)
+					dst := slices.Concat(rens[0].dst, ent.name[len(rens[0].src):])
 					adds = append(adds, dst)
 					mods = append(mods, &Ent{name: dst})
 					if !met {
diff --git a/go.mod b/go.mod
index aa84d7d..cb3a716 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
 module go.stargrave.org/glocate
 
-go 1.22.4
+go 1.24
 
 require (
 	github.com/dustin/go-humanize v1.0.1
diff --git a/main.go b/main.go
index 242bbdf..6eaa19f 100644
--- a/main.go
+++ b/main.go
@@ -125,7 +125,7 @@ func main() {
 				entsPrinter <- ent
 				continue
 			}
-			for i = 0; i < len(ent.name); i++ {
+			for i = range len(ent.name) {
 				if i == len(namePrev) || ent.name[i] != namePrev[i] {
 					break
 				}
diff --git a/names.go b/names.go
index 94326b7..6f39731 100644
--- a/names.go
+++ b/names.go
@@ -63,7 +63,7 @@ func namesCmp(n1, n2 []string) int {
 		min = len(n2)
 	}
 	var t1, t2 string
-	for i := 0; i < min; i++ {
+	for i := range min {
 		t1 = strings.TrimSuffix(n1[i], "/")
 		t2 = strings.TrimSuffix(n2[i], "/")
 		if t1 < t2 {
diff --git a/reader.go b/reader.go
index f8f5e18..67db978 100644
--- a/reader.go
+++ b/reader.go
@@ -20,6 +20,7 @@ import (
 	"encoding/binary"
 	"io"
 	"log"
+	"slices"
 
 	"github.com/klauspost/compress/zstd"
 )
@@ -65,7 +66,7 @@ func reader(src io.Reader, sink chan Ent) {
 		} else if depth < depthPrev {
 			cols = cols[:len(cols)-int(depthPrev-depth)]
 		}
-		ent.name = append([]string{}, append(cols, name)...)
+		ent.name = slices.Clone(append(cols, name))
 		sink <- ent
 		namePrev = name
 		depthPrev = depth
diff --git a/walker.go b/walker.go
index 4d6b879..190a54b 100644
--- a/walker.go
+++ b/walker.go
@@ -20,6 +20,7 @@ import (
 	"log"
 	"os"
 	"path"
+	"slices"
 )
 
 var (
@@ -35,7 +36,7 @@ func walker(sink chan Ent, root []string) error {
 	var info fs.FileInfo
 	ents := make([]Ent, 0, len(files))
 	for _, file := range files {
-		ent := Ent{name: append([]string{}, append(root, file.Name())...)}
+		ent := Ent{name: slices.Clone(append(root, file.Name()))}
 		info, err = file.Info()
 		if err == nil {
 			if info.IsDir() {