From 5ff63e2dcffe0c1db3e0111f4eb710e2bff4f9c8 Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Tue, 2 Aug 2011 11:56:32 +0400 Subject: pidl: generate code for dissecting null terminated strings --- pidl/lib/Parse/Pidl/Wireshark/NDR.pm | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'pidl/lib/Parse/Pidl/Wireshark') diff --git a/pidl/lib/Parse/Pidl/Wireshark/NDR.pm b/pidl/lib/Parse/Pidl/Wireshark/NDR.pm index 83fc3cd3bf..7586eb3a62 100644 --- a/pidl/lib/Parse/Pidl/Wireshark/NDR.pm +++ b/pidl/lib/Parse/Pidl/Wireshark/NDR.pm @@ -323,6 +323,12 @@ sub ElementLevel($$$$$$$) $self->pidl_code("proto_item_append_text(tree, \": %s\", data);"); } elsif (property_matches($e, "flag", ".*LIBNDR_FLAG_STR_SIZE4.*")) { $self->pidl_code("offset = dissect_ndr_vstring(tvb, offset, pinfo, tree, drep, $bs, $hf, FALSE, NULL);"); + } elsif (property_matches($e, "flag", ".*STR_NULLTERM.*")) { + if ($bs == 2) { + $self->pidl_code("offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, $hf , 0);") + } else { + $self->pidl_code("offset = dissect_null_term_string(tvb, offset, pinfo, tree, drep, $hf , 0);") + } } else { warn("Unable to handle string with flags $e->{PROPERTIES}->{flag}"); } -- cgit