diff --git a/.gitignore b/.gitignore index 783cd5b..175b291 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *.swp +multibase-conv/multibase-conv diff --git a/multibase-conv/main.go b/multibase-conv/main.go index 1fc0f09..cec445b 100644 --- a/multibase-conv/main.go +++ b/multibase-conv/main.go @@ -9,23 +9,30 @@ import ( func main() { if len(os.Args) < 3 { - fmt.Printf("usage: %s NEW-BASE CID...\n", os.Args[0]) + fmt.Printf("usage: %s ...\n", os.Args[0]) os.Exit(1) } - newBase := os.Args[1] - cids := os.Args[2:] + var newBase multibase.Encoding + if baseParm := os.Args[1]; len(baseParm) != 0 { + newBase = multibase.Encoding(baseParm[0]) + } else { + fmt.Fprintln(os.Stderr, " is empty") + os.Exit(1) + } - for _, cid := range cids { - _, data, err := multibase.Decode(cid) + input := os.Args[2:] + + for _, strmbase := range input { + _, data, err := multibase.Decode(strmbase) if err != nil { - fmt.Fprintf(os.Stderr, "%v\n", err) + fmt.Fprintf(os.Stderr, "error while decoding: %s\n", err) os.Exit(1) } - newCid, err := multibase.Encode(multibase.Encoding(newBase[0]), data) + newCid, err := multibase.Encode(newBase, data) if err != nil { - fmt.Fprintf(os.Stderr, "%v\n", err) + fmt.Fprintf(os.Stderr, "error while encoding: %s\n", err) os.Exit(1) } fmt.Println(newCid)