// Copyright (C) 2019 ston1th //go:generate ./generate.sh package main import ( "flag" "fmt" "io" "os" "git.giftfish.de/ston1th/duckycode/pkg/encoder" ) var ( language string inFile string outFile string ) func fatal(v interface{}) { fmt.Fprintf(os.Stderr, "%s\n", v) os.Exit(1) } func main() { flag.StringVar(&language, "l", "de", "language (available: be, br, ca, ch, de, dk, es, fi, fr, gb, hr, it, no, pt, si, sv, tr, us)") flag.StringVar(&inFile, "f", "", "input file") flag.StringVar(&outFile, "o", "inject.bin", "output file (use - for stdout)") flag.Parse() if inFile == "" { fatal("input file cannot be empty") } in, err := os.Open(inFile) if err != nil { fatal(err) } var out io.Writer if outFile == "-" { out = os.Stdout } else { out, err = os.OpenFile(outFile, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0640) if err != nil { fatal(err) } } e, err := encoder.NewEncoder(out, language) if err != nil { fatal(err) } err = e.Encode(in) if err != nil { fatal(err) } }