authorgravatar for 152291607+kouosi@users.noreply.github.comKouosi Takayama <152291607+kouosi@users.noreply.github.com> 2024-10-16 21:40:18+05:45
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-02-07 07:20:35+01:00
log1ac97013db7f6ed659c24f6035e4a743d882a4f0
tree2fb58d56b211bcf7731a1e79dd6524d65e780cd0
parentb3c63e5de0c0441b9facc71b4c7e0a3d1811368d

fix: getEndPos return end position


1 files changed, 4 insertions(+), 1 deletions(-)

lib/std/os/uefi/protocol/file.zig+4-1
...@@ -85,13 +85,16 @@ pub const File = extern struct {...@@ -85,13 +85,16 @@ pub const File = extern struct {
85 fn getEndPos(self: *const File) GetSeekPosError!u64 {85 fn getEndPos(self: *const File) GetSeekPosError!u64 {
86 // preserve the old file position86 // preserve the old file position
87 var pos: u64 = undefined;87 var pos: u64 = undefined;
88 var end_pos: u64 = undefined;
88 if (.Success != self.getPosition(&pos)) return GetSeekPosError.GetSeekPosError;89 if (.Success != self.getPosition(&pos)) return GetSeekPosError.GetSeekPosError;
89 // seek to end of file to get position = file size90 // seek to end of file to get position = file size
90 if (.Success != self.setPosition(efi_file_position_end_of_file)) return GetSeekPosError.GetSeekPosError;91 if (.Success != self.setPosition(efi_file_position_end_of_file)) return GetSeekPosError.GetSeekPosError;
92 // get the position
93 if (.Success != self.getPosition(&end_pos)) return GetSeekPosError.GetSeekPosError;
91 // restore the old position94 // restore the old position
92 if (.Success != self.setPosition(pos)) return GetSeekPosError.GetSeekPosError;95 if (.Success != self.setPosition(pos)) return GetSeekPosError.GetSeekPosError;
93 // return the file size = position96 // return the file size = position
94 return pos;97 return end_pos;
95 }98 }
9699
97 pub fn setPosition(self: *const File, position: u64) Status {100 pub fn setPosition(self: *const File, position: u64) Status {