2024-09-disk-defrag/cmd/defrag/main.go
2024-12-09 14:34:01 -06:00

47 lines
698 B
Go

package main
import (
"bytes"
"fmt"
"io"
"os"
"codeberg.org/danjones000/advent-of-code/2024-09/defrag"
)
func handleErr(err error) {
if err == nil {
return
}
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
func main() {
name := os.Args[0]
input, err := io.ReadAll(os.Stdin)
handleErr(err)
fmt.Fprintln(os.Stderr, "Welcome to ", name)
input = bytes.TrimSpace(input)
blocks, err := defrag.Blocks(input)
handleErr(err)
err = defrag.Defrag(blocks)
handleErr(err)
fmt.Println("From this")
fmt.Printf("%s\n", input)
fmt.Println("Got this")
fmt.Printf("%v\n", blocks)
sum, err := defrag.Checksum(blocks)
handleErr(err)
fmt.Println("Checksum:")
fmt.Printf("%d\n", sum)
}