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;
|
unsigned long long blknum, blkused, blkres;
|
||||||
double mbsize, mbused, mbres;
|
double mbsize, mbused, mbres;
|
||||||
Eina_Bool rdonly = EINA_FALSE;
|
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;
|
FILE *f;
|
||||||
|
|
||||||
|
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, "%4000s %4000s %4000s %*s",
|
||||||
|
mdev, mpoint, fstype) == 3)
|
||||||
|
{
|
||||||
|
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 ((f_is_dev) && (!f_is_dir))
|
||||||
|
{
|
||||||
|
if (statvfs(mpoint, &stfs) != 0) ok = EINA_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
fragsz = stfs.f_frsize;
|
fragsz = stfs.f_frsize;
|
||||||
blknum = stfs.f_blocks;
|
blknum = stfs.f_blocks;
|
||||||
blkused = stfs.f_blocks - stfs.f_bfree;
|
blkused = stfs.f_blocks - stfs.f_bfree;
|
||||||
blkres = stfs.f_bfree - stfs.f_bavail;
|
blkres = stfs.f_bfree - stfs.f_bavail;
|
||||||
|
|
||||||
fstype[0] = 0;
|
if ((ok) && (mpoint[0]) && (blknum > blkres))
|
||||||
mpoint[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 (!strcmp(mpoint, file)) break;
|
|
||||||
}
|
|
||||||
fstype[0] = 0;
|
|
||||||
mpoint[0] = 0;
|
|
||||||
}
|
|
||||||
fclose(f);
|
|
||||||
}
|
|
||||||
if (blknum > blkres)
|
|
||||||
{
|
{
|
||||||
is_fs = EINA_TRUE;
|
is_fs = EINA_TRUE;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue