[tracker] libtracker-common: Use guint64 for free space calculations
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] libtracker-common: Use guint64 for free space calculations
- Date: Thu, 21 Jan 2016 12:12:59 +0000 (UTC)
commit d366405906740ee832f418a5d5bf37f63627bbfe
Author: Carlos Garnacho <carlosg gnome org>
Date: Thu Jan 21 13:08:21 2016 +0100
libtracker-common: Use guint64 for free space calculations
We need the whole range after the multiplication with st.f_bsize, gsize
may overflow here. Also, make the cast to double explicit rather than
implicit in get_remaining_space_percentage()
src/libtracker-common/tracker-file-utils.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/src/libtracker-common/tracker-file-utils.c b/src/libtracker-common/tracker-file-utils.c
index 0cf6cd1..2c92179 100644
--- a/src/libtracker-common/tracker-file-utils.c
+++ b/src/libtracker-common/tracker-file-utils.c
@@ -290,7 +290,7 @@ guint64
tracker_file_system_get_remaining_space (const gchar *path)
{
struct __statvfs st;
- gsize available;
+ guint64 available;
if (statvfs_helper (path, &st)) {
available = (geteuid () == 0) ? st.f_bfree : st.f_bavail;
@@ -304,11 +304,11 @@ gdouble
tracker_file_system_get_remaining_space_percentage (const gchar *path)
{
struct __statvfs st;
- gsize available;
+ guint64 available;
if (statvfs_helper (path, &st)) {
available = (geteuid () == 0) ? st.f_bfree : st.f_bavail;
- return (available * 100.0 / st.f_blocks);
+ return (((gdouble) available * 100) / st.f_blocks);
} else {
return 0.0;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]