diff --git a/src/system/helpers.cpp b/src/system/helpers.cpp index 23708b752..700f374b8 100644 --- a/src/system/helpers.cpp +++ b/src/system/helpers.cpp @@ -193,7 +193,7 @@ int check_dir(const char * dir) return ret; } -bool get_fs_usage(const char * dir, long &btotal, long &bused) +bool get_fs_usage(const char * dir, long &btotal, long &bused, long *bsize/*=NULL*/) { btotal = bused = 0; struct statfs s; @@ -201,6 +201,8 @@ bool get_fs_usage(const char * dir, long &btotal, long &bused) if (::statfs(dir, &s) == 0 && s.f_blocks) { btotal = s.f_blocks; bused = s.f_blocks - s.f_bfree; + if (bsize != NULL) + *bsize = s.f_bsize; //printf("fs (%s): total %ld used %ld\n", dir, btotal, bused); return true; } diff --git a/src/system/helpers.h b/src/system/helpers.h index 2d9731494..59d04a8bb 100644 --- a/src/system/helpers.h +++ b/src/system/helpers.h @@ -31,7 +31,7 @@ int safe_mkdir(char * path); bool file_exists(const char *filename); void wakeup_hdd(const char *hdd_dir); int check_dir(const char * dir); -bool get_fs_usage(const char * dir, long &total, long &used); +bool get_fs_usage(const char * dir, long &total, long &used, long *bsize=NULL); bool get_mem_usage(unsigned long &total, unsigned long &free); std::string trim(std::string &str, const std::string &trimChars = " \n\r\t");