package main
import (
- "bufio"
"crypto/rand"
"flag"
"fmt"
"path"
"path/filepath"
"strconv"
+ "strings"
"go.cypherpunks.ru/recfile"
"golang.org/x/sys/unix"
log.Println(err)
}
}
- fmt.Println("no creating optional:", os.Args[0], "<- tai64nlocal")
os.Exit(rc)
}
log.SetFlags(0)
NoSync = os.Getenv(EnvNoSync) == "1"
TopDir = os.Getenv(EnvTopDir)
- if TopDir != "" {
+ if TopDir == "" {
+ TopDir = "/"
+ } else {
TopDir, err = filepath.Abs(TopDir)
if err != nil {
panic(err)
MyPid = os.Getpid()
}
var traced bool
+ if *flagTraceAll {
+ mustSetenv(EnvTrace, "1")
+ }
if *flagTrace {
traced = true
} else {
break
}
os.Remove(fdTmp.Name())
- var doFile string
cwd, tgt := cwdAndTgt(tgts[0])
- doFile, _, err = findDo(fdTmp, cwd, tgt)
+ doFile, upLevels, err := findDo(fdTmp, cwd, tgt)
if err != nil {
break
}
}
fmt.Println(cwdMustRel(cwd, m["Target"]))
}
- ok = doFile != ""
- case "tai64nlocal":
- bw := bufio.NewWriter(os.Stdout)
- err = tai64nLocal(bw, os.Stdin)
- bw.Flush()
+ if doFile == "" {
+ ok = false
+ } else {
+ fmt.Println(path.Join(strings.Repeat("..", upLevels), doFile))
+ }
default:
log.Fatalln("unknown command", cmdName)
}