Add FreeBSD support for mount size/usage.
This commit is contained in:
parent
a1bfadafaa
commit
b84ab23c09
14
src/disks.c
14
src/disks.c
|
@ -77,15 +77,23 @@ disk_mount_point_get(const char *path)
|
|||
Eina_Bool
|
||||
disk_usage_get(const char *mountpoint, unsigned long *total, unsigned long *used)
|
||||
{
|
||||
#if defined(__linux__)
|
||||
struct statvfs stats;
|
||||
|
||||
*total = *used = 0;
|
||||
|
||||
if (statvfs(mountpoint, &stats) < 0)
|
||||
return EINA_FALSE;
|
||||
|
||||
*total = stats.f_frsize * stats.f_blocks;
|
||||
*used = stats.f_bsize * stats.f_bavail;
|
||||
#elif defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
struct statfs stats;
|
||||
|
||||
if (statfs(mountpoint, &stats) < 0)
|
||||
return EINA_FALSE;
|
||||
|
||||
*total = stats.f_bsize * stats.f_blocks;
|
||||
*used = *total - (stats.f_bsize * stats.f_bfree);
|
||||
#endif
|
||||
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
@ -146,7 +154,7 @@ disks_get(void)
|
|||
list = eina_list_append(list, strdup(mounts[i].f_mntfromname));
|
||||
}
|
||||
|
||||
list = list_sort(list, _cmp_cb);
|
||||
list = eina_list_sort(list, eina_list_count(list), _cmp_cb);
|
||||
|
||||
return list;
|
||||
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
|
|
Loading…
Reference in New Issue