diff options
author | Günther Deschner <gd@samba.org> | 2009-12-14 14:09:22 +0100 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2010-02-19 14:32:29 +0100 |
commit | e410f720afd4bf0f0c40b3876eff4c90ec85b3af (patch) | |
tree | 09b8a59212d63b795deb3b34ce19e5a4f5d15a1d | |
parent | cfc8489b3eef6926daca5e190aa6c32048b01054 (diff) | |
download | samba-e410f720afd4bf0f0c40b3876eff4c90ec85b3af.tar.gz |
pidl: use ndr_push_relative_ptr2_start and ndr_push_relative_ptr2_end.
Guenther
(cherry picked from commit a049d75193b284fe9efb28d303ea46ba407e5a7a)
(cherry picked from commit b9db7b7e824a2dcbb9f501fa441392d151afc3a3)
-rw-r--r-- | pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm index 820aee6c477..da536beef47 100644 --- a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm +++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm @@ -567,17 +567,21 @@ sub ParseElementPushLevel } if ($l->{TYPE} eq "POINTER" and $deferred) { + my $rel_var_name = $var_name; if ($l->{POINTER_TYPE} ne "ref") { $self->pidl("if ($var_name) {"); $self->indent; if ($l->{POINTER_TYPE} eq "relative") { - $self->pidl("NDR_CHECK(ndr_push_relative_ptr2($ndr, $var_name));"); + $self->pidl("NDR_CHECK(ndr_push_relative_ptr2_start($ndr, $rel_var_name));"); } } $var_name = get_value_of($var_name); $self->ParseElementPushLevel($e, GetNextLevel($e, $l), $ndr, $var_name, $env, 1, 1); if ($l->{POINTER_TYPE} ne "ref") { + if ($l->{POINTER_TYPE} eq "relative") { + $self->pidl("NDR_CHECK(ndr_push_relative_ptr2_end($ndr, $rel_var_name));"); + } $self->deindent; $self->pidl("}"); } |