Fri Feb 10 06:43:35 2012: Request 74578 was acted upon. Transaction: Correspondence added by cos...@streppone.it Queue: Win32-API Subject: Re: [rt.cpan.org #74578] Win32::API::Struct alignment wrong Broken in: 0.64 Severity: Normal Owner: Nobody Requestors: do...@cpan.org Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=74578 >
On Sun, 05 Feb 2012 20:10:05 +0100, Douglas Wilson via RT <bug-win32-...@rt.cpan.org> wrote: > On Fri Feb 03 20:51:26 2012, rur...@x-ray.at wrote: >> Patch looks good. Aldo wanted to have that repeat bit fixed for a long >> time. Thanks. >> >> Now if you can repro the w64 align problem and send the output with >> debugging info, please? > > Like I said before, I don't think 64-bit had anything to do with this > bug, as I was using a 32-bit perl and dll. I've been reading up on Win32 > alignment and finally completely understand what needs to be done. My > test structure was suppose to start off with a char[10] and I thought it > was just a typo in the docs...now I see that it should have "xx" after > it in the pack/unpack. Attached is an updated patch, which correctly > fixes the repeat logic, and also I believe fixes the alignment of the > elements in the Struct (on closer look, the repeat logic is why the > alignments were wrong). It looks good just from calling getPack and > getUnpack. I'll test it with the actual dll on Monday. Thanks everyone involved, Douglas and Reini. I'm going to release this patch to CPAN during the weekend. -- Cosimo