summaryrefslogtreecommitdiff
path: root/source4/build/pidl
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/pidl')
-rwxr-xr-xsource4/build/pidl/tests/ndr_refptr.pl17
-rw-r--r--source4/build/pidl/validator.pm1
2 files changed, 18 insertions, 0 deletions
diff --git a/source4/build/pidl/tests/ndr_refptr.pl b/source4/build/pidl/tests/ndr_refptr.pl
index 8654174bfe..e8d434756e 100755
--- a/source4/build/pidl/tests/ndr_refptr.pl
+++ b/source4/build/pidl/tests/ndr_refptr.pl
@@ -499,3 +499,20 @@ Test::test_idl("refptr-top-push-double-fstnull", \%settings,
/* Windows gives [client runtime error 0x6f4] */
');
+
+Test::test_idl("ignore-ptr", \%settings,
+'
+ [public] void echo_TestRef([in,ignore] uint16 *foo, [in] uint16 *bar);
+',
+' struct ndr_push *ndr = ndr_push_init();
+ struct echo_TestRef r;
+ uint16_t v = 10;
+ r.in.foo = &v;
+ r.in.bar = &v;
+
+ if (NT_STATUS_IS_OK(ndr_push_echo_TestRef(ndr, NDR_IN, &r)))
+ return 1;
+
+ if (ndr->offset != 4)
+ return 2;
+');
diff --git a/source4/build/pidl/validator.pm b/source4/build/pidl/validator.pm
index 6b35cc31a6..6bd31db621 100644
--- a/source4/build/pidl/validator.pm
+++ b/source4/build/pidl/validator.pm
@@ -89,6 +89,7 @@ my %property_list = (
"ref" => ["ELEMENT"],
"ptr" => ["ELEMENT"],
"unique" => ["ELEMENT"],
+ "ignore" => ["ELEMENT"],
"relative" => ["ELEMENT"],
"relative_base" => ["TYPEDEF"],