Use ENC_ values for proto_tree_add_item() calls.
authorGuy Harris <guy@alum.mit.edu>
Tue, 15 May 2012 07:49:53 +0000 (09:49 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Tue, 15 May 2012 10:07:06 +0000 (12:07 +0200)
It appears that the integral value containing the bits in a bitmap should be
dissected according to the data representation, as the individual fields are
fetched by dissect_ndr_XXX, which is passed the data representation and
extracts the value appropriately for the data representation, so the patch
replaces TRUE (which meant "always little-endian" when the last argument to
proto_tree_add_item() was a byte-order Boolean) with DREP_ENC_INTEGER(drep)
(which means "ENC_BIG_ENDIAN or ENC_LITTLE_ENDIAN, depending on the data
representation").

For structures, I'm just using ENC_NA.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=8942
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue May 15 12:07:06 CEST 2012 on sn-devel-104

pidl/lib/Parse/Pidl/Wireshark/NDR.pm

index 46c9850b562091b99d30e0ceccdc422f3d106a14..1aa44c3458d12fbe83ed4e92f0dd8b976304f1e6 100644 (file)
@@ -215,7 +215,7 @@ sub Bitmap($$$$)
 
        $self->pidl_code("if (parent_tree) {");
        $self->indent;
-       $self->pidl_code("item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, $e->{ALIGN}, TRUE);");
+       $self->pidl_code("item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, $e->{ALIGN}, DREP_ENC_INTEGER(drep));");
        $self->pidl_code("tree = proto_item_add_subtree(item,ett_$ifname\_$name);");
        $self->deindent;
        $self->pidl_code("}\n");
@@ -648,7 +648,7 @@ sub Struct($$$$)
        $self->pidl_code("");
        $self->pidl_code("if (parent_tree) {");
        $self->indent;
-       $self->pidl_code("item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);");
+       $self->pidl_code("item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);");
        $self->pidl_code("tree = proto_item_add_subtree(item, ett_$ifname\_$name);");
        $self->deindent;
        $self->pidl_code("}");