X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibc.so_src%2FfileIO.c;h=441e72e070c1b8a678a7a467e26aa1302fcffb58;hb=05abefc2a27a08f381bca41524a5d299c4839ff2;hp=60def892b014a96b4df19a396826ae086765de12;hpb=6c7e82169e66197939b83945812b02787ed0f52e;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libc.so_src/fileIO.c b/Usermode/Libraries/libc.so_src/fileIO.c index 60def892..441e72e0 100644 --- a/Usermode/Libraries/libc.so_src/fileIO.c +++ b/Usermode/Libraries/libc.so_src/fileIO.c @@ -19,7 +19,7 @@ #define _stdout 1 // === PROTOTYPES === -EXPORT void itoa(char *buf, uint64_t num, uint base, int minLength, char pad, int bSigned); +EXPORT void itoa(char *buf, uint64_t num, size_t base, int minLength, char pad, int bSigned); struct sFILE *get_file_struct(); // === GLOBALS === @@ -82,7 +82,7 @@ EXPORT FILE *freopen(const char *file, const char *mode, FILE *fp) case 'x': openFlags = OPENFLAG_EXEC; break; } - + //Open File if(fp->FD != -1) fp->FD = reopen(fp->FD, file, openFlags); @@ -131,7 +131,7 @@ EXPORT void fflush(FILE *fp) ///\todo Implement } -EXPORT long int ftell(FILE *fp) +EXPORT off_t ftell(FILE *fp) { if(!fp || !fp->FD) return -1; @@ -225,7 +225,8 @@ EXPORT size_t fread(void *ptr, size_t size, size_t num, FILE *fp) { int ret; if(!fp || !fp->FD) return -1; - + + // TODO: Fit the spec better with the return value ret = read(fp->FD, ptr, size*num); return ret; @@ -427,7 +428,7 @@ EXPORT int vsnprintf(char *buf, size_t __maxlen, const char *format, va_list arg _addchar('*'); _addchar('0'); _addchar('x'); - arg = va_arg(args, uint32_t); + arg = va_arg(args, intptr_t); itoa(tmp, arg, 16, minSize, pad, 0); precision = -1; goto sprintf_puts; @@ -457,8 +458,7 @@ EXPORT int vsnprintf(char *buf, size_t __maxlen, const char *format, va_list arg // String case 's': - arg = va_arg(args, uint32_t); - p = (void*)(intptr_t)arg; + p = va_arg(args, char*); sprintf_puts: if(!p) p = "(null)"; //_SysDebug("vsnprintf: p = '%s'", p);