Some musings on what to do.

This commit is contained in:
Caleb Gardner
2021-04-30 03:32:31 -05:00
parent 6ad6857d8d
commit 70e3d81427
4 changed files with 10 additions and 10 deletions
+1 -1
View File
@@ -11,8 +11,8 @@ import (
//
//Info holds the actual Inode. Due to each inode type being a different type, it's store as an interface{}
type Inode struct {
Info interface{} //Info is the parsed specific data. It's type is defined by Type.
Header
Info interface{} //Info is the parsed specific data. It's type is defined by Type.
}
//ProcessInode tries to read an inode from the BlockReader
+1
View File
@@ -25,6 +25,7 @@ type Writer struct {
uidGUIDTable []int
frags []fragment
superblock superblock
rootInode inode.Inode
//since we need some information from the actually compressed and writen data for tables
//we need to write the data FIRST, but make sure there's enough space for the tables.
dataOffset int
+6 -8
View File
@@ -3,6 +3,8 @@ package squashfs
import (
"encoding/binary"
"io"
"github.com/CalebQ42/squashfs/internal/inode"
)
func (w *Writer) countInodes() (out uint32) {
@@ -13,14 +15,10 @@ func (w *Writer) countInodes() (out uint32) {
return
}
func (w *Writer) calculateInodeTableSize() (out int, err error) {
for _, files := range w.structure {
for i := range files {
_ = i
//set up each file's inode and add it's binary.size to out
out += binary.Size(files[i].inode)
}
}
func (w *Writer) setupInodes() (size int, err error) {
w.rootInode.Type = inode.DirType
//setup
size += binary.Size(w.rootInode)
return
}
+2 -1
View File
@@ -45,7 +45,8 @@ func (w *Writer) WriteTo(write io.WriterAt) (int64, error) {
}
w.dataOffset = 96 //superblock size
//write compression options
w.calculateInodeTableSize()
//write/calculate compressed data sizes
return 0, errors.New("i said don't")
}