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:
parent
49df765c18
commit
78724269a5
1 changed files with 10 additions and 3 deletions
|
@ -256,8 +256,15 @@ off_t sim_filesize(int fd)
|
|||
void fat_size(unsigned int* size, unsigned int* free)
|
||||
{
|
||||
#ifdef WIN32
|
||||
*size = 2049;
|
||||
*free = 1037;
|
||||
long secperclus, bytespersec, free_clusters, num_clusters;
|
||||
|
||||
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
|
||||
struct statfs fs;
|
||||
|
||||
|
@ -269,13 +276,13 @@ void fat_size(unsigned int* size, unsigned int* free)
|
|||
if (free)
|
||||
*free = fs.f_bfree * (fs.f_bsize / 1024);
|
||||
}
|
||||
#endif
|
||||
else {
|
||||
if (size)
|
||||
*size = 0;
|
||||
if (free)
|
||||
*free = 0;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
int sim_fsync(int fd)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue