]> Cypherpunks.ru repositories - goredo.git/blobdiff - ood.go
No unnecessary *ln() calls
[goredo.git] / ood.go
diff --git a/ood.go b/ood.go
index 25253ced2eaac52a57f49ba23f47fac50c91de35..2000f4405ab499d0f7efe04d6de38642fd182ec4 100644 (file)
--- a/ood.go
+++ b/ood.go
@@ -137,9 +137,15 @@ func isOOD(cwd, tgtOrig string, level int, seen map[string]struct{}) (bool, erro
        depPath := path.Join(cwd, RedoDir, tgt+DepSuffix)
        fdDep, err := os.Open(depPath)
        if err != nil {
-               tracef(CDebug, "ood: %s%s -> no dep: %s", indent, tgtOrig, depPath)
-               OODCache[path.Join(cwd, tgt)] = true
-               return true, nil
+               if isSrc(cwd, tgt) {
+                       ood = false
+                       tracef(CDebug, "ood: %s%s -> is source", indent, tgtOrig)
+               } else {
+                       ood = true
+                       tracef(CDebug, "ood: %s%s -> no dep: %s", indent, tgtOrig, depPath)
+               }
+               OODCache[path.Join(cwd, tgt)] = ood
+               return ood, nil
        }
        depInfo, err := depRead(fdDep)
        fdDep.Close()
@@ -241,11 +247,11 @@ func isOOD(cwd, tgtOrig string, level int, seen map[string]struct{}) (bool, erro
                        continue
                }
 
-               depOod, err := isOODWithTrace(cwd, dep, level+1, seen)
+               depOOD, err := isOODWithTrace(cwd, dep, level+1, seen)
                if err != nil {
                        return ood, TgtError{tgtOrig, err}
                }
-               if depOod {
+               if depOOD {
                        tracef(CDebug, "ood: %s%s -> %s: ood", indent, tgtOrig, dep)
                        ood = true
                        goto Done
@@ -295,17 +301,17 @@ RecordOODTgt:
                Whence: io.SeekStart,
        }
        if err = unix.FcntlFlock(FdOODTgtsLock.Fd(), unix.F_SETLKW, &flock); err != nil {
-               log.Fatalln(err)
+               log.Fatal(err)
        }
        if _, err = FdOODTgts.Seek(0, io.SeekEnd); err != nil {
-               log.Fatalln(err)
+               log.Fatal(err)
        }
        if _, err := FdOODTgts.WriteString(p + "\x00"); err != nil {
-               log.Fatalln(err)
+               log.Fatal(err)
        }
        flock.Type = unix.F_UNLCK
        if err = unix.FcntlFlock(FdOODTgtsLock.Fd(), unix.F_SETLK, &flock); err != nil {
-               log.Fatalln(err)
+               log.Fatal(err)
        }
        return true, nil
 }
@@ -317,13 +323,13 @@ func oodTgtsClear() {
                Whence: io.SeekStart,
        }
        if err = unix.FcntlFlock(FdOODTgtsLock.Fd(), unix.F_SETLKW, &flock); err != nil {
-               log.Fatalln(err)
+               log.Fatal(err)
        }
        if err = FdOODTgts.Truncate(0); err != nil {
-               log.Fatalln(err)
+               log.Fatal(err)
        }
        flock.Type = unix.F_UNLCK
        if err = unix.FcntlFlock(FdOODTgtsLock.Fd(), unix.F_SETLK, &flock); err != nil {
-               log.Fatalln(err)
+               log.Fatal(err)
        }
 }