Mon May 07 20:10:54 2012: Request 77048 was acted upon. Transaction: Correspondence added by patcat88 Queue: Win32-API Subject: USHORT type causes uninitialized memory crash Broken in: 0.68 Severity: Critical Owner: Nobody Requestors: bul...@hotmail.com Status: new Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=77048 >
It seems that 'S' stands for structure. There is no short at all in Win32::API. Yet Win32::API::Type is loaded with short family types that all are S or s. S/s is also the letter for pack's short. Someone wasn't thinking years ago when they implemented the structure support. From looking at Win32::API's github records, there never waa short support, yet USHORT and SHORT as S/s where there since day 1 (0.20). Struct should have been given the letter T. Letter T is not used by pack(). So how is this going to be fixed? To fix this will break backwards compatibility if struct letter is moved to T and S becomes short type. This bug has been around since atleast 2004, http://www.perlmonks.org/?node_id=369060 .