--- uae/src/fsusage.c 2018/04/24 16:42:15 1.1.1.1 +++ uae/src/fsusage.c 2018/04/24 17:02:11 1.1.1.3 @@ -17,6 +17,7 @@ #include "sysconfig.h" +#include #include #ifdef HAVE_SYS_STAT_H @@ -48,9 +49,8 @@ adjust_blocks (blocks, fromsize, tosize) } #ifdef _WIN32 - +#include "sysdeps.h" #include - int get_fs_usage (path, disk, fsp) const char *path; @@ -76,7 +76,14 @@ get_fs_usage (path, disk, fsp) /* lasterror = GetLastError ();*/ return -1; } - + + /* HACK ALERT! WinNT returns 0 in TotalNumberOfClusters for an audio-CD, which calls the GURU! */ + if( ( TotalNumberOfClusters == 0 ) && + ( GetDriveType( buf2 ) == DRIVE_CDROM ) ) + { + TotalNumberOfClusters = 327680; + } + BytesPerSector *= SectorsPerCluster; fsp->fsu_blocks = adjust_blocks (TotalNumberOfClusters, BytesPerSector, 512); fsp->fsu_bavail = adjust_blocks (NumberOfFreeClusters, BytesPerSector, 512);