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)
|
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)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue