summaryrefslogtreecommitdiff
path: root/source4/build/pidl/ndr.pm
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/pidl/ndr.pm')
-rw-r--r--source4/build/pidl/ndr.pm19
1 files changed, 19 insertions, 0 deletions
diff --git a/source4/build/pidl/ndr.pm b/source4/build/pidl/ndr.pm
index f866a0ea8e..2bf673b5e3 100644
--- a/source4/build/pidl/ndr.pm
+++ b/source4/build/pidl/ndr.pm
@@ -10,6 +10,12 @@ package Ndr;
use strict;
use pidl::typelist;
+sub nonfatal($$)
+{
+ my ($e,$s) = @_;
+ warn ("$e->{FILE}:$e->{LINE}: Warning: $s\n");
+}
+
#####################################################################
# return a table describing the order in which the parts of an element
# should be parsed
@@ -172,6 +178,19 @@ sub GetElementLevelTable($)
});
}
+ if (scalar(@size_is) > 0) {
+ nonfatal($e, "size_is() on non-array element");
+ }
+
+ if (scalar(@length_is) > 0) {
+ nonfatal($e, "length_is() on non-array element");
+ }
+
+ if (util::has_property($e, "string")) {
+ nonfatal($e, "string() attribute on non-array element");
+ }
+
+
push (@$order, {
TYPE => "DATA",
DATA_TYPE => $e->{TYPE},