4 int __fmodeflags(const char *mode
)
7 if (strchr(mode
, '+')) flags
= O_RDWR
;
8 else if (*mode
== 'r') flags
= O_RDONLY
;
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
;