summaryrefslogtreecommitdiff
path: root/source4/build/pidl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-02-17 11:20:28 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:10:45 -0500
commita2a7869d060dfeaeac3b104add98bce196e3c577 (patch)
tree8eaf0449a34cb8455ee655d2412d4d8e18fd8a55 /source4/build/pidl
parent308c7d26c1f9f91ff6667430a8a1a7b4cf4a3a7e (diff)
downloadsamba-a2a7869d060dfeaeac3b104add98bce196e3c577.tar.gz
samba-a2a7869d060dfeaeac3b104add98bce196e3c577.tar.bz2
samba-a2a7869d060dfeaeac3b104add98bce196e3c577.zip
r5426: Warn about embedded ref pointers.
(This used to be commit 40547ed33fea57ee8f68a8f864f8f10c9a6d24dc)
Diffstat (limited to 'source4/build/pidl')
-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);
}
}