free: fix scaling on 32-bit systems
Systems that have a 32-bit long would give incorrect results in free. References: Issue #89 https://www.freelists.org/post/procps/frees-scale-size-broken-with-32bit-long
This commit is contained in:
parent
1982a79ba8
commit
58bff862fc
1
NEWS
1
NEWS
@ -2,6 +2,7 @@ procps-ng-3.3.14
|
||||
----------------
|
||||
* pgrep: Don't segfault on non match Debian #894917
|
||||
* pgrep/pkill: Revert so matches all namespaces issue #91
|
||||
* free: Fix scaling on 32-bit systems issue #89
|
||||
|
||||
procps-ng-3.3.13
|
||||
----------------
|
||||
|
2
free.c
2
free.c
@ -133,7 +133,7 @@ static const char *scale_size(unsigned long size, int flags, struct commandline_
|
||||
if (args.exponent > 1) {
|
||||
/* In desired scale. */
|
||||
snprintf(buf, sizeof(buf), "%ld",
|
||||
(long int)((size * 1024) / power(base, args.exponent-1))
|
||||
(long int)((size * 1024.0) / power(base, args.exponent-1))
|
||||
);
|
||||
return buf;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user