ported trunk commit 3012: Fix discspace for OSX

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5.0@3019 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
csoler 2010-05-28 14:06:03 +00:00
parent b9deaf1ea3
commit 7343a7f03c

View File

@ -81,19 +81,29 @@ bool RsDiscSpace::crossSystemDiskStats(const char *file, uint64_t& free_blocks,
free_blocks = dwFreeClusters ; free_blocks = dwFreeClusters ;
block_size = dwSectorPerCluster * dwBytesPerSector ; block_size = dwSectorPerCluster * dwBytesPerSector ;
#else
#ifdef __APPLE__
struct statvfs buf;
if (0 != statvfs (file, &buf))
{
std::cerr << "Size estimate failed for file " << file << std::endl ;
return false;
}
free_blocks = buf.f_bavail;
block_size = buf.f_frsize ;
#else #else
struct statvfs64 buf; struct statvfs64 buf;
if (0 != statvfs64 (file, &buf)) if (0 != statvfs64 (file, &buf))
{ {
std::cerr << "Size estimate failed for file " << file << std::endl ; std::cerr << "Size estimate failed for file " << file << std::endl ;
return false; return false;
} }
#ifdef __APPLE__
free_blocks = buf.f_bavail;
block_size = buf.f_frsize ;
#else
free_blocks = buf.f_bavail; free_blocks = buf.f_bavail;
block_size = buf.f_bsize ; block_size = buf.f_bsize ;
#endif #endif