r4110: fixed pidl to allow arrays to have size_is() and length_is() elements
authorAndrew Tridgell <tridge@samba.org>
Thu, 9 Dec 2004 07:05:00 +0000 (07:05 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:06:27 +0000 (13:06 -0500)
commite839b19ec5581f669f2a7705b1fb80845313251c
tree93f646445e1e2fc3f2cff98d04a62830bdd4075a
parent30c58b046d65164da37f705de105662f806e1331
r4110: fixed pidl to allow arrays to have size_is() and length_is() elements
that depend on variables that come after the array in the structure or function.

This has been something that has been problematic for a while, but the
winreg QueryValue problem finally prompted me to fix it properly. We
should now go back and fix up all the ugly workarounds we have used to
avoid this problem in other calls.

Unfortunately the solution is fairly complex, and involves the use of
the internal ndr token lists (similar to the solution for relative
pointers). I wonder if anyone else will be able to follow the logic if
I get run over by a bus :-)
source/build/pidl/parser.pm
source/librpc/ndr/libndr.h
source/librpc/ndr/ndr.c