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.

Reply via email to