--- projects/libstatgrab/src/saidar/saidar.c 2004/11/07 12:36:04 1.32 +++ projects/libstatgrab/src/saidar/saidar.c 2005/01/17 16:34:26 1.33 @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - * $Id: saidar.c,v 1.32 2004/11/07 12:36:04 ats Exp $ + * $Id: saidar.c,v 1.33 2005/01/17 16:34:26 tdb Exp $ */ #ifdef HAVE_CONFIG_H @@ -69,8 +69,14 @@ stats_t stats; char *size_conv(long long number){ char type[] = {'B', 'K', 'M', 'G', 'T'}; int x=0; + int sign=1; static char string[10]; + if(number < 0){ + sign=-1; + number=-number; + } + for(;x<5;x++){ if( (number/1024) < (100)) { break; @@ -78,7 +84,9 @@ char *size_conv(long long number){ number = (number/1024); } - snprintf(string, 10, "%lld%c", number, type[x]); + number = number*sign; + + snprintf(string, 10, "%lld%c", number, type[x]); return string; }