Small tweaks and fixes
This commit is contained in:
+5
-5
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user