]> Cypherpunks.ru repositories - goredo.git/blobdiff - main.go
Download link for 1.16.0 release
[goredo.git] / main.go
diff --git a/main.go b/main.go
index 300157139d22896b696bf696987ba9a94428d68f..67c428c14a6b6661bdc9bf94ae4dac0a0cf1062b 100644 (file)
--- a/main.go
+++ b/main.go
@@ -127,7 +127,7 @@ func main() {
                }
                os.Exit(rc)
        }
-       log.SetFlags(0)
+       log.SetFlags(log.Lshortfile)
 
        var err error
        Cwd, err = os.Getwd()
@@ -199,31 +199,31 @@ func main() {
        // Those are internal envs
        FdOODTgts, err = ioutil.TempFile("", "ood-tgts")
        if err != nil {
-               panic(err)
+               log.Fatalln(err)
        }
        if err = os.Remove(FdOODTgts.Name()); err != nil {
-               panic(err)
+               log.Fatalln(err)
        }
        FdOODTgtsLock, err = ioutil.TempFile("", "ood-tgts.lock")
        if err != nil {
-               panic(err)
+               log.Fatalln(err)
        }
        if err = os.Remove(FdOODTgtsLock.Name()); err != nil {
-               panic(err)
+               log.Fatalln(err)
        }
 
        if v := os.Getenv(EnvOODTgtsFd); v != "" {
                fd := mustParseFd(v, EnvOODTgtsFd)
                fdLock := mustParseFd(v, EnvOODTgtsLockFd)
                if err = unix.Flock(int(fdLock.Fd()), unix.LOCK_EX); err != nil {
-                       panic(err)
+                       log.Fatalln(err)
                }
                if _, err = fd.Seek(0, io.SeekStart); err != nil {
-                       panic(err)
+                       log.Fatalln(err)
                }
                tgtsRaw, err := ioutil.ReadAll(bufio.NewReader(fd))
                if err != nil {
-                       panic(err)
+                       log.Fatalln(err)
                }
                unix.Flock(int(fdLock.Fd()), unix.LOCK_UN)
                OODTgts = map[string]struct{}{}
@@ -308,7 +308,14 @@ CmdSwitch:
                        log.Fatalln("no", EnvDepFd)
                }
                for _, tgt := range tgts {
-                       err = ifcreate(fdDep, tgt)
+                       tgtRel, err := filepath.Rel(
+                               filepath.Join(Cwd, DirPrefix),
+                               filepath.Join(Cwd, tgt),
+                       )
+                       if err != nil {
+                               break
+                       }
+                       err = ifcreate(fdDep, tgtRel)
                        if err != nil {
                                break
                        }