Skip to content

Commit

Permalink
fix: getEndPos return end position
Browse files Browse the repository at this point in the history
  • Loading branch information
kouosi authored and alexrp committed Feb 7, 2025
1 parent b3c63e5 commit 1ac9701
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion lib/std/os/uefi/protocol/file.zig
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,16 @@ pub const File = extern struct {
fn getEndPos(self: *const File) GetSeekPosError!u64 {
// preserve the old file position
var pos: u64 = undefined;
var end_pos: u64 = undefined;
if (.Success != self.getPosition(&pos)) return GetSeekPosError.GetSeekPosError;
// seek to end of file to get position = file size
if (.Success != self.setPosition(efi_file_position_end_of_file)) return GetSeekPosError.GetSeekPosError;
// get the position
if (.Success != self.getPosition(&end_pos)) return GetSeekPosError.GetSeekPosError;
// restore the old position
if (.Success != self.setPosition(pos)) return GetSeekPosError.GetSeekPosError;
// return the file size = position
return pos;
return end_pos;
}

pub fn setPosition(self: *const File, position: u64) Status {
Expand Down

0 comments on commit 1ac9701

Please sign in to comment.