summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2010-09-29 02:29:02 +0200
committerJelmer Vernooij <jelmer@samba.org>2010-10-01 11:03:18 +0200
commitb77bcea3525df6360a3a409b3145037e269975aa (patch)
tree709ee7134bb55562ac47c9c1820fc3a0bdf8bbd6
parent3975203a0242a01fe6d3737f8f04ec80e90cb831 (diff)
downloadsamba-b77bcea3525df6360a3a409b3145037e269975aa.tar.gz
samba-b77bcea3525df6360a3a409b3145037e269975aa.tar.bz2
samba-b77bcea3525df6360a3a409b3145037e269975aa.zip
pidl: Fix handling of typedefs of typedefs.
-rw-r--r--pidl/lib/Parse/Pidl/Typelist.pm7
1 files changed, 4 insertions, 3 deletions
diff --git a/pidl/lib/Parse/Pidl/Typelist.pm b/pidl/lib/Parse/Pidl/Typelist.pm
index 3b3920a92e..238ad834a4 100644
--- a/pidl/lib/Parse/Pidl/Typelist.pm
+++ b/pidl/lib/Parse/Pidl/Typelist.pm
@@ -128,14 +128,15 @@ sub getType($)
sub typeIs($$)
{
my ($t,$tt) = @_;
-
+
if (ref($t) eq "HASH") {
return 1 if ($t->{TYPE} eq "TYPEDEF" and $t->{DATA}->{TYPE} eq $tt);
return 1 if ($t->{TYPE} eq $tt);
return 0;
}
- return 1 if (hasType($t) and getType($t)->{TYPE} eq "TYPEDEF" and
- getType($t)->{DATA}->{TYPE} eq $tt);
+ if (hasType($t) and getType($t)->{TYPE} eq "TYPEDEF") {
+ return typeIs(getType($t)->{DATA}, $tt);
+ }
return 0;
}