diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2005-10-05 22:18:59 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:39:26 -0500 |
commit | be9af1a4e8d474a544840f657b1be0c302986417 (patch) | |
tree | 305d1d2122fc3ad67130b1041245a4c7bd3df034 /source4/pidl/lib/Parse/Pidl/NDR.pm | |
parent | 765f69ce42068cc2a41e010d08922a496da96054 (diff) | |
download | samba-be9af1a4e8d474a544840f657b1be0c302986417.tar.gz samba-be9af1a4e8d474a544840f657b1be0c302986417.tar.bz2 samba-be9af1a4e8d474a544840f657b1be0c302986417.zip |
r10742: Support multi-level pointers + ref pointer fixes
(This used to be commit 258b762dc62b257f99d1d859c5a3d850aba3e9fa)
Diffstat (limited to 'source4/pidl/lib/Parse/Pidl/NDR.pm')
-rw-r--r-- | source4/pidl/lib/Parse/Pidl/NDR.pm | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/NDR.pm b/source4/pidl/lib/Parse/Pidl/NDR.pm index 6bb92a3b50..64190e87b8 100644 --- a/source4/pidl/lib/Parse/Pidl/NDR.pm +++ b/source4/pidl/lib/Parse/Pidl/NDR.pm @@ -80,6 +80,7 @@ sub GetElementLevelTable($) my @bracket_array = (); my @length_is = (); my @size_is = (); + my $pointer_idx = 0; if (has_property($e, "size_is")) { @size_is = split /,/, has_property($e, "size_is"); @@ -153,9 +154,12 @@ sub GetElementLevelTable($) TYPE => "POINTER", # for now, there can only be one pointer type per element POINTER_TYPE => pointer_type($e), + POINTER_INDEX => $pointer_idx, IS_DEFERRED => "$is_deferred", LEVEL => $level }); + + $pointer_idx++; # everything that follows will be deferred $is_deferred = 1 if ($e->{PARENT}->{TYPE} ne "FUNCTION"); |