diff options
-rw-r--r-- | source4/build/pidl/ndr.pm | 1 | ||||
-rw-r--r-- | source4/build/pidl/validator.pm | 10 |
2 files changed, 10 insertions, 1 deletions
diff --git a/source4/build/pidl/ndr.pm b/source4/build/pidl/ndr.pm index 2025effb40..90bbc9c9a9 100644 --- a/source4/build/pidl/ndr.pm +++ b/source4/build/pidl/ndr.pm @@ -84,6 +84,7 @@ sub pointer_type($) return "ptr" if (util::has_property($e, "ptr")); return "unique" if (util::has_property($e, "unique")); return "relative" if (util::has_property($e, "relative")); + return "ignore" if (util::has_property($e, "ignore")); return undef; } diff --git a/source4/build/pidl/validator.pm b/source4/build/pidl/validator.pm index 73e05ed433..c61c89392b 100644 --- a/source4/build/pidl/validator.pm +++ b/source4/build/pidl/validator.pm @@ -68,12 +68,15 @@ sub ValidStruct($) my($struct) = shift; foreach my $e (@{$struct->{ELEMENTS}}) { + if (util::has_property($e, "ref")) { + fatal(el_name($e) . " : embedded ref pointers are not supported yet\n"); + } + $e->{PARENT} = $struct; ValidElement($e); } } - ##################################################################### # parse a union sub ValidUnion($) @@ -92,6 +95,11 @@ sub ValidUnion($) fatal "Union member $e->{NAME} must have default or case property\n"; } + if (util::has_property($e, "ref")) { + fatal(el_name($e) . " : embedded ref pointers are not supported yet\n"); + } + + ValidElement($e); } } |