Thu Jun 28 12:43:36 2012: Request 78081 was acted upon. Transaction: Correspondence added by BULKDD Queue: Win32-API Subject: ::Struct inside ::Struct is always inline, never a pointer Broken in: 0.68 Severity: Normal Owner: Nobody Requestors: bul...@cpan.org Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=78081 >
On Thu Jun 28 04:14:26 2012, ACALPINI wrote: > as mentioned in the documentation, when you create a structure named > "FOO", a pointer type "LPFOO" is created automatically. you can use > "LPFOO" as the type of a member in another structure. so I think this is > a non-issue. > > cheers, > Aldo Doesn't work currently. "LPFOO2" has an empty (or undef?) typedef hash slice rather than the slice being the normal array ref. The problems seem to be related to the fact that LPFOO2 isn't in %Win32::API::Struct::Known.
version is 0.62 $VAR1 = [ "LCCxxL", [ 1, 193, 194, 2 ], [ bless( { "__typedef__" => "FOO", "dw1" => 1, "dw2" => 2, "strt1" => bless( { "__typedef__" => "FOO2", "c1" => 193, "c2" => 194, "typedef" => [ [ "c1", "C", "UCHAR" ], [ "c2", "C", "UCHAR" ] ] }, 'Win32::API::Struct' ), "typedef" => [ [ "dw1", "L", "DWORD" ], [ "strt1", ">", "FOO2" ], [ "dw2", "L", "DWORD" ] ] }, 'Win32::API::Struct' ), $VAR1->[2][0]{"strt1"}, $VAR1->[2][0]{"strt1"}, $VAR1->[2][0] ], 12 ]; $VAR1 = "\1\0\0\0\301\302\0\0\2\0\0\0"; $VAR1 = [ "LL", [ 1, 2 ], [ bless( { "__typedef__" => "FOOPTR", "dw1" => 1, "dw2" => 2, "strt1" => bless( { "__typedef__" => "LPFOO2", "c1" => 193, "c2" => 194, "typedef" => [] }, 'Win32::API::Struct' ), "typedef" => [ [ "dw1", "L", "DWORD" ], [ "strt1", ">", "LPFOO2" ], [ "dw2", "L", "DWORD" ] ] }, 'Win32::API::Struct' ), $VAR1->[2][0] ], 8 ]; $VAR1 = "\1\0\0\0\2\0\0\0";
struct.t
Description: Binary data