fcntl: open should use a va_list

The current implementation of open requires the user to pass all three
args to the function. It should use a va_list and allow a user to
provide only the filename and flags.
This commit is contained in:
Dan Robertson
2018-03-09 02:24:25 +00:00
parent 284cc4eece
commit e306e3f855
4 changed files with 18 additions and 4 deletions
+2 -1
View File
@@ -1,5 +1,6 @@
sys_includes = ["sys/types.h"]
sys_includes = ["stdarg.h", "sys/types.h"]
include_guard = "_FCNTL_H"
trailer = "#include <bits/fcntl.h>"
language = "C"
[enum]
+2 -2
View File
@@ -33,7 +33,7 @@ pub const F_UNLCK: c_int = 2;
#[no_mangle]
pub extern "C" fn creat(path: *const c_char, mode: mode_t) -> c_int {
open(path, O_WRONLY | O_CREAT | O_TRUNC, mode)
sys_open(path, O_WRONLY | O_CREAT | O_TRUNC, mode)
}
#[no_mangle]
@@ -42,7 +42,7 @@ pub extern "C" fn fcntl(fildes: c_int, cmd: c_int, arg: c_int) -> c_int {
}
#[no_mangle]
pub extern "C" fn open(path: *const c_char, oflag: c_int, mode: mode_t) -> c_int {
pub extern "C" fn sys_open(path: *const c_char, oflag: c_int, mode: mode_t) -> c_int {
platform::open(path, oflag, mode)
}