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: [email protected]
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