--------------- Original Master Branch Commit Message:
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
Signed-off-by: Jim Warner <james.warner@comcast.net>
----------------
* 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
----------------
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;
}