From 437c2234b57e53c9ef0c306738c9898eea639bc7 Mon Sep 17 00:00:00 2001 From: "Stephen McQuay (smcquay)" Date: Thu, 2 Jun 2016 23:16:22 -0700 Subject: [PATCH] added simple command to emit byte patterns to stdout --- cmd/trash/main.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 cmd/trash/main.go diff --git a/cmd/trash/main.go b/cmd/trash/main.go new file mode 100644 index 0000000..46d4431 --- /dev/null +++ b/cmd/trash/main.go @@ -0,0 +1,36 @@ +package main + +import ( + "flag" + "fmt" + "io" + "os" + + "mcquay.me/trash" +) + +var algo = flag.String("a", "caca", "algorithm to use") + +func main() { + flag.Parse() + var r io.Reader + switch *algo { + case "low", "00", "0", "nil", "null", "zeros": + r = trash.Zeros + case "ones", "ff", "hi": + r = trash.Fs + case "trash", "caca": + r = trash.Reader + case "hilo", "aa", "a": + r = trash.HiLo + case "lohi", "55", "5": + r = trash.LoHi + default: + fmt.Fprintf(os.Stderr, "unsupported algorithm: %v\ntry one of 'low', 'high', 'hilo', 'lohi', 'trash'\n", *algo) + os.Exit(1) + } + if _, err := io.Copy(os.Stdout, r); err != nil { + fmt.Fprintf(os.Stderr, "problem copying to stdout: %v", err) + os.Exit(1) + } +}