source:
asp3_tinet_ecnl_arm/trunk/musl-1.1.18/src/fcntl/open.c
Last change on this file was 352, checked in by , 6 years ago | |
---|---|
|
|
File size: 469 bytes |
Rev | Line | |
---|---|---|
[352] | 1 | #include <fcntl.h> |
2 | #include <stdarg.h> | |
3 | #include "syscall.h" | |
4 | #include "libc.h" | |
5 | ||
6 | int open(const char *filename, int flags, ...) | |
7 | { | |
8 | mode_t mode = 0; | |
9 | ||
10 | if ((flags & O_CREAT) || (flags & O_TMPFILE) == O_TMPFILE) { | |
11 | va_list ap; | |
12 | va_start(ap, flags); | |
13 | mode = va_arg(ap, mode_t); | |
14 | va_end(ap); | |
15 | } | |
16 | ||
17 | int fd = __sys_open_cp(filename, flags, mode); | |
18 | if (fd>=0 && (flags & O_CLOEXEC)) | |
19 | __syscall(SYS_fcntl, fd, F_SETFD, FD_CLOEXEC); | |
20 | ||
21 | return __syscall_ret(fd); | |
22 | } | |
23 | ||
24 | LFS64(open); |
Note:
See TracBrowser
for help on using the repository browser.