From 63b27faf297abb0c72a7b9ce5e2e785772f0f43a Mon Sep 17 00:00:00 2001 From: bth Date: Wed, 21 Jan 2026 13:25:40 -0800 Subject: [PATCH] cat : back to the simplicity of strings.Join --- cat/cat.go | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/cat/cat.go b/cat/cat.go index 27f7ee3..58c8473 100644 --- a/cat/cat.go +++ b/cat/cat.go @@ -30,27 +30,15 @@ func initOpts() options { } func cat(files []string) (string, error) { - sb := strings.Builder{} - var total int64 - for _, f := range files { - stat, err := os.Stat(f) - if err != nil { - return "", fmt.Errorf("stat failed: %w", err) - } - if !stat.IsDir() && stat.Mode().IsRegular() { - total += stat.Size() - } - } - sb.Grow(int(total)) - + ff := make([]string, 0, len(files)) for _, f := range files { dat, err := os.ReadFile(f) if err != nil { return "", fmt.Errorf("error opening file: %w", err) } - sb.WriteString(fmt.Sprintf("%s%s", dat, SEPARATOR)) + ff = append(ff, string(dat)) } - return strings.TrimSuffix(sb.String(), SEPARATOR), nil + return strings.Join(ff, SEPARATOR), nil } func Cat(args []string) {