diff --git a/mod.zig b/mod.zig index 59e100db36f2143cad66209249c8dca0e1b2df1d..42ebcaa0104b6fe6c2ab98b87e4d3098d48acff7 100644 --- a/mod.zig +++ b/mod.zig @@ -3614,3 +3614,8 @@ pub fn execvp(file: [*:0]const u8, argv: [*:null]const ?[*:0]const u8) !noreturn std.debug.assert(rc == -1); return errno.fromInt(errno.fromLibC()); } +pub fn dup2(fildes: c_int, fildes2: c_int) !void { + const rc = libc.dup2(fildes, fildes2); + if (rc == -1) return errno.fromInt(errno.fromLibC()); + std.debug.assert(rc >= 0); +} diff --git a/test.zig b/test.zig index a8b9a6e12fe185cd8c920d606b59b582ae7f14a3..5f2c7a52c6c6566e67fb525d56ed692b6edd5875 100644 --- a/test.zig +++ b/test.zig @@ -75,4 +75,5 @@ test { _ = &linux.fork; _ = &linux.fchdir; _ = &linux.execvp; + _ = &linux.dup2; }