source:
EcnlProtoTool/trunk/musl-1.1.18/src/stdio/__fmodeflags.c
Last change on this file was 444, checked in by , 4 years ago | |
---|---|
|
|
File size: 409 bytes |
Line | |
---|---|
1 | #include <fcntl.h> |
2 | #include <string.h> |
3 | |
4 | int __fmodeflags(const char *mode) |
5 | { |
6 | int flags; |
7 | if (strchr(mode, '+')) flags = O_RDWR; |
8 | else if (*mode == 'r') flags = O_RDONLY; |
9 | else flags = O_WRONLY; |
10 | if (strchr(mode, 'x')) flags |= O_EXCL; |
11 | if (strchr(mode, 'e')) flags |= O_CLOEXEC; |
12 | if (*mode != 'r') flags |= O_CREAT; |
13 | if (*mode == 'w') flags |= O_TRUNC; |
14 | if (*mode == 'a') flags |= O_APPEND; |
15 | return flags; |
16 | } |
Note:
See TracBrowser
for help on using the repository browser.