| ... | @@ -164,17 +164,17 @@ pub fn getrandom(buffer: []u8) GetRandomError!void { | ... | @@ -164,17 +164,17 @@ pub fn getrandom(buffer: []u8) GetRandomError!void { |
| 164 | } | 164 | } |
| 165 | return; | 165 | return; |
| 166 | } | 166 | } |
| 167 | if (builtin.os.tag == .netbsd or builtin.os.tag == .openbsd) { | 167 | switch (builtin.os.tag) { |
| 168 | system.arc4random_buf(buffer.ptr, buffer.len); | 168 | .netbsd, .openbsd, .macos, .ios, .tvos, .watchos => { |
| 169 | return; | 169 | system.arc4random_buf(buffer.ptr, buffer.len); |
| 170 | } | 170 | return; |
| 171 | if (builtin.os.tag == .wasi) { | 171 | }, |
| 172 | switch (wasi.random_get(buffer.ptr, buffer.len)) { | 172 | .wasi => switch (wasi.random_get(buffer.ptr, buffer.len)) { |
| 173 | 0 => return, | 173 | 0 => return, |
| 174 | else => |err| return unexpectedErrno(err), | 174 | else => |err| return unexpectedErrno(err), |
| 175 | } | 175 | }, |
| | 176 | else => return getRandomBytesDevURandom(buffer), |
| 176 | } | 177 | } |
| 177 | return getRandomBytesDevURandom(buffer); | | |
| 178 | } | 178 | } |
| 179 | | 179 | |
| 180 | fn getRandomBytesDevURandom(buf: []u8) !void { | 180 | fn getRandomBytesDevURandom(buf: []u8) !void { |