remove LFS64 symbol aliases; replace with dynamic linker remapping
[musl] / src / stdio / __fopen_rb_ca.c
index a1b1b3b..183a5d5 100644 (file)
@@ -1,11 +1,14 @@
 #include "stdio_impl.h"
+#include <fcntl.h>
+#include <string.h>
 
 FILE *__fopen_rb_ca(const char *filename, FILE *f, unsigned char *buf, size_t len)
 {
        memset(f, 0, sizeof *f);
 
-       f->fd = syscall(SYS_open, filename, O_RDONLY|O_LARGEFILE|O_CLOEXEC, 0);
+       f->fd = sys_open(filename, O_RDONLY|O_CLOEXEC);
        if (f->fd < 0) return 0;
+       __syscall(SYS_fcntl, f->fd, F_SETFD, FD_CLOEXEC);
 
        f->flags = F_NOWR | F_PERM;
        f->buf = buf + UNGET;