cgo: only scan non-directories and ignore *_test.c

This commit is contained in:
Li Jie
2024-11-24 19:03:47 +08:00
parent 93245ac37a
commit b1fcae5cec

View File

@@ -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 {