Commit 111e5ed0a2

daurnimator <quae@daurnimator.com>
2019-07-07 06:35:54
std: MAP_FAILED is a libc concept on linux
1 parent e197968
Changed files (2)
std/c/linux.zig
@@ -1,9 +1,12 @@
 const std = @import("../std.zig");
+const maxInt = std.math.maxInt;
 usingnamespace std.c;
 
 extern "c" fn __errno_location() *c_int;
 pub const _errno = __errno_location;
 
+pub const MAP_FAILED = @intToPtr(*c_void, maxInt(usize));
+
 pub extern "c" fn getrandom(buf_ptr: [*]u8, buf_len: usize, flags: c_uint) c_int;
 pub extern "c" fn sched_getaffinity(pid: c_int, size: usize, set: *cpu_set_t) c_int;
 pub extern "c" fn eventfd(initval: c_uint, flags: c_uint) c_int;
std/os.zig
@@ -1961,7 +1961,7 @@ pub fn mmap(
 ) MMapError![]align(mem.page_size) u8 {
     const err = if (builtin.link_libc) blk: {
         const rc = std.c.mmap(ptr, length, prot, flags, fd, offset);
-        if (rc != MAP_FAILED) return @ptrCast([*]align(mem.page_size) u8, @alignCast(mem.page_size, rc))[0..length];
+        if (rc != std.c.MAP_FAILED) return @ptrCast([*]align(mem.page_size) u8, @alignCast(mem.page_size, rc))[0..length];
         break :blk @intCast(usize, system._errno().*);
     } else blk: {
         const rc = system.mmap(ptr, length, prot, flags, fd, offset);