summaryrefslogtreecommitdiff
path: root/source4/pidl/lib/Parse/Pidl
diff options
context:
space:
mode:
Diffstat (limited to 'source4/pidl/lib/Parse/Pidl')
-rw-r--r--source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm6
1 files changed, 3 insertions, 3 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
index 1a84ee4f0b..c9b48b017c 100644
--- a/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+++ b/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
@@ -1095,8 +1095,8 @@ sub ParseElementPullLevel
$self->indent;
if ($l->{POINTER_TYPE} eq "relative") {
- $self->pidl("struct ndr_pull_save _relative_save;");
- $self->pidl("ndr_pull_save(ndr, &_relative_save);");
+ $self->pidl("uint32_t _relative_save_offset;");
+ $self->pidl("_relative_save_offset = ndr->offset;");
$self->pidl("NDR_CHECK(ndr_pull_relative_ptr2(ndr, $var_name));");
}
}
@@ -1110,7 +1110,7 @@ sub ParseElementPullLevel
if ($l->{POINTER_TYPE} ne "ref") {
if ($l->{POINTER_TYPE} eq "relative") {
- $self->pidl("ndr_pull_restore(ndr, &_relative_save);");
+ $self->pidl("ndr->offset = _relative_save_offset;");
}
$self->deindent;
$self->pidl("}");