Fri Oct 19 01:05:11 2012: Request 6754 was acted upon. Transaction: Correspondence added by BULKDD Queue: Win32-API Subject: Problem with "SHORT" return types? Broken in: (no value) Severity: Normal Owner: Nobody Requestors: steve....@uk.radan.com Status: new Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=6754 >
On Fri Jun 25 03:55:07 2004, SHAY wrote: > > Also, I think that the entry in Win32::API::Types' __DATA__ section > for LANGID is wrong -- it says 's', meaning a signed short, but I > believe it should say 'S', meaning an unsigned short. > > This is using Win32-API-0.41 on WinXP/VC++ 6 with perl-5.8.4. The problem turned out to be that S means Win32::API::Struct for a Win32::API object, not unsigned short. There was no letter code for short (the bug). The meaning of the letters couldn't be changed since that would break API. If you create a Win32::API::More object, S means unsigned short. Looking in the MS SDK headers, LANGID is a USHORT. I'm not sure whether LANGID should or shouldn't (API breakage for someone who wrote a script that works around the bug by using -ed constants) at this time.