1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
package main
import (
"flag"
"io"
"log"
"os"
"path"
"github.com/schollz/mnemonicode"
)
func main() {
log.SetFlags(0)
log.SetPrefix(path.Base(os.Args[0]) + ": ")
hexFlag := flag.Bool("x", false, "hex output")
verboseFlag := flag.Bool("v", false, "verbose")
flag.Parse()
if flag.NArg() > 0 {
flag.Usage()
os.Exit(2)
}
output := io.WriteCloser(os.Stdout)
if *hexFlag {
output = hexoutput(output)
}
var n int64
var err error
if true {
dec := mnemonicode.NewDecoder(os.Stdin)
n, err = io.Copy(output, dec)
} else {
w := mnemonicode.NewDecodeWriter(output)
n, err = io.Copy(w, os.Stdin)
if err != nil {
log.Fatal(err)
}
err = w.Close()
}
if err != nil {
log.Fatal(err)
}
if *verboseFlag {
log.Println("bytes decoded:", n)
}
if err = output.Close(); err != nil {
log.Fatal(err)
}
}
|