Tue May 22 05:38:29 2012: Request 75671 was acted upon. Transaction: Correspondence added by SISYPHUS Queue: Win32-Registry Subject: Does not compile anymore because of typemap problems Broken in: 0.10 Severity: (no value) Owner: Nobody Requestors: sre...@cpan.org Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=75671 >
On Tue May 22 04:14:23 2012, SHAY wrote: > > I've just encountered the same problem when rebuilding things with > perl-5.16.0 and solved it in much the same way. (I actually put FILETIME > T_HANDLE in the typemap; I don't know if that's better or worse than > T_PTROBJ.) It doesn't matter what you specify - specifying T_CRAP will work just as well. The problem is that there's some shonkiness in Registry.xs. Earlier versions of EU::ParseXS didn't worry about it, but more recent versions do. I've been using the following patch to Registry.xs: ############################################# --- Registry.xs 2012-05-22 19:19:27 +1000 +++ Registry.xs_fixed 2012-05-22 19:15:18 +1000 @@ -545,7 +545,7 @@ DWORD idx char *subkey = NO_INIT char *classname = NO_INIT - FILETIME lastwritetime = NO_INIT + SV * lastwritetime = NO_INIT CODE: char keybuffer[TMPBUFSZ]; DWORD keybuffersz = TMPBUFSZ; @@ -775,7 +775,7 @@ DWORD maxvalnamelen = NO_INIT DWORD maxvaldatalen = NO_INIT DWORD secdesclen = NO_INIT - FILETIME lastwritetime = NO_INIT + SV * lastwritetime = NO_INIT CODE: char keyclass[TMPBUFSZ]; FILETIME ft; ############################################# I don't remember if I came up with that myself, or whether it was someone else. (If it was me that wrote it, then it might still be shonky.) Anyway, with that patch applied the idiotic 'no typemap entry' error goes away. Cheers, Rob