diff --git a/lib/std/child_process.zig b/lib/std/child_process.zig index 10bfe6d3f2626aeaecbe246ef9e56e615da81f65..1cdb3ef34cd2b69755cdca0d708be3ad4d1bf076 100644 --- a/lib/std/child_process.zig +++ b/lib/std/child_process.zig @@ -78,7 +78,7 @@ pub const ChildProcess = struct { } || os.ExecveError || os.SetIdError || os.ChangeCurDirError || windows.CreateProcessError || windows.WaitForSingleObjectError; pub const Term = union(enum) { - Exited: u32, + Exited: u8, Signal: u32, Stopped: u32, Unknown: u32, @@ -347,7 +347,7 @@ pub const ChildProcess = struct { if (windows.kernel32.GetExitCodeProcess(self.handle, &exit_code) == 0) { break :x Term{ .Unknown = 0 }; } else { - break :x Term{ .Exited = exit_code }; + break :x Term{ .Exited = @truncate(u8, exit_code) }; } }); diff --git a/lib/std/os/bits/darwin.zig b/lib/std/os/bits/darwin.zig index 2f188e924e3a066d51e06f215868cc8314b6d6d5..be77722c05780e21873c830689835bd7e6a0f0d3 100644 --- a/lib/std/os/bits/darwin.zig +++ b/lib/std/os/bits/darwin.zig @@ -844,8 +844,8 @@ fn wstatus(x: u32) u32 { return x & 0o177; } const wstopped = 0o177; -pub fn WEXITSTATUS(x: u32) u32 { - return x >> 8; +pub fn WEXITSTATUS(x: u32) u8 { + return @intCast(u8, x >> 8); } pub fn WTERMSIG(x: u32) u32 { return wstatus(x); diff --git a/lib/std/os/bits/dragonfly.zig b/lib/std/os/bits/dragonfly.zig index 5b61db9e7fb1379ed079d0ecdffa2cfa0e860e9a..9f6d3088baf5a531cbb752ebfcd575f91ee0d2d7 100644 --- a/lib/std/os/bits/dragonfly.zig +++ b/lib/std/os/bits/dragonfly.zig @@ -332,8 +332,8 @@ pub const AT_REMOVEDIR = 2; pub const AT_EACCESS = 4; pub const AT_SYMLINK_FOLLOW = 8; -pub fn WEXITSTATUS(s: u32) u32 { - return (s & 0xff00) >> 8; +pub fn WEXITSTATUS(s: u32) u8 { + return @intCast(u8, (s & 0xff00) >> 8); } pub fn WTERMSIG(s: u32) u32 { return s & 0x7f; diff --git a/lib/std/os/bits/freebsd.zig b/lib/std/os/bits/freebsd.zig index c3bcafaa65e75371fd47fe362c56375a8a1e0125..6d227a168a7ed95f42018acbc86d38a7505b4ece 100644 --- a/lib/std/os/bits/freebsd.zig +++ b/lib/std/os/bits/freebsd.zig @@ -729,8 +729,8 @@ pub const TIOCGSID = 0x40047463; pub const TIOCGPTN = 0x4004740f; pub const TIOCSIG = 0x2004745f; -pub fn WEXITSTATUS(s: u32) u32 { - return (s & 0xff00) >> 8; +pub fn WEXITSTATUS(s: u32) u8 { + return @intCast(u8, (s & 0xff00) >> 8); } pub fn WTERMSIG(s: u32) u32 { return s & 0x7f; diff --git a/lib/std/os/bits/haiku.zig b/lib/std/os/bits/haiku.zig index bd677e22e81518a69c618352fda25e339e609c40..cb31166608e9e4bc6d9b7fa367f03a0f181d5b90 100644 --- a/lib/std/os/bits/haiku.zig +++ b/lib/std/os/bits/haiku.zig @@ -661,8 +661,8 @@ pub const TIOCSBRK = 0x8020; pub const TIOCCBRK = 0x8021; pub const TIOCGSID = 0x8024; -pub fn WEXITSTATUS(s: u32) u32 { - return (s & 0xff); +pub fn WEXITSTATUS(s: u32) u8 { + return @intCast(u8, s & 0xff); } pub fn WTERMSIG(s: u32) u32 { diff --git a/lib/std/os/bits/linux.zig b/lib/std/os/bits/linux.zig index 8887e9d2233c2f3f5cf6e15877bbc757cf4063c3..d4491da6d03caacd032c45b9de2a7df499f0b5b1 100644 --- a/lib/std/os/bits/linux.zig +++ b/lib/std/os/bits/linux.zig @@ -1043,8 +1043,8 @@ pub const TFD_CLOEXEC = O_CLOEXEC; pub const TFD_TIMER_ABSTIME = 1; pub const TFD_TIMER_CANCEL_ON_SET = (1 << 1); -pub fn WEXITSTATUS(s: u32) u32 { - return (s & 0xff00) >> 8; +pub fn WEXITSTATUS(s: u32) u8 { + return @intCast(u8, (s & 0xff00) >> 8); } pub fn WTERMSIG(s: u32) u32 { return s & 0x7f; diff --git a/lib/std/os/bits/netbsd.zig b/lib/std/os/bits/netbsd.zig index 168d0f1c48f78f2374e8b40e753d6e86e1ffc8ba..747978de65337f1690df375f8170b2229cfce9dd 100644 --- a/lib/std/os/bits/netbsd.zig +++ b/lib/std/os/bits/netbsd.zig @@ -686,8 +686,8 @@ pub const TIOCSWINSZ = 0x80087467; pub const TIOCUCNTL = 0x80047466; pub const TIOCXMTFRAME = 0x80087444; -pub fn WEXITSTATUS(s: u32) u32 { - return (s >> 8) & 0xff; +pub fn WEXITSTATUS(s: u32) u8 { + return @intCast(u8, (s >> 8) & 0xff); } pub fn WTERMSIG(s: u32) u32 { return s & 0x7f; diff --git a/lib/std/os/bits/openbsd.zig b/lib/std/os/bits/openbsd.zig index 2ff81fae0d0f4b5f6a6b128729d6d91de4bfb4ba..3b9f8ccd4aaf40f5052af1f0f43835c0d4a352c9 100644 --- a/lib/std/os/bits/openbsd.zig +++ b/lib/std/os/bits/openbsd.zig @@ -669,8 +669,8 @@ pub const TIOCSWINSZ = 0x80087467; pub const TIOCUCNTL = 0x80047466; pub const TIOCXMTFRAME = 0x80087444; -pub fn WEXITSTATUS(s: u32) u32 { - return (s >> 8) & 0xff; +pub fn WEXITSTATUS(s: u32) u8 { + return @intCast(u8, (s >> 8) & 0xff); } pub fn WTERMSIG(s: u32) u32 { return (s & 0x7f);