diff options
author | Stefan Metzmacher <metze@samba.org> | 2009-11-20 12:11:41 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2009-11-20 13:48:36 +0100 |
commit | 05850d1894d83897f7699660839c1be28e28406c (patch) | |
tree | 5e38ca532776277a631441c677f9478077c3ce37 /pidl/lib/Parse/Pidl | |
parent | 4b6c03a108c45793232697d0558a98268028646e (diff) | |
download | samba-05850d1894d83897f7699660839c1be28e28406c.tar.gz samba-05850d1894d83897f7699660839c1be28e28406c.tar.bz2 samba-05850d1894d83897f7699660839c1be28e28406c.zip |
pidl:NDR/Parser.pm: update ndr_pull->relative_highest_offset after handling relative pointers
metze
Diffstat (limited to 'pidl/lib/Parse/Pidl')
-rw-r--r-- | pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm index 11a43b4509..d598989fad 100644 --- a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm +++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm @@ -1053,7 +1053,12 @@ sub ParseElementPullLevel $self->ParseMemCtxPullEnd($e, $l, $ndr); if ($l->{POINTER_TYPE} ne "ref") { - if ($l->{POINTER_TYPE} eq "relative") { + if ($l->{POINTER_TYPE} eq "relative") { + $self->pidl("if ($ndr->offset > $ndr->relative_highest_offset) {"); + $self->indent; + $self->pidl("$ndr->relative_highest_offset = $ndr->offset;"); + $self->deindent; + $self->pidl("}"); $self->pidl("$ndr->offset = _relative_save_offset;"); } $self->deindent; |