From: Stefan Metzmacher Date: Fri, 20 Nov 2009 11:11:41 +0000 (+0100) Subject: pidl:NDR/Parser.pm: update ndr_pull->relative_highest_offset after handling relative... X-Git-Tag: samba-4.0.0alpha9~303 X-Git-Url: http://git.samba.org/samba.git/?p=ira%2Fwip.git;a=commitdiff_plain;h=05850d1894d83897f7699660839c1be28e28406c;hp=4b6c03a108c45793232697d0558a98268028646e pidl:NDR/Parser.pm: update ndr_pull->relative_highest_offset after handling relative pointers metze --- diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm index 11a43b4509d..d598989fad2 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;