Small tweaks and fixes

This commit is contained in:
Caleb Gardner
2025-05-24 05:24:05 -05:00
parent 3bfd262824
commit 82011a092c
4 changed files with 78 additions and 8 deletions
+5 -5
View File
@@ -15,12 +15,12 @@ pub const FileInode = struct {
blocks: []const BlockSize,
pub fn init(alloc: std.mem.Allocator, rdr: io.AnyReader, block_size: u32) !FileInode {
var fixed_buf = [_]u8{0} ** 16;
_ = try rdr.readAll(@ptrCast(&fixed_buf));
const fixed_buf = [16]u8{};
_ = try rdr.readAll(&fixed_buf);
const frag_idx = std.mem.bytesToValue(u32, fixed_buf[4..8]);
const size = std.mem.bytesToValue(u32, fixed_buf[12..16]);
var block_num = size / block_size;
if (frag_idx != 0xFFFFFFFF) {
if (frag_idx == 0xFFFFFFFF and size % block_size > 0) {
block_num += 1;
}
const blocks = try alloc.alloc(BlockSize, block_num);
@@ -49,12 +49,12 @@ pub const ExtFileInode = struct {
blocks: []const BlockSize,
pub fn init(alloc: std.mem.Allocator, rdr: io.AnyReader, block_size: u32) !ExtFileInode {
var fixed_buf = [_]u8{0} ** 40;
var fixed_buf = [40]u8{};
_ = try rdr.readAll(&fixed_buf);
const size = std.mem.bytesToValue(u64, fixed_buf[8..16]);
const frag_idx = std.mem.bytesToValue(u32, fixed_buf[28..32]);
var block_num = size / block_size;
if (frag_idx != 0xFFFFFFFF) {
if (frag_idx == 0xFFFFFFFF and size % block_size > 0) {
block_num += 1;
}
const blocks = try alloc.alloc(BlockSize, block_num);