diff --git a/AUTHORS b/AUTHORS index d383e013..3e766b1a 100644 --- a/AUTHORS +++ b/AUTHORS @@ -115,6 +115,9 @@ Gwenhael LE MOINE Hannu Saransaari Main code +hinokind + support negative values in human_readable() + Jason Mitchell developer UTF8 fix diff --git a/ChangeLog b/ChangeLog index 01ff7baa..edf02ca1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,8 @@ (http://bugs.gentoo.org/show_bug.cgi?id=235233) * Improve timed_thread interval timing * Improve Conky's overall interval timing + * Added small patch to support negative values (such as negative disk + capacity) (thanks hinokind) 2008-09-10 * Improved hddtemp support diff --git a/src/conky.c b/src/conky.c index 5597e214..471e81a2 100644 --- a/src/conky.c +++ b/src/conky.c @@ -1055,7 +1055,7 @@ static void human_readable(long long num, char *buf, int size, const char *func_ int precision, len; static const int WIDTH = 10, SHORT_WIDTH = 8; - if (num < 1024LL) { + if (num < 1024LL && num > -1024LL) { if (short_units) { spaced_print(buf, size, "%lld%c", SHORT_WIDTH, func_name, num, **suffix); @@ -1065,7 +1065,7 @@ static void human_readable(long long num, char *buf, int size, const char *func_ return; } - while (num / 1024 >= 1000LL && **(suffix + 2)) { + while ((num / 1024 >= 1000LL || num / 1024 <= -1024LL) && **(suffix + 2)) { num /= 1024; suffix++; }