summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go17
1 files changed, 15 insertions, 2 deletions
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