1 // some misc. file/disk routines
2 // Arne de Bruijn, 1998
10 //added 05/17/99 Matt Mueller
14 #ifdef __ENV_WINDOWS__
16 #define lseek(a,b,c) _lseek(a,b,c)
19 long filelength(int fd) {
22 if ((old_pos = lseek(fd, 0, SEEK_CUR)) == -1 ||
23 (size = lseek(fd, 0, SEEK_END)) == -1 ||
24 (lseek(fd, old_pos, SEEK_SET)) == -1)
29 long ffilelength(FILE *fh)
31 return filelength(fileno(fh));
35 unsigned long d_getdiskfree()
40 #ifdef __ENV_WINDOWS__
51 return cbCluster * cClusters;
59 unsigned long GetDiskFree()
61 return d_getdiskfree();
64 // remove extension from filename, doesn't work with paths.
65 void removeext(const char *filename, char *out) {
67 if ((p = strrchr(filename, '.'))) {
68 strncpy(out, filename, p - filename);
69 out[p - filename] = 0;
71 strcpy(out, filename);