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


Reply via email to