summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/libstdio/fdopen.c
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/libstdio/fdopen.c')
-rw-r--r--mdk-stage1/dietlibc/libstdio/fdopen.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/mdk-stage1/dietlibc/libstdio/fdopen.c b/mdk-stage1/dietlibc/libstdio/fdopen.c
index aee14fb0c..748b716eb 100644
--- a/mdk-stage1/dietlibc/libstdio/fdopen.c
+++ b/mdk-stage1/dietlibc/libstdio/fdopen.c
@@ -1,21 +1,13 @@
+#include <errno.h>
+#include "dietfeatures.h"
#include <sys/types.h>
#include <dietstdio.h>
#include <unistd.h>
-#define SEEK_END 2
-
-int __stdio_parse_mode(const char *mode);
-FILE* __stdio_init_file(int fd);
-
-FILE *fdopen (int filedes, const char *mode) {
+FILE *fdopen(int filedes, const char *mode) {
int f=0; /* O_RDONLY, O_WRONLY or O_RDWR */
- int fd;
f=__stdio_parse_mode(mode);
- if ((fd=filedes)<0) return 0;
- {
- FILE * ret = __stdio_init_file(fd);
- ret->flags |= UNSEEKABLE;
- return ret;
- }
+ if (filedes<0) { errno=EBADF; return 0; }
+ return __stdio_init_file(filedes,0);
}