]> jfr.im git - irc/hexchat/hexchat.git/commitdiff
Fixed cast warning, use of uninitialized buffer and whitespace.
authorArnavion <redacted>
Sun, 22 Feb 2015 01:28:56 +0000 (17:28 -0800)
committerArnavion <redacted>
Sun, 22 Feb 2015 01:28:56 +0000 (17:28 -0800)
plugins/sysinfo/format.c

index f0b0effd7c6d71267c8ebb2c0c1f8db4fe4b36e6..741c43e266b2e603b9fe0795321e0f3ae917ee8a 100644 (file)
@@ -23,39 +23,34 @@ char *
 sysinfo_format_uptime (gint64 uptime)
 {
        char buffer[128];
-       int weeks;
-       int days;
-       int hours;
-       int minutes;
-       int seconds;
 
-       seconds = uptime%60;
-       minutes = (uptime/60)%60;
-       hours   = (uptime/3600)%24;
-       days    = (uptime/86400)%7;
-       weeks   = uptime/604800;
+       gint64 weeks = uptime / 604800;
+       int days     = (uptime / 86400) % 7;
+       int hours    = (uptime / 3600) % 24;
+       int minutes  = (uptime / 60) % 60;
+       int seconds  = uptime % 60;
 
-       if (minutes != 0 || hours != 0 || days != 0 || weeks != 0)
+       if (weeks != 0)
        {
-               if (hours != 0 || days != 0 || weeks != 0)
-               {
-                       if (days !=0 || weeks != 0)
-                       {
-                               if (weeks != 0)
-                                       g_snprintf (buffer, sizeof(buffer), "%dw %dd %dh %dm %ds", weeks, days, hours, minutes, seconds);
-                               else
-                                       g_snprintf (buffer, sizeof(buffer), "%dd %dh %dm %ds", days, hours, minutes, seconds);
-                       }
-                       else
-                       {
-                               g_snprintf (buffer, sizeof(buffer), "%dh %dm %ds", hours, minutes, seconds);
-                       }
-               }
-               else
-               {
-                       g_snprintf (buffer, sizeof(buffer), "%dm %ds", minutes, seconds);
-               }
+               g_snprintf (buffer, sizeof(buffer), "%" G_GINT64_FORMAT "w %dd %dh %dm %ds", weeks, days, hours, minutes, seconds);
        }
+       else if (days != 0)
+       {
+               g_snprintf (buffer, sizeof(buffer), "%dd %dh %dm %ds", days, hours, minutes, seconds);
+       }
+       else if (hours != 0)
+       {
+               g_snprintf (buffer, sizeof(buffer), "%dh %dm %ds", hours, minutes, seconds);
+       }
+       else if (minutes != 0)
+       {
+               g_snprintf (buffer, sizeof(buffer), "%dm %ds", minutes, seconds);
+       }
+       else
+       {
+               g_snprintf (buffer, sizeof(buffer), "%ds", seconds);
+       }
+
        return g_strdup (buffer);
 }