summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/build/pidl/ndr.pm1
-rw-r--r--source4/build/pidl/validator.pm10
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);
}
}