| author | |
| committer | |
| log | b9a6dae2ae68d74d7f2fc2bfe394eb506fb7ca69 |
| tree | f9e29379e311211d8a6ae70a6f967cc8e1d563b1 |
| parent | e667884f9ba21c7cdec7581d89b9a9f622c5ffb9 |
closes #247943 files changed, 20 insertions(+), 6 deletions(-)
lib/std/fs/File.zig+18-4| ... | ... | @@ -1202,12 +1202,26 @@ pub const Reader = struct { |
| 1202 | 1202 | }; |
| 1203 | 1203 | } |
| 1204 | 1204 | |
| 1205 | pub fn getSize(r: *Reader) GetEndPosError!u64 { | |
| 1205 | pub fn getSize(r: *Reader) SizeError!u64 { | |
| 1206 | 1206 | return r.size orelse { |
| 1207 | 1207 | if (r.size_err) |err| return err; |
| 1208 | if (r.file.getEndPos()) |size| { | |
| 1209 | r.size = size; | |
| 1210 | return size; | |
| 1208 | if (is_windows) { | |
| 1209 | if (windows.GetFileSizeEx(r.file.handle)) |size| { | |
| 1210 | r.size = size; | |
| 1211 | return size; | |
| 1212 | } else |err| { | |
| 1213 | r.size_err = err; | |
| 1214 | return err; | |
| 1215 | } | |
| 1216 | } | |
| 1217 | if (stat(r.file)) |st| { | |
| 1218 | if (st.kind == .file) { | |
| 1219 | r.size = st.size; | |
| 1220 | return st.size; | |
| 1221 | } else { | |
| 1222 | r.size_err = error.Streaming; | |
| 1223 | return error.Streaming; | |
| 1224 | } | |
| 1211 | 1225 | } else |err| { |
| 1212 | 1226 | r.size_err = err; |
| 1213 | 1227 | return err; |
lib/std/tar/Writer.zig+1-1| ... | ... | @@ -36,7 +36,7 @@ pub fn writeDir(w: *Writer, sub_path: []const u8, options: Options) Error!void { |
| 36 | 36 | try w.writeHeader(.directory, sub_path, "", 0, options); |
| 37 | 37 | } |
| 38 | 38 | |
| 39 | pub const WriteFileError = std.Io.Writer.FileError || Error || std.fs.File.GetEndPosError; | |
| 39 | pub const WriteFileError = std.Io.Writer.FileError || Error || std.fs.File.Reader.SizeError; | |
| 40 | 40 | |
| 41 | 41 | pub fn writeFile( |
| 42 | 42 | w: *Writer, |
lib/std/zip.zig+1-1| ... | ... | @@ -115,7 +115,7 @@ pub const EndRecord = extern struct { |
| 115 | 115 | return record; |
| 116 | 116 | } |
| 117 | 117 | |
| 118 | pub const FindFileError = File.GetEndPosError || File.SeekError || File.ReadError || error{ | |
| 118 | pub const FindFileError = File.Reader.SizeError || File.SeekError || File.ReadError || error{ | |
| 119 | 119 | ZipNoEndRecord, |
| 120 | 120 | EndOfStream, |
| 121 | 121 | ReadFailed, |