forked from enlightenment/enlightenment
fix mounted fs used/free/reserved display to work again...
This commit is contained in:
parent
39ea5b4e3d
commit
ba7bc6dba2
|
@ -527,32 +527,50 @@ _e_wid_fprev_preview_file(E_Widget_Data *wd)
|
|||
unsigned long long blknum, blkused, blkres;
|
||||
double mbsize, mbused, mbres;
|
||||
Eina_Bool rdonly = EINA_FALSE;
|
||||
char buf[PATH_MAX], mpoint[4096], fstype[4096];
|
||||
Eina_Bool f_is_dir = EINA_FALSE;
|
||||
Eina_Bool f_is_dev = EINA_FALSE;
|
||||
char buf[PATH_MAX], mdev[4096], mpoint[4096], fstype[4096];
|
||||
FILE *f;
|
||||
|
||||
fragsz = stfs.f_frsize;
|
||||
blknum = stfs.f_blocks;
|
||||
blkused = stfs.f_blocks - stfs.f_bfree;
|
||||
blkres = stfs.f_bfree - stfs.f_bavail;
|
||||
|
||||
fstype[0] = 0;
|
||||
mpoint[0] = 0;
|
||||
mdev[0] = 0;
|
||||
f = fopen("/etc/mtab", "r");
|
||||
if (f)
|
||||
{
|
||||
while (fgets(buf, sizeof(buf), f))
|
||||
{
|
||||
if (sscanf(buf, "%*s %4000s %4000s %*s",
|
||||
mpoint, fstype) == 2)
|
||||
if (sscanf(buf, "%4000s %4000s %4000s %*s",
|
||||
mdev, mpoint, fstype) == 3)
|
||||
{
|
||||
if (!strcmp(mpoint, file)) break;
|
||||
if (!strcmp(mdev, file))
|
||||
{
|
||||
f_is_dev = EINA_TRUE;
|
||||
break;
|
||||
}
|
||||
if (!strcmp(mpoint, file))
|
||||
{
|
||||
f_is_dir = EINA_TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
fstype[0] = 0;
|
||||
mpoint[0] = 0;
|
||||
mdev[0] = 0;
|
||||
}
|
||||
fclose(f);
|
||||
}
|
||||
if (blknum > blkres)
|
||||
if ((f_is_dev) && (!f_is_dir))
|
||||
{
|
||||
if (statvfs(mpoint, &stfs) != 0) ok = EINA_FALSE;
|
||||
}
|
||||
|
||||
fragsz = stfs.f_frsize;
|
||||
blknum = stfs.f_blocks;
|
||||
blkused = stfs.f_blocks - stfs.f_bfree;
|
||||
blkres = stfs.f_bfree - stfs.f_bavail;
|
||||
|
||||
if ((ok) && (mpoint[0]) && (blknum > blkres))
|
||||
{
|
||||
is_fs = EINA_TRUE;
|
||||
|
||||
|
|
Loading…
Reference in New Issue