diff options
Diffstat (limited to 'source4/build/pidl/ndr.pm')
-rw-r--r-- | source4/build/pidl/ndr.pm | 19 |
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}, |