From 7343a7f03c5d052b54386227a361ebe96da97817 Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 28 May 2010 14:06:03 +0000 Subject: [PATCH] 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 --- libretroshare/src/util/rsdiscspace.cc | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/libretroshare/src/util/rsdiscspace.cc b/libretroshare/src/util/rsdiscspace.cc index 9055b5518..6f7c45997 100644 --- a/libretroshare/src/util/rsdiscspace.cc +++ b/libretroshare/src/util/rsdiscspace.cc @@ -81,19 +81,29 @@ bool RsDiscSpace::crossSystemDiskStats(const char *file, uint64_t& free_blocks, free_blocks = dwFreeClusters ; 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 struct statvfs64 buf; - + if (0 != statvfs64 (file, &buf)) { std::cerr << "Size estimate failed for file " << file << std::endl ; return false; } - -#ifdef __APPLE__ - free_blocks = buf.f_bavail; - block_size = buf.f_frsize ; -#else + + free_blocks = buf.f_bavail; block_size = buf.f_bsize ; #endif