[rt.cpan.org #94906] Signed return values not working

[email protected] ("Daniel Dragan via RT") Sun, 11 May 2014 04:40:58 -0400
Newsgroups perl.libwin32
Message-ID <[email protected]>
Sun May 11 04:40:58 2014: Request 94906 was acted upon.
Transaction: Correspondence added by BULKDD
       Queue: Win32-API
     Subject: Signed return values not working
   Broken in: (no value)
    Severity: (no value)
       Owner: Nobody
  Requestors: [email protected]
      Status: open
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=94906 >


On Wed Apr 23 05:12:51 2014, BULKDD wrote:
> Reproduced on AP 5.18 ( USE_64_BIT_INT ) and Cygwin Perl 32 bit 5.14
> (a USE_64_BIT_INT build). VC 2008 32 bit Perl (non  USE_64_BIT_INT )
> passes. I will investigate further

The problem is https://github.com/bulk88/perl5-win32-api/commit/fe878eab5bd0b52d953e209105e441eb795b0b7e turned "long_ptr" from signed into unsigned, so the 4 byte int is zero extended to 8 byte IV, not sign extended. That commit and the whole long_ptr usage needs a review to figure out how to fix this and not break something else.