X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibc.so_src%2Fstdio.c;fp=Usermode%2FLibraries%2Flibc.so_src%2Fstdio.c;h=a944f9b630c52704e863511b1591c48d1f1d3fe7;hb=2610c32930309a73308f64731a05f2e83487b731;hp=e98ca42accf8e5b7e155ac55b99a145f840688ac;hpb=d4b3582f716e06672de2d374be06064118236aed;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libc.so_src/stdio.c b/Usermode/Libraries/libc.so_src/stdio.c index e98ca42a..a944f9b6 100644 --- a/Usermode/Libraries/libc.so_src/stdio.c +++ b/Usermode/Libraries/libc.so_src/stdio.c @@ -223,6 +223,33 @@ EXPORT FILE *open_memstream(char **bufferptr, size_t *lengthptr) return ret; } +EXPORT FILE *fdopen(int fd, const char *mode) +{ + FILE *ret; + + if( fd < 0 || !mode ) return NULL; + + ret = get_file_struct(); + + ret->FD = fd; + ret->Flags = _fopen_modetoflags(mode); + if(ret->Flags == -1) { + ret->Flags = 0; + return NULL; + } + + ret->Buffer = NULL; + ret->BufferPos = 0; + ret->BufferSpace = 0; + + return ret; +} + +EXPORT FILE *tmpfile(void) +{ + return NULL; +} + EXPORT int fclose(FILE *fp) { if( !(fp->Flags & FILE_FLAG_ALLOC) ) @@ -452,7 +479,7 @@ int _fseek_memstream(FILE *fp, long int amt, int whence) return 0; } -EXPORT int fseek(FILE *fp, long int amt, int whence) +EXPORT int fseeko(FILE *fp, off_t amt, int whence) { if(!fp || fp->FD == FD_NOTOPEN) { errno = EBADF; @@ -473,6 +500,11 @@ EXPORT int fseek(FILE *fp, long int amt, int whence) } } +EXPORT int fseek(FILE *fp, long int amt, int whence) +{ + return fseeko(fp, amt, whence); +} + size_t _fwrite_unbuffered(FILE *fp, size_t size, size_t num, const void *data) { size_t ret = 0, bytes;