summaryrefslogtreecommitdiff
path: root/source4/build/pidl/validator.pm
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-07-05 12:09:33 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:19:16 -0500
commit4a993c5241c26bbd86f3aba830cb5a5a7a2a6ae7 (patch)
treeb59616dd0d34796d8ac23e06b3346481bda3033b /source4/build/pidl/validator.pm
parentf1031746e51268d64559b9eb3ab1affbc436af00 (diff)
downloadsamba-4a993c5241c26bbd86f3aba830cb5a5a7a2a6ae7.tar.gz
samba-4a993c5241c26bbd86f3aba830cb5a5a7a2a6ae7.tar.bz2
samba-4a993c5241c26bbd86f3aba830cb5a5a7a2a6ae7.zip
r8167: - use the same algorithm than w2k3 for 'unique' pointer values
- add a new 'sptr' (simple-full) pointer type to simulate what we need to support pipes like epmapper and mgmt that uses 'ptr' full pointer in their spec - I runned make test and test_w2k3.sh with this, all fine does we have any other pipe using 'unique' pointer where we need 'ptr'? btw: jelmer, what does 'ignore' pointers do? they are allowed in pidl but not implemented! metze (This used to be commit d19068bfb2e3ff5d88bc3b76d5cef93417c7f218)
Diffstat (limited to 'source4/build/pidl/validator.pm')
-rw-r--r--source4/build/pidl/validator.pm10
1 files changed, 6 insertions, 4 deletions
diff --git a/source4/build/pidl/validator.pm b/source4/build/pidl/validator.pm
index fbf7993b20..fe4dc03c4d 100644
--- a/source4/build/pidl/validator.pm
+++ b/source4/build/pidl/validator.pm
@@ -83,8 +83,9 @@ my %property_list = (
# pointer
"ref" => ["ELEMENT"],
"ptr" => ["ELEMENT"],
+ "sptr" => ["ELEMENT"],
"unique" => ["ELEMENT"],
- "ignore" => ["ELEMENT"],
+ "ignore" => ["ELEMENT"],
"relative" => ["ELEMENT"],
"relative_base" => ["TYPEDEF"],
@@ -125,9 +126,9 @@ my %property_list = (
# array
"range" => ["ELEMENT"],
"size_is" => ["ELEMENT"],
- "string" => ["ELEMENT"],
- "noheader" => ["ELEMENT"],
- "charset" => ["ELEMENT"],
+ "string" => ["ELEMENT"],
+ "noheader" => ["ELEMENT"],
+ "charset" => ["ELEMENT"],
"length_is" => ["ELEMENT"],
);
@@ -222,6 +223,7 @@ sub ValidElement($)
if (!$e->{POINTERS} && (
util::has_property($e, "ptr") or
+ util::has_property($e, "sptr") or
util::has_property($e, "unique") or
util::has_property($e, "relative") or
util::has_property($e, "ref"))) {