[erlang-bugs] win32sysinfo.c doesn't understand DWORDLONG is unsigned and long

Matthew Sackman <>
Tue Feb 2 15:29:42 CET 2010


Hi Björn-Egil,

On Thu, Jan 28, 2010 at 06:59:14PM +0100, Björn-Egil Dahlberg wrote:
> I will have a look at this but I think you are correct.
> %I64d seems to be the wrong thing here.

Eeek, my apologies, I am totally wrong. I hadn't realised that Windows
has its own version of format specifiers for printf, and thus I64 means
exactly "unsigned 64-bit int" which is precisely what's wanted.

http://msdn.microsoft.com/en-us/library/56e442dc(VS.71).aspx

And indeed release notes for R13B show that this fixed (the bug really
did exist before R13B) in os_mon 2.2.1:

OTP-7944  An error in memsup could cause os_mon to report erroneous
	      memory values on windows for ranges of memory between 2GB and
	      4GB. This have now been fixed.

Sorry for wasting your time.

Matthew


More information about the erlang-bugs mailing list