"io"
"os"
"path"
- "path/filepath"
"strings"
)
func targetsCollect(root string, tgts map[string]struct{}) error {
- root, err := filepath.Abs(root)
- if err != nil {
- panic(err)
- }
+ root = mustAbs(root)
dir, err := os.Open(root)
if err != nil {
- return err
+ return ErrLine(err)
}
defer dir.Close()
for {
- fis, err := dir.Readdir(1 << 10)
+ entries, err := dir.ReadDir(1 << 10)
if err != nil {
if err == io.EOF {
break
}
- return err
+ return ErrLine(err)
}
- for _, fi := range fis {
- if !fi.IsDir() {
+ for _, entry := range entries {
+ if !entry.IsDir() {
continue
}
- pth := path.Join(root, fi.Name())
- if fi.Name() == RedoDir {
+ pth := path.Join(root, entry.Name())
+ if entry.Name() == RedoDir {
redoDir, err := os.Open(pth)
if err != nil {
- return err
+ return ErrLine(err)
}
- redoFis, err := redoDir.Readdir(0)
+ redoEntries, err := redoDir.ReadDir(0)
redoDir.Close()
if err != nil {
- return err
+ return ErrLine(err)
}
- for _, redoFi := range redoFis {
- name := redoFi.Name()
+ for _, redoEntry := range redoEntries {
+ name := redoEntry.Name()
if strings.HasSuffix(name, DepSuffix) {
name = cwdMustRel(root, name)
tgts[name[:len(name)-len(DepSuffix)]] = struct{}{}