aboutsummaryrefslogtreecommitdiff
path: root/std/io.zig
diff options
context:
space:
mode:
authorJimmi HC <jimmiholstchristensen@gmail.com>2018-11-15 21:03:27 +0100
committerJimmi HC <jimmiholstchristensen@gmail.com>2018-11-15 21:03:27 +0100
commitf4606842d26d2de72a1fcfad26a22b32c9cf7a53 (patch)
treed536b172d598df3d4974d18a44c5c533c50eabbb /std/io.zig
parent2a9843de953a345cdf74a85a0ce54d97fd7a8a7b (diff)
downloadzig-f4606842d26d2de72a1fcfad26a22b32c9cf7a53.tar.gz
zig-f4606842d26d2de72a1fcfad26a22b32c9cf7a53.zip
Have readStruct in stream return a value instead of taking a pointer
Diffstat (limited to 'std/io.zig')
-rw-r--r--std/io.zig6
1 files changed, 4 insertions, 2 deletions
diff --git a/std/io.zig b/std/io.zig
index a59777fd96..7459bbcdf5 100644
--- 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];
}
};
}