From b1fcae5cec5d0875eb134ad6291b746c581153e9 Mon Sep 17 00:00:00 2001 From: Li Jie Date: Sun, 24 Nov 2024 19:03:47 +0800 Subject: [PATCH] cgo: only scan non-directories and ignore *_test.c --- internal/build/cgo.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/internal/build/cgo.go b/internal/build/cgo.go index 4443596b..9615a73b 100644 --- a/internal/build/cgo.go +++ b/internal/build/cgo.go @@ -188,11 +188,18 @@ func parseCgo_(pkg *aPackage, files []*ast.File) (cfiles []string, preambles []c dirs[dir] = none{} } for dir := range dirs { - files, err := filepath.Glob(filepath.Join(dir, "*.c")) + matches, err := filepath.Glob(filepath.Join(dir, "*.c")) if err != nil { continue } - cfiles = append(cfiles, files...) + for _, match := range matches { + if strings.HasSuffix(match, "_test.c") { + continue + } + if fi, err := os.Stat(match); err == nil && !fi.IsDir() { + cfiles = append(cfiles, match) + } + } } for _, file := range files {