----------------------------------------
> From: bul...@hotmail.com
> To: d...@perl.it; libwin32@perl.org
> 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 libwin32@perl.org.