From 7484ad2ef09dbb217f8d283d998d0f832b460927 Mon Sep 17 00:00:00 2001 From: Paul Cercueil Date: Sun, 24 Jun 2012 22:41:16 +0200 Subject: [PATCH] Check if USB cable is plugged before returning the battery level. --- src/gmenu2x.cpp | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/gmenu2x.cpp b/src/gmenu2x.cpp index 55aa390..346a888 100644 --- a/src/gmenu2x.cpp +++ b/src/gmenu2x.cpp @@ -1461,21 +1461,25 @@ typedef struct { } MMSP2ADC; unsigned short GMenu2X::getBatteryLevel() { - if (!batteryHandle) return 0; - int battval = 0; - fscanf(batteryHandle, "%d", &battval); - rewind(batteryHandle); - if (battval>90) return 5; - if (battval>70) return 4; - if (battval>50) return 3; - if (battval>30) return 2; - if (battval>10) return 1; + if (usbHandle) { + int usbval = 0; + fscanf(usbHandle, "%d", &usbval); + rewind(usbHandle); + if (usbval == 1) + return 6; + } - if (!usbHandle) return 0; - int usbval = 0; - fscanf(usbHandle, "%d", &usbval); - rewind(usbHandle); - if (usbval==1) return 6; + if (batteryHandle) { + int battval = 0; + fscanf(batteryHandle, "%d", &battval); + rewind(batteryHandle); + + if (battval>90) return 5; + if (battval>70) return 4; + if (battval>50) return 3; + if (battval>30) return 2; + if (battval>10) return 1; + } return 0; }