aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/open.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/open.c b/lib/open.c
index 487194f6652..bb180fde292 100644
--- a/lib/open.c
+++ b/lib/open.c
@@ -110,7 +110,9 @@ open (const char *filename, int flags, ...)
110 directories, 110 directories,
111 - if O_WRONLY or O_RDWR is specified, open() must fail because the 111 - if O_WRONLY or O_RDWR is specified, open() must fail because the
112 file does not contain a '.' directory. */ 112 file does not contain a '.' directory. */
113 if (flags & (O_CREAT | O_WRONLY | O_RDWR)) 113 if ((flags & O_CREAT)
114 || (flags & O_ACCMODE) == O_RDWR
115 || (flags & O_ACCMODE) == O_WRONLY)
114 { 116 {
115 size_t len = strlen (filename); 117 size_t len = strlen (filename);
116 if (len > 0 && filename[len - 1] == '/') 118 if (len > 0 && filename[len - 1] == '/')