diff options
Diffstat (limited to 'source4/build/pidl/util.pm')
-rw-r--r-- | source4/build/pidl/util.pm | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/source4/build/pidl/util.pm b/source4/build/pidl/util.pm index a662ed005e..f216f75572 100644 --- a/source4/build/pidl/util.pm +++ b/source4/build/pidl/util.pm @@ -246,4 +246,23 @@ sub make_str($) return "\"" . $str . "\""; } +################################### +# find a sibling var in a structure +sub find_sibling($$) +{ + my($e) = shift; + my($name) = shift; + my($fn) = $e->{PARENT}; + + if ($name =~ /\*(.*)/) { + $name = $1; + } + + for my $e2 (@{$fn->{ELEMENTS}}) { + return $e2 if ($e2->{NAME} eq $name); + } + + die "invalid sibling '$name'"; +} + 1; |