>From 2ddef852e8b46ac4fcdff91c05788069c29b7b0c Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Sun, 29 Sep 2013 02:00:17 -0700 Subject: [PATCH 04/11] pidl-wireshark: generate NDR64 enabled code for enums Signed-off-by: Matthieu Patou --- pidl/lib/Parse/Pidl/Wireshark/NDR.pm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pidl/lib/Parse/Pidl/Wireshark/NDR.pm b/pidl/lib/Parse/Pidl/Wireshark/NDR.pm index 8deaf55..f409345 100644 --- a/pidl/lib/Parse/Pidl/Wireshark/NDR.pm +++ b/pidl/lib/Parse/Pidl/Wireshark/NDR.pm @@ -166,13 +166,15 @@ sub Enum($$$$) $self->pidl_code("$dissectorname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)"); $self->pidl_code("{"); $self->indent; - $self->pidl_code("g$e->{BASE_TYPE} parameter=0;"); + my $type = $e->{BASE_TYPE}; + $type = "uint1632" if ($e->{BASE_TYPE} eq "uint16"); + $self->pidl_code("g${type} parameter=0;"); $self->pidl_code("if(param){"); $self->indent; - $self->pidl_code("parameter=(g$e->{BASE_TYPE})*param;"); + $self->pidl_code("parameter=(g${type})*param;"); $self->deindent; $self->pidl_code("}"); - $self->pidl_code("offset = dissect_ndr_$e->{BASE_TYPE}(tvb, offset, pinfo, tree, drep, hf_index, ¶meter);"); + $self->pidl_code("offset = dissect_ndr_${type}(tvb, offset, pinfo, tree, drep, hf_index, ¶meter);"); $self->pidl_code("if(param){"); $self->indent; $self->pidl_code("*param=(guint32)parameter;"); -- 1.8.1.2