reedsolomon-go/_gen/cleanup.go

47 lines
937 B
Go

//go:build custom
// +build custom
package main
import (
"bytes"
"flag"
"io/ioutil"
"log"
"os"
"github.com/klauspost/asmfmt"
)
func main() {
flag.Parse()
args := flag.Args()
for _, file := range args {
data, err := ioutil.ReadFile(file)
if err != nil {
log.Fatalln(err)
}
data = bytes.ReplaceAll(data, []byte("\t// #"), []byte("#"))
data = bytes.ReplaceAll(data, []byte("\t// @"), []byte(""))
data = bytes.ReplaceAll(data, []byte("VPTERNLOGQ"), []byte("XOR3WAY("))
split := bytes.Split(data, []byte("\n"))
// Add closing ')'
want := []byte("\tXOR3WAY(")
for i, b := range split {
if bytes.Contains(b, want) {
b = []byte(string(b) + ")")
split[i] = b
}
}
data = bytes.Join(split, []byte("\n"))
data, err = asmfmt.Format(bytes.NewBuffer(data))
if err != nil {
log.Fatalln(err)
}
err = ioutil.WriteFile(file, data, os.ModePerm)
if err != nil {
log.Fatalln(err)
}
}
}