Changeset 1119 for trunk/include/stdlib.h
- Timestamp:
- 04/02/11 02:47:42 (2 years ago)
- File:
-
- 1 edited
-
trunk/include/stdlib.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/stdlib.h
r1092 r1119 137 137 extern long taskUnlock(); 138 138 139 extern long Fopen_Fut(const char *filename, const char *mode);140 extern long Fclose_Fut(long file);141 extern long Fread_Fut(void *buf, long elsize, long count, long f);142 extern long Fwrite_Fut(const void *buf, long elsize, long count, long f);143 extern long Fseek_Fut(long file, long offset, long whence);144 139 // TODO can we just use these all the time ? 145 140 extern long RenameFile_Fut(const char *oldname, const char *newname); 146 141 extern long MakeDirectory_Fut(const char *name); 147 142 extern long DeleteFile_Fut(const char *name); 148 extern long Feof_Fut(long file);149 extern long Fflush_Fut(long file);150 extern char *Fgets_Fut(char *buf, int n, long f);151 143 152 144 extern int creat (const char *name, int flags); … … 172 164 // ...name 173 165 } FILE; 174 // these tiny inlines provide type safety, and should optimize away 175 static inline FILE *fopen(const char *filename, const char *mode) { 176 return (FILE *)Fopen_Fut(filename,mode); 177 } 178 static inline long fclose(FILE *f) { 179 return Fclose_Fut((long)f); 180 } 181 static inline long fread(void *buf, long elsize, long count, FILE *f) { 182 return Fread_Fut(buf,elsize,count,(long)f); 183 } 184 static inline long fwrite(const void *buf, long elsize, long count, FILE *f) { 185 return Fwrite_Fut(buf,elsize,count,(long)f); 186 } 187 static inline long fseek(FILE *file, long offset, long whence) { 188 return Fseek_Fut((long)file,offset,whence); 189 } 190 static inline long fflush(FILE *file) { 191 return Fflush_Fut((long)file); 192 } 193 static inline long feof(FILE *file) { 194 return Feof_Fut((long)file); 195 } 196 static inline long ftell(FILE *file) { 197 if(!file) return -1; 198 return file->pos; 199 } 200 static inline char *fgets(char *buf, int n, FILE *f) { 201 return Fgets_Fut(buf,n,(int)f); 202 } 166 167 extern FILE *fopen(const char *filename, const char *mode); 168 extern long fclose(FILE *f); 169 extern long fread(void *buf, long elsize, long count, FILE *f); 170 extern long fwrite(const void *buf, long elsize, long count, FILE *f); 171 extern long fseek(FILE *file, long offset, long whence); 172 extern long fflush(FILE *file); 173 extern long feof(FILE *file); 174 extern long ftell(FILE *file); 175 extern char *fgets(char *buf, int n, FILE *f); 203 176 #define fdelete(a) DeleteFile_Fut(a) 177 204 178 /** 205 179 * No STUBS! … … 293 267 extern time_t mktime(struct tm *timp); 294 268 295 static inline int abs( int v ) { 296 return v<0 ? -v : v; 297 } 298 299 #endif 269 extern int abs( int v ); 270 271 #endif
Note: See TracChangeset
for help on using the changeset viewer.