projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix erroneous stop before input limit in mbsnrtowcs and wcsnrtombs
[musl]
/
src
/
stdio
/
fopen.c
diff --git
a/src/stdio/fopen.c
b/src/stdio/fopen.c
index
c741aed
..
252f082
100644
(file)
--- a/
src/stdio/fopen.c
+++ b/
src/stdio/fopen.c
@@
-1,4
+1,7
@@
#include "stdio_impl.h"
#include "stdio_impl.h"
+#include <fcntl.h>
+#include <string.h>
+#include <errno.h>
FILE *fopen(const char *restrict filename, const char *restrict mode)
{
FILE *fopen(const char *restrict filename, const char *restrict mode)
{
@@
-15,8
+18,10
@@
FILE *fopen(const char *restrict filename, const char *restrict mode)
/* Compute the flags to pass to open() */
flags = __fmodeflags(mode);
/* Compute the flags to pass to open() */
flags = __fmodeflags(mode);
- fd = sys
call_cp(SYS_open, filename, flags|O_LARGEFILE
, 0666);
+ fd = sys
_open(filename, flags
, 0666);
if (fd < 0) return 0;
if (fd < 0) return 0;
+ if (flags & O_CLOEXEC)
+ __syscall(SYS_fcntl, fd, F_SETFD, FD_CLOEXEC);
f = __fdopen(fd, mode);
if (f) return f;
f = __fdopen(fd, mode);
if (f) return f;