summaryrefslogtreecommitdiff
path: root/pidl/lib/Parse/Pidl/Typelist.pm
diff options
context:
space:
mode:
Diffstat (limited to 'pidl/lib/Parse/Pidl/Typelist.pm')
-rw-r--r--pidl/lib/Parse/Pidl/Typelist.pm7
1 files changed, 5 insertions, 2 deletions
diff --git a/pidl/lib/Parse/Pidl/Typelist.pm b/pidl/lib/Parse/Pidl/Typelist.pm
index e63b3c990f..12ffa92bf6 100644
--- a/pidl/lib/Parse/Pidl/Typelist.pm
+++ b/pidl/lib/Parse/Pidl/Typelist.pm
@@ -273,12 +273,15 @@ sub mapTypeName($)
my $dt;
$t = expandAlias($t);
- unless ($dt or ($dt = getType($t))) {
+ if ($dt = getType($t)) {
+ return mapType($dt, $dt->{NAME});
+ } elsif (ref($t) eq "HASH" and defined($t->{NAME})) {
+ return mapType($t, $t->{NAME});
+ } else {
# Best guess
return "struct $t";
}
- return mapType($dt, $dt->{NAME});
}
sub LoadIdl($;$)