diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2010-09-29 02:29:02 +0200 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2010-10-01 11:03:18 +0200 |
commit | b77bcea3525df6360a3a409b3145037e269975aa (patch) | |
tree | 709ee7134bb55562ac47c9c1820fc3a0bdf8bbd6 /pidl | |
parent | 3975203a0242a01fe6d3737f8f04ec80e90cb831 (diff) | |
download | samba-b77bcea3525df6360a3a409b3145037e269975aa.tar.gz |
pidl: Fix handling of typedefs of typedefs.
Diffstat (limited to 'pidl')
-rw-r--r-- | pidl/lib/Parse/Pidl/Typelist.pm | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/pidl/lib/Parse/Pidl/Typelist.pm b/pidl/lib/Parse/Pidl/Typelist.pm index 3b3920a92e2..238ad834a4b 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; } |