diff --git a/mod.zig b/mod.zig index 465d99e1402c755fa0b8de29b1de962d6c675318..f6eb08c4446a8f66f3d550e0205341f0e615a9ec 100644 --- a/mod.zig +++ b/mod.zig @@ -3758,3 +3758,9 @@ pub fn copy_file_range(fd_int: c_int, off_in: ?*off_t, fd_out: c_int, off_out: ? std.debug.assert(rc >= 0); return @intCast(rc); } +pub fn dup(fildes: c_int) !c_int { + const rc = libc.dup(fildes); + if (rc == -1) return errno.fromInt(errno.fromLibC()); + std.debug.assert(rc >= 0); + return rc; +} diff --git a/test.zig b/test.zig index ca5073c67465695fff974f36ea9f970cf8cc2deb..6337fb78040b7c39410ea1a5b4eb622d6767d5a1 100644 --- a/test.zig +++ b/test.zig @@ -83,4 +83,5 @@ test { _ = &linux.getcwd; _ = &linux.fchmod; _ = &linux.copy_file_range; + _ = &linux.dup; }