From 7c01980e94d87622522339b84d14368bcc45fb3a Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Thu, 27 Sep 2012 12:22:33 +0200 Subject: [PATCH] - system/helpers: rework get_fs_usage() also comment some unuses variables in src/infoviever_bb.{h,cpp} --- src/gui/infoviewer_bb.cpp | 37 ++++++++++++++++++++----------------- src/gui/infoviewer_bb.h | 4 ++-- src/system/helpers.cpp | 13 +++++++------ src/system/helpers.h | 2 +- 4 files changed, 30 insertions(+), 26 deletions(-) diff --git a/src/gui/infoviewer_bb.cpp b/src/gui/infoviewer_bb.cpp index d106d0f98..7502bad65 100644 --- a/src/gui/infoviewer_bb.cpp +++ b/src/gui/infoviewer_bb.cpp @@ -94,7 +94,7 @@ CInfoViewerBB::CInfoViewerBB() void CInfoViewerBB::Init() { hddscale = NULL; - varscale = NULL; + sysscale = NULL; hddwidth = 0; bbIconMaxH = 0; bbButtonMaxH = 0; @@ -597,9 +597,11 @@ void CInfoViewerBB::showSysfsHdd() { if (g_settings.infobar_show_sysfs_hdd) { //sysFS info - int sysper = 0; - sysper = get_fs_usage("/"); - showBarSys(sysper); + int percent = 0; + long t, u; + if (get_fs_usage("/", t, u)) + percent = (u * 100ULL) / t; + showBarSys(percent); #if 0 //HDD info in a seperate thread @@ -610,8 +612,9 @@ void CInfoViewerBB::showSysfsHdd() } #else if (!check_dir(g_settings.network_nfs_recordingdir)) { - sysper = get_fs_usage(g_settings.network_nfs_recordingdir); - showBarHdd(sysper); + if (get_fs_usage(g_settings.network_nfs_recordingdir, t, u)) + percent = (u * 100ULL) / t; + showBarHdd(percent); } #endif } @@ -621,9 +624,11 @@ void* CInfoViewerBB::hddperThread(void *arg) { CInfoViewerBB *infoViewerBB = (CInfoViewerBB*) arg; - int hddper = 0; - hddper = get_fs_usage(g_settings.network_nfs_recordingdir); - infoViewerBB->showBarHdd(hddper); + int percent = 0; + long t, u; + if (get_fs_usage(g_settings.network_nfs_recordingdir, t, u)) + percent = (u * 100ULL) / t; + infoViewerBB->showBarHdd(percent); infoViewerBB->hddperTflag=false; pthread_exit(NULL); @@ -632,13 +637,11 @@ void* CInfoViewerBB::hddperThread(void *arg) void CInfoViewerBB::showBarSys(int percent) { if (is_visible) - varscale->paintProgressBar(bbIconMinX, BBarY + InfoHeightY_Info / 2 - 2 - 6, hddwidth, 6, percent, 100); + sysscale->paintProgressBar(bbIconMinX, BBarY + InfoHeightY_Info / 2 - 2 - 6, hddwidth, 6, percent, 100); } void CInfoViewerBB::showBarHdd(int percent) { - if (percent < 0) - percent = 0; if (is_visible) hddscale->paintProgressBar(bbIconMinX, BBarY + InfoHeightY_Info / 2 + 2 + 0, hddwidth, 6, percent, 100); } @@ -791,16 +794,16 @@ void CInfoViewerBB::changePB() if (hddscale != NULL) delete hddscale; hddscale = new CProgressBar(true, hddwidth, 6, 50, 100, 75, true); - if (varscale != NULL) - delete varscale; - varscale = new CProgressBar(true, hddwidth, 6, 50, 100, 75, true); + if (sysscale != NULL) + delete sysscale; + sysscale = new CProgressBar(true, hddwidth, 6, 50, 100, 75, true); } void CInfoViewerBB::reset_allScala() { hddscale->reset(); - varscale->reset(); - lasthdd = lastvar = -1; + sysscale->reset(); + //lasthdd = lastsys = -1; } void CInfoViewerBB::setBBOffset() diff --git a/src/gui/infoviewer_bb.h b/src/gui/infoviewer_bb.h index 84353c6b9..41bb17cb0 100644 --- a/src/gui/infoviewer_bb.h +++ b/src/gui/infoviewer_bb.h @@ -98,7 +98,7 @@ class CInfoViewerBB int BBarY, BBarFontY; int hddwidth; - int lasthdd, lastvar; + //int lasthdd, lastsys; bool fta; int minX; @@ -106,7 +106,7 @@ class CInfoViewerBB bool scrambledNoSig, scrambledNoSigSave; pthread_t scrambledT; - CProgressBar *hddscale, *varscale; + CProgressBar *hddscale, *sysscale; void showBBIcons(const int modus, const std::string & icon); void getBBIconInfo(void); diff --git a/src/system/helpers.cpp b/src/system/helpers.cpp index f5f1cdb96..a564982e6 100644 --- a/src/system/helpers.cpp +++ b/src/system/helpers.cpp @@ -191,17 +191,18 @@ int check_dir(const char * dir) return ret; } -int get_fs_usage(const char * dir) +bool get_fs_usage(const char * dir, long &btotal, long &bused) { - int ret = 0; - long blocks_used; + btotal = bused = 0; struct statfs s; if (::statfs(dir, &s) == 0 && s.f_blocks) { - blocks_used = s.f_blocks - s.f_bfree; - ret = (blocks_used * 100ULL) / s.f_blocks; + btotal = s.f_blocks; + bused = s.f_blocks - s.f_bfree; + //printf("fs (%s): total %ld used %ld\n", dir, btotal, bused); + return true; } - return ret; + return false; } bool get_mem_usage(unsigned long &kbtotal, unsigned long &kbfree) diff --git a/src/system/helpers.h b/src/system/helpers.h index 7707cce05..c14938527 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); -int get_fs_usage(const char * dir); +bool get_fs_usage(const char * dir, long &total, long &used); bool get_mem_usage(unsigned long &total, unsigned long &free); #endif