authorgravatar for liam@bumblebee.net.nzMovingtoMars <liam@bumblebee.net.nz> 2016-01-28 16:01:52+13:00
committergravatar for liam@bumblebee.net.nzMovingtoMars <liam@bumblebee.net.nz> 2016-01-28 16:01:52+13:00
log401a3361ea13e7b8e063cbad29d3c0d7cc0f86a9
tree0d9fcb42e1970ae6fa601adf3c67c65437b2f3a3
parent9c502030a1e42a0d2ef164b1f322674a66aa42c1

malloc fails on mmap error code properly


1 files changed, 1 insertions(+), 17 deletions(-)

std/mem.zig+1-17
......@@ -10,23 +10,7 @@ pub fn malloc(bytes: isize) -> ?&u8 {
1010
1111 const result = mmap(isize(0), 4096, MMAP_PROT_READ|MMAP_PROT_WRITE, MMAP_MAP_ANON|MMAP_MAP_SHARED, -1, 0);
1212
13 const failed: bool = switch (-result) {
14 0 => true,
15 -1 => true,
16 EINVAL => true,
17 EACCES => true,
18 EAGAIN => true,
19 EBADF => true,
20 EMFILE => true,
21 ENODEV => true,
22 ENOMEM => true,
23 EOPNOTSUPP => true,
24 ENXIO => true,
25 EOVERFLOW => true,
26 else => false,
27 };
28
29 if (failed) {
13 if (-4096 < result && result <= 0) {
3014 null
3115 } else {
3216 (&u8)(result)