Wireshark mailing list archives
switching to proto_tree_add_subtree()
From: Martin Kaiser <lists () kaiser cx>
Date: Mon, 28 Jul 2014 22:47:43 +0200
Hi all, I'm sending out some unsorted thoughts, hoping that you can help me understand the issue I'm seeing. After the switch to proto_tree_add_subtree(), I found that some output of the DVB-CI dissector was different than before. Replacing ti = proto_tree_add_text(tree, tvb, offset, tvb_data_len, "Resource ID: 0x%04x", res_id); res_tree = proto_item_add_subtree(ti, ett_dvbci_res); with res_tree = proto_tree_add_subtree_format(tree, tvb, offset, tvb_data_len, ett_dvbci_res, &ti, "Resource ID: 0x%04x", res_id); Does not give 100% identical behaviour. When tree!=NULL but not set to visible, ti will be !=NULL in the fist case and ==NULL after the change to proto_tree_add_subtree_format() I came across this in a function that does something like check if input is valid, return NULL on error create proto_item from the input create tree populate tree return proto_item The caller would then check the returned proto_item for NULL to see if the input could be processed. This started failing when proto_tree_add_subtree_format() is used. My gut feeling is that proto_tree_add_subtree_format() does the right thing and I should fix my dissector... However, I don't quite understand why for tree!=NULL but not visible, proto_tree_add_text() returns tree. I can see this in the code, we call TRY_TO_FAKE_THIS_ITEM(), which returns the tree itself when it's not visible. But what sense does this make for the caller? Best regards, Martin ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- switching to proto_tree_add_subtree() Martin Kaiser (Jul 28)
- Re: switching to proto_tree_add_subtree() darkjames-ws (Jul 28)
- Re: switching to proto_tree_add_subtree() Martin Kaiser (Jul 29)
- Re: switching to proto_tree_add_subtree() darkjames-ws (Jul 29)
- Re: switching to proto_tree_add_subtree() darkjames-ws (Jul 29)
- Re: switching to proto_tree_add_subtree() Jeff Morriss (Jul 29)
- Re: switching to proto_tree_add_subtree() Evan Huus (Jul 29)
- Re: switching to proto_tree_add_subtree() darkjames-ws (Jul 29)
- Re: switching to proto_tree_add_subtree() Jeff Morriss (Jul 30)
- Re: switching to proto_tree_add_subtree() darkjames-ws (Jul 30)
- Re: switching to proto_tree_add_subtree() Jeff Morriss (Jul 30)
- Re: switching to proto_tree_add_subtree() Martin Kaiser (Jul 29)
- Re: switching to proto_tree_add_subtree() darkjames-ws (Jul 28)