[rt.cpan.org #78081] ::Struct inside ::Struct is always inline, never a pointer
[email protected] ("Daniel Dragan via RT")
| Newsgroups | perl.libwin32 |
|---|---|
| Message-ID | <[email protected]> |
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: [email protected]
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.
output.txt
(text/plain, 3.5 KB)
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
(application/octet-stream, 1.2 KB) - not displayed