diff --git a/aegisub/libaegisub/include/libaegisub/util.h b/aegisub/libaegisub/include/libaegisub/util.h index d21b606e509af80182241ca6159d3a7f0d355642..b9e2161b103d80e15c68e9cb4109c57c1c73d736 100644 --- a/aegisub/libaegisub/include/libaegisub/util.h +++ b/aegisub/libaegisub/include/libaegisub/util.h @@ -22,6 +22,7 @@ #include <string> #include <stdio.h> #include <time.h> +#include <sys/statvfs.h> #include <algorithm> #endif // LAGI_PRE diff --git a/aegisub/libaegisub/lagi_pre.h b/aegisub/libaegisub/lagi_pre.h index 164d61f37bbb246774b2dd0e0bb68380a85d4902..74d051b3324596b0c067900ca7bd1a78038f4013 100644 --- a/aegisub/libaegisub/lagi_pre.h +++ b/aegisub/libaegisub/lagi_pre.h @@ -26,7 +26,7 @@ // Unix C #ifndef _WIN32 -# include <sys/mount.h> // yep, this exists on MacOS X as well, but not on Windows. +# include <sys/statvfs.h> #endif // Common C++ diff --git a/aegisub/libaegisub/unix/util.cpp b/aegisub/libaegisub/unix/util.cpp index ecc8bb2892c914b9ff2461227699d812b824b133..691b796e3671c6e25abc538d83875246207a064d 100644 --- a/aegisub/libaegisub/unix/util.cpp +++ b/aegisub/libaegisub/unix/util.cpp @@ -60,7 +60,7 @@ void time_log(timeval &tv) { } uint64_t freespace(std::string &path, PathType type) { - struct statfs fs; + struct statvfs fs; std::string check(path); if (type == TypeFile) @@ -68,7 +68,7 @@ uint64_t freespace(std::string &path, PathType type) { acs::CheckDirRead(check); - if ((statfs(check.c_str(), &fs)) == 0) { + if ((statvfs(check.c_str(), &fs)) == 0) { return fs.f_bsize * fs.f_bavail; } else { /// @todo We need a collective set of exceptions for ENOTDIR, EIO etc.