1
0
Fork 0
forked from len0rd/rockbox

Proper disk statistics for the win32 simulator.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6042 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jens Arnold 2005-02-22 21:55:48 +00:00
parent 49df765c18
commit 78724269a5

View file

@ -256,8 +256,15 @@ off_t sim_filesize(int fd)
void fat_size(unsigned int* size, unsigned int* free) void fat_size(unsigned int* size, unsigned int* free)
{ {
#ifdef WIN32 #ifdef WIN32
*size = 2049; long secperclus, bytespersec, free_clusters, num_clusters;
*free = 1037;
if (GetDiskFreeSpace(NULL, &secperclus, &bytespersec, &free_clusters,
&num_clusters)) {
if (size)
*size = num_clusters * secperclus / 2 * (bytespersec / 512);
if (free)
*free = free_clusters * secperclus / 2 * (bytespersec / 512);
}
#else #else
struct statfs fs; struct statfs fs;
@ -269,13 +276,13 @@ void fat_size(unsigned int* size, unsigned int* free)
if (free) if (free)
*free = fs.f_bfree * (fs.f_bsize / 1024); *free = fs.f_bfree * (fs.f_bsize / 1024);
} }
#endif
else { else {
if (size) if (size)
*size = 0; *size = 0;
if (free) if (free)
*free = 0; *free = 0;
} }
#endif
} }
int sim_fsync(int fd) int sim_fsync(int fd)