| ... | @@ -155,11 +155,15 @@ pub fn InStream(comptime ReadError: type) type { | ... | @@ -155,11 +155,15 @@ pub fn InStream(comptime ReadError: type) type { |
| 155 | } | 155 | } |
| 156 | | 156 | |
| 157 | pub fn readIntLe(self: *Self, comptime T: type) !T { | 157 | pub fn readIntLe(self: *Self, comptime T: type) !T { |
| 158 | return self.readInt(builtin.Endian.Little, T); | 158 | var bytes: [@sizeOf(T)]u8 = undefined; |
| | 159 | try self.readNoEof(bytes[0..]); |
| | 160 | return mem.readIntLE(T, bytes); |
| 159 | } | 161 | } |
| 160 | | 162 | |
| 161 | pub fn readIntBe(self: *Self, comptime T: type) !T { | 163 | pub fn readIntBe(self: *Self, comptime T: type) !T { |
| 162 | return self.readInt(builtin.Endian.Big, T); | 164 | var bytes: [@sizeOf(T)]u8 = undefined; |
| | 165 | try self.readNoEof(bytes[0..]); |
| | 166 | return mem.readIntBE(T, bytes); |
| 163 | } | 167 | } |
| 164 | | 168 | |
| 165 | pub fn readInt(self: *Self, endian: builtin.Endian, comptime T: type) !T { | 169 | pub fn readInt(self: *Self, endian: builtin.Endian, comptime T: type) !T { |
| ... | @@ -226,11 +230,15 @@ pub fn OutStream(comptime WriteError: type) type { | ... | @@ -226,11 +230,15 @@ pub fn OutStream(comptime WriteError: type) type { |
| 226 | } | 230 | } |
| 227 | | 231 | |
| 228 | pub fn writeIntLe(self: *Self, comptime T: type, value: T) !void { | 232 | pub fn writeIntLe(self: *Self, comptime T: type, value: T) !void { |
| 229 | return self.writeInt(builtin.Endian.Little, T, value); | 233 | var bytes: [@sizeOf(T)]u8 = undefined; |
| | 234 | mem.writeIntLE(T, &bytes, value); |
| | 235 | return self.writeFn(self, bytes); |
| 230 | } | 236 | } |
| 231 | | 237 | |
| 232 | pub fn writeIntBe(self: *Self, comptime T: type, value: T) !void { | 238 | pub fn writeIntBe(self: *Self, comptime T: type, value: T) !void { |
| 233 | return self.writeInt(builtin.Endian.Big, T, value); | 239 | var bytes: [@sizeOf(T)]u8 = undefined; |
| | 240 | mem.writeIntBE(T, &bytes, value); |
| | 241 | return self.writeFn(self, bytes); |
| 234 | } | 242 | } |
| 235 | | 243 | |
| 236 | pub fn writeInt(self: *Self, endian: builtin.Endian, comptime T: type, value: T) !void { | 244 | pub fn writeInt(self: *Self, endian: builtin.Endian, comptime T: type, value: T) !void { |