From a5f74f1b1618863b8489bd6fede8222cb9e6d400 Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Thu, 3 Oct 2024 22:31:22 +0200 Subject: add unflatenc and unchunkify --- main.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index ddc9782..99239b7 100644 --- a/main.go +++ b/main.go @@ -215,6 +215,19 @@ func chunkify(root, name string, data, key []byte) error { return flatenc(root, name, index, key) } +func unchunkify(root, name string, single bool, key []byte) ([]byte, error) { + d, err := unflatenc(root, name, key) + if single || err != nil { + return d, err + } + sums := split(d, 32) + raw := []byte{} + for _, sum := range sums { + log.Printf("sum %x\n", sum) + } + return raw, nil +} + func flatenc(root, name string, data, key []byte) error { // Flatten data. var buf bytes.Buffer @@ -246,7 +259,7 @@ func flatenc(root, name string, data, key []byte) error { return writeCksumFile(filepath.Join(root, ".bb", "chunks"), name, append(iv, enc...)) } -func unflatenc(root, name string, key []byte) (raw []byte, err error) { +func unflatenc(root, name string, key []byte) ([]byte, error) { enc, err := os.ReadFile(filepath.Join(root, ".bb", "chunks", name[:2], name[2:])) if err != nil { return nil, err @@ -302,7 +315,7 @@ func main() { if err != nil { log.Fatal(err) } - d, err := unflatenc(wd, *rfile, key) + d, err := unchunkify(wd, *rfile, false, key) log.Println("d", err, string(d)) // log.Printf("d: %d %v %x\n", len(d), err, d) return -- cgit v1.2.3