]> git.sur5r.net Git - i3/i3status/commitdiff
Display 0 instead of negative values for remaining time
authorMichael Stapelberg <michael+x200@stapelberg.de>
Fri, 1 May 2009 13:32:51 +0000 (15:32 +0200)
committerMichael Stapelberg <michael+x200@stapelberg.de>
Fri, 1 May 2009 13:32:51 +0000 (15:32 +0200)
This could happen with new batteries which are charged further than
their design capacity is

i3status.c

index 665e3192b00b16acc52ac2f348e504bae0dfb4b5..cc98fa0db792b90f1d914a166ee11ef5630d666f 100644 (file)
@@ -93,6 +93,10 @@ static const char **run_watches;
 static unsigned int num_run_watches;
 static unsigned int interval = 1;
 
+static int max(int a, int b) {
+        return (a > b ? a : b);
+}
+
 /*
  * This function just concats two strings in place, it should only be used
  * for concatting order to the name of a file or concatting color codes.
@@ -340,7 +344,7 @@ static char *get_battery_info(const char *path) {
                         (status == CS_CHARGING ? "CHR" :
                          (status == CS_DISCHARGING ? "BAT" : "FULL")),
                         (((float)remaining / (float)full_design) * 100),
-                        hours, minutes, seconds);
+                        max(hours, 0), max(minutes, 0), max(seconds, 0));
         } else {
                 (void)snprintf(part, sizeof(part), "%s %.02f%%",
                         (status == CS_CHARGING ? "CHR" :