zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit f4606842d26d2de72a1fcfad26a22b32c9cf7a53 (tree)
parent 2a9843de953a345cdf74a85a0ce54d97fd7a8a7b
Author: Jimmi HC <jimmiholstchristensen@gmail.com>
Date:   Thu, 15 Nov 2018 21:03:27 +0100

Have readStruct in stream return a value instead of taking a pointer

Diffstat:
Mstd/io.zig | 6++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/std/io.zig b/std/io.zig @@ -188,10 +188,12 @@ pub fn InStream(comptime ReadError: type) type { } } - pub fn readStruct(self: *Self, comptime T: type, ptr: *T) !void { + pub fn readStruct(self: *Self, comptime T: type) !T { // Only extern and packed structs have defined in-memory layout. comptime assert(@typeInfo(T).Struct.layout != builtin.TypeInfo.ContainerLayout.Auto); - return self.readNoEof(@sliceToBytes((*[1]T)(ptr)[0..])); + var res: [1]T = undefined; + return self.readNoEof(@sliceToBytes(res[0..])); + return res[0]; } }; }