diff options
| -rw-r--r-- | sys/src/games/doom/w_wad.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/sys/src/games/doom/w_wad.c b/sys/src/games/doom/w_wad.c index 8f4c3c35c..17f31fa0c 100644 --- a/sys/src/games/doom/w_wad.c +++ b/sys/src/games/doom/w_wad.c @@ -64,19 +64,18 @@ void strupr (char* s) while (*s) { *s = toupper(*s); s++; } } -int filelength (int handle) +vlong +filelength(int fd) { - USED(handle); - I_Error ("PORTME w_wad.c filelength"); - return -1; -/* - struct stat fileinfo; - - if (fstat (handle,&fileinfo) == -1) - I_Error ("Error fstating"); - - return fileinfo.st_size; -*/ + vlong l; + Dir *d; + + d = dirfstat(fd); + if(d == nil) + sysfatal("dirfstat: %r"); + l = d->length; + free(d); + return l; /* lump file lenghts in doom are ints */ } |
