diff options
author | David Disseldorp <ddiss@suse.de> | 2011-11-13 20:39:58 +0100 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2012-01-23 21:29:51 +0100 |
commit | de9aa675395493e592841ef4a94585f852bc2bff (patch) | |
tree | a9920309876b83902c84898c866f3b0cbc65f845 | |
parent | 531a182b552fa74d4a07250227897390ac0e3403 (diff) | |
download | samba-de9aa675395493e592841ef4a94585f852bc2bff.tar.gz |
idl: add parser for the to_null property
Compile into a ndr_pull_charset_to_null call.
Signed-off-by: Jeremy Allison <jra@samba.org>
(cherry picked from commit ec05a11c362f0aa4875c8dd3cfb853d0fae84c4c)
-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 7cda2729fce..2078f583ba7 100644 --- a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm +++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm @@ -1033,7 +1033,11 @@ sub ParseElementPullLevel if ($l->{IS_ZERO_TERMINATED}) { $self->CheckStringTerminator($ndr, $e, $l, $length); } - $self->pidl("NDR_CHECK(ndr_pull_charset($ndr, $ndr_flags, ".get_pointer_to($var_name).", $length, sizeof(" . mapTypeName($nl->{DATA_TYPE}) . "), CH_$e->{PROPERTIES}->{charset}));"); + if ($l->{IS_TO_NULL}) { + $self->pidl("NDR_CHECK(ndr_pull_charset_to_null($ndr, $ndr_flags, ".get_pointer_to($var_name).", $length, sizeof(" . mapTypeName($nl->{DATA_TYPE}) . "), CH_$e->{PROPERTIES}->{charset}));"); + } else { + $self->pidl("NDR_CHECK(ndr_pull_charset($ndr, $ndr_flags, ".get_pointer_to($var_name).", $length, sizeof(" . mapTypeName($nl->{DATA_TYPE}) . "), CH_$e->{PROPERTIES}->{charset}));"); + } return; } elsif (has_fast_array($e, $l)) { if ($l->{IS_ZERO_TERMINATED}) { |