diff options
author | Luca Bruno <lucab@debian.org> | 2017-07-21 15:13:44 +0000 |
---|---|---|
committer | Luca Bruno <lucab@debian.org> | 2017-07-22 08:12:10 +0000 |
commit | 858d47cd9553cbcffa07d9717ab35e8d7bd3bfac (patch) | |
tree | 4aed8dfae36bfff2f0eb9d354af049c85db7a351 | |
parent | 516df7f77331a253b41cf743178392aa9ad66f50 (diff) | |
download | rust-libc-858d47cd9553cbcffa07d9717ab35e8d7bd3bfac.tar.gz |
unix: add fexecve()
Add missing fexecve() - execute program specified via file descriptor.
Reference: http://pubs.opengroup.org/onlinepubs/9699919799/functions/fexecve.html
-rw-r--r-- | libc-test/build.rs | 3 | ||||
-rw-r--r-- | src/unix/mod.rs | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs index 23c55efeff..e7811bb4ca 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -457,7 +457,8 @@ fn main() { "execv" | // crazy stuff with const/mut "execve" | "execvp" | - "execvpe" => true, + "execvpe" | + "fexecve" => true, "getrlimit" | "getrlimit64" | // non-int in 1st arg "setrlimit" | "setrlimit64" | // non-int in 1st arg diff --git a/src/unix/mod.rs b/src/unix/mod.rs index 3cba52512e..0dd15439e0 100644 --- a/src/unix/mod.rs +++ b/src/unix/mod.rs @@ -449,6 +449,9 @@ extern { -> ::c_int; pub fn execvp(c: *const c_char, argv: *const *const c_char) -> ::c_int; + pub fn fexecve(fd: ::c_int, argv: *const *const c_char, + envp: *const *const c_char) + -> ::c_int; pub fn fork() -> pid_t; pub fn fpathconf(filedes: ::c_int, name: ::c_int) -> c_long; pub fn getcwd(buf: *mut c_char, size: ::size_t) -> *mut c_char; |