From: Sergey Matveev Date: Sat, 2 Dec 2017 15:52:47 +0000 (+0300) Subject: Fixed nncp-rm work X-Git-Tag: 1.0^2 X-Git-Url: http://www.git.cypherpunks.ru/?a=commitdiff_plain;h=0bdc6645679ce8ea4e3ad492e11fbbac03a10762;p=nncp.git Fixed nncp-rm work --- diff --git a/doc/cmds.texi b/doc/cmds.texi index 51ea04f..1de83a4 100644 --- a/doc/cmds.texi +++ b/doc/cmds.texi @@ -407,7 +407,9 @@ Checksums: @verbatim % nncp-rm [options] -tmp % nncp-rm [options] -lock -% nncp-rm [options] -node NODE [-rx] [-tx] [-part] [-seen] +% nncp-rm [options] -node NODE -part +% nncp-rm [options] -node NODE -seen +% nncp-rm [options] -node NODE [-rx] [-tx] % nncp-rm [options] -node NODE -pkt PKT @end verbatim diff --git a/src/cypherpunks.ru/nncp/cmd/nncp-rm/main.go b/src/cypherpunks.ru/nncp/cmd/nncp-rm/main.go index d93a46a..b616ad8 100644 --- a/src/cypherpunks.ru/nncp/cmd/nncp-rm/main.go +++ b/src/cypherpunks.ru/nncp/cmd/nncp-rm/main.go @@ -35,7 +35,9 @@ func usage() { fmt.Fprintln(os.Stderr, "nncp-rm -- remove packet\n") fmt.Fprintf(os.Stderr, "Usage: %s [options] -tmp\n", os.Args[0]) fmt.Fprintf(os.Stderr, " %s [options] -lock\n", os.Args[0]) - fmt.Fprintf(os.Stderr, " %s [options] -node NODE [-rx] [-tx] [-part] [-seen]\n", os.Args[0]) + fmt.Fprintf(os.Stderr, " %s [options] -node NODE -part\n", os.Args[0]) + fmt.Fprintf(os.Stderr, " %s [options] -node NODE -seen\n", os.Args[0]) + fmt.Fprintf(os.Stderr, " %s [options] -node NODE {-rx|-tx}\n", os.Args[0]) fmt.Fprintf(os.Stderr, " %s [options] -node NODE -pkt PKT\n", os.Args[0]) fmt.Fprintln(os.Stderr, "Options:") flag.PrintDefaults() @@ -79,7 +81,11 @@ func main() { if err != nil { return err } - return os.Remove(info.Name()) + if info.IsDir() { + return nil + } + ctx.LogI("nncp-rm", nncp.SDS{"file": path}, "") + return os.Remove(path) }) if err != nil { log.Fatalln("Error during walking:", err) @@ -91,8 +97,12 @@ func main() { if err != nil { return err } + if info.IsDir() { + return nil + } if strings.HasSuffix(info.Name(), ".lock") { - return os.Remove(info.Name()) + ctx.LogI("nncp-rm", nncp.SDS{"file": path}, "") + return os.Remove(path) } return nil }) @@ -114,19 +124,32 @@ func main() { if err != nil { return err } + if info.IsDir() { + return nil + } if *doSeen && strings.HasSuffix(info.Name(), nncp.SeenSuffix) { - return os.Remove(info.Name()) + ctx.LogI("nncp-rm", nncp.SDS{"file": path}, "") + return os.Remove(path) } if *doPart && strings.HasSuffix(info.Name(), nncp.PartSuffix) { - return os.Remove(info.Name()) + ctx.LogI("nncp-rm", nncp.SDS{"file": path}, "") + return os.Remove(path) + } + if *pktRaw != "" && filepath.Base(info.Name()) == *pktRaw { + ctx.LogI("nncp-rm", nncp.SDS{"file": path}, "") + return os.Remove(path) } - if *pktRaw == "" || filepath.Base(info.Name()) == *pktRaw { - return os.Remove(info.Name()) + if !*doSeen && + !*doPart && + (*doRx || *doTx) && + ((*doRx && xx == nncp.TRx) || (*doTx && xx == nncp.TTx)) { + ctx.LogI("nncp-rm", nncp.SDS{"file": path}, "") + return os.Remove(path) } return nil }) } - if *pktRaw != "" || *doRx { + if *pktRaw != "" || *doRx || *doSeen || *doPart { if err = remove(nncp.TRx); err != nil { log.Fatalln("Can not remove:", err) } diff --git a/src/cypherpunks.ru/nncp/humanizer.go b/src/cypherpunks.ru/nncp/humanizer.go index 7830a31..4a79fcd 100644 --- a/src/cypherpunks.ru/nncp/humanizer.go +++ b/src/cypherpunks.ru/nncp/humanizer.go @@ -169,6 +169,8 @@ func (ctx *Ctx) Humanize(s string) string { if err, exists := sds["err"]; exists { msg += ": " + err } + case "nncp-rm": + msg += "removing " + sds["file"] case "call-start": msg = fmt.Sprintf("Connected to %s", nodeS) case "call-finish":