RE: 3 Win32::API bugs
[email protected] (bulk 88)
| Newsgroups | perl.libwin32 |
|---|---|
| Message-ID | <[email protected]> |
---------------------------------------- > From: [email protected] > To: [email protected]; [email protected] > Subject: RE: 3 Win32::API bugs > Date: Wed, 9 May 2012 10:10:40 -0400 > Since Callback is crashing, I dont know whether to try to fix it, so I have a question, did 02_Callback.t ever not crash with a certain version number of Win32::API, with a certain compiler, etc? > > Or should I forget about callback and try and fix the 3 other bugs (func not found dll handle leak, no unsigned return values, no shorts) which are easier targets to kill than Callback and then try Callback if I have the time? I got Callback.pm to stop crashing on 32 bit VC 2003. The problem is VC uses a jump table ("ILT"), so when you take the pointer to a function, its actually a pointer to a jmp opcode, not to the head of machine code for that function. That messed everything up. I fixed that by testing and decoding the jmp opcode if its there. Next problem was, on -Od, mov esp,ebp; pop ebp; ret; not leave; ret;, I put in a case for that, going down the CallbackTemplate < PerformCallback branch somehow didn't work for me and lead to a crash I didn't investigate. Now my problem is parameters from Perl to the Perl callback are wrong values. I think for some reason my emails are blocked from [email protected].