1 /* $Id: d_io.c,v 1.8 2004-05-19 02:20:34 btb Exp $ */
3 * some misc. file/disk routines
17 //added 05/17/99 Matt Mueller
21 #if defined(_WIN32) && !defined(_WIN32_WCE)
23 #define lseek(a,b,c) _lseek(a,b,c)
27 long filelength(int fd) {
30 if ((old_pos = lseek(fd, 0, SEEK_CUR)) == -1 ||
31 (size = lseek(fd, 0, SEEK_END)) == -1 ||
32 (lseek(fd, old_pos, SEEK_SET)) == -1)
38 long ffilelength(FILE *file)
42 if ((old_pos = ftell(file)) == -1 ||
43 fseek(file, 0, SEEK_END) == -1 ||
44 (size = ftell(file)) == -1 ||
45 fseek(file, old_pos, SEEK_SET) == -1)
51 unsigned long d_getdiskfree()
56 #if 0//def __WINDOWS__
67 return cbCluster * cClusters;
75 unsigned long GetDiskFree()
77 return d_getdiskfree();
80 // remove extension from filename, doesn't work with paths.
81 void removeext(const char *filename, char *out) {
83 if ((p = strrchr(filename, '.'))) {
84 strncpy(out, filename, p - filename);
85 out[p - filename] = 0;
87 strcpy(out, filename);