diff options
Diffstat (limited to 'src/io/io_linux.zig')
-rw-r--r-- | src/io/io_linux.zig | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/io/io_linux.zig b/src/io/io_linux.zig index 559d2289d..fa4566b83 100644 --- a/src/io/io_linux.zig +++ b/src/io/io_linux.zig @@ -427,8 +427,12 @@ pub const errno_map: [135]Errno = brk: { break :brk errors; }; pub fn asError(err: anytype) Errno { - return switch (err) { - 1...errno_map.len => errno_map[@intCast(u8, err)], + const errnum = if (@typeInfo(@TypeOf(err)) == .Enum) + @enumToInt(err) + else + err; + return switch (errnum) { + 1...errno_map.len => errno_map[@intCast(u8, errnum)], else => error.Unexpected, }; } |