convert to proto_tree_add_subtree[_format]

Change-Id: I3efa2a81ab2685cde6eae0a00b24520478a545ce
Reviewed-on: https://code.wireshark.org/review/2900
Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
Michael Mann 2014-07-06 14:21:40 -04:00
parent be4d42c6ab
commit c71e88e4a9
18 changed files with 362 additions and 598 deletions

File diff suppressed because it is too large Load Diff

View File

@ -909,17 +909,15 @@ dissect_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *v5ua_
/* create proto_tree stuff */
switch(iua_version){
case RFC:
parameter_item = proto_tree_add_text(v5ua_tree, parameter_tvb, PARAMETER_HEADER_OFFSET, tvb_length(parameter_tvb), "%s",
parameter_tree = proto_tree_add_subtree(v5ua_tree, parameter_tvb, PARAMETER_HEADER_OFFSET, -1, ett_v5ua_parameter, &parameter_item,
val_to_str_const(tag, parameter_tag_values, "Unknown parameter"));
parameter_tree = proto_item_add_subtree(parameter_item, ett_v5ua_parameter);
/* add tag to the v5ua tree */
proto_tree_add_item(parameter_tree, hf_parameter_tag, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, ENC_BIG_ENDIAN);
break;
case DRAFT:
default:
parameter_item = proto_tree_add_text(v5ua_tree, parameter_tvb, PARAMETER_HEADER_OFFSET, tvb_length(parameter_tvb), "%s",
parameter_tree = proto_tree_add_subtree(v5ua_tree, parameter_tvb, PARAMETER_HEADER_OFFSET, -1, ett_v5ua_parameter, &parameter_item,
val_to_str_const(tag, parameter_tag_draft_values, "Unknown parameter"));
parameter_tree = proto_item_add_subtree(parameter_item, ett_v5ua_parameter);
/* add tag to the v5ua tree */
proto_tree_add_item(parameter_tree, hf_parameter_tag_draft, parameter_tvb, PARAMETER_TAG_OFFSET, PARAMETER_TAG_LENGTH, ENC_BIG_ENDIAN);
@ -1318,8 +1316,8 @@ dissect_common_header(tvbuff_t *common_header_tvb, packet_info *pinfo, proto_tre
if (v5ua_tree) {
/* create proto_tree stuff */
common_header_item = proto_tree_add_text(v5ua_tree, common_header_tvb, COMMON_HEADER_OFFSET, tvb_length(common_header_tvb),"Common Msg-Header");
common_header_tree = proto_item_add_subtree(common_header_item, ett_v5ua_common_header);
common_header_tree = proto_tree_add_subtree(v5ua_tree, common_header_tvb, COMMON_HEADER_OFFSET, -1,
ett_v5ua_common_header, &common_header_item, "Common Msg-Header");
/* add the components of the common header to the protocol tree */
proto_tree_add_item(common_header_tree, hf_version, common_header_tvb, COMMON_HEADER_VERSION_OFFSET, COMMON_HEADER_VERSION_LENGTH, ENC_BIG_ENDIAN);

View File

@ -257,11 +257,10 @@ dissect_vcdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
int ccsds_tree_added = 0;
int ccsds_len = 0;
proto_item *smex_header = NULL;
proto_tree *smex_tree = NULL;
proto_item *smex_header;
proto_tree *smex_tree;
proto_item *vcdu_header = NULL;
proto_tree *vcdu_tree = NULL;
proto_tree *vcdu_tree;
guint16 first_word = 0;
guint32 long_word = 0;
@ -277,8 +276,7 @@ dissect_vcdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
/* build the smex header tree */
smex_header = proto_tree_add_text(tree, tvb, offset, SMEX_HEADER_LENGTH, "SMEX Header");
smex_tree = proto_item_add_subtree(smex_header, ett_smex);
smex_tree = proto_tree_add_subtree(tree, tvb, offset, SMEX_HEADER_LENGTH, ett_smex, &smex_header, "SMEX Header");
proto_tree_add_item(smex_tree, hf_smex_gsc, tvb, offset, 8, ENC_BIG_ENDIAN);
offset += 8;
@ -330,8 +328,7 @@ dissect_vcdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* build the vcdu header tree */
vcdu_header = proto_tree_add_text(tree, tvb, offset, VCDU_HEADER_LENGTH, "VCDU Header");
vcdu_tree = proto_item_add_subtree(vcdu_header, ett_vcdu);
vcdu_tree = proto_tree_add_subtree(tree, tvb, offset, VCDU_HEADER_LENGTH, ett_vcdu, NULL, "VCDU Header");
/* extract the virtual channel for use later on */
first_word = tvb_get_ntohs(tvb, offset);

View File

@ -2020,11 +2020,9 @@ vnc_server_framebuffer_update(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
}
VNC_BYTES_NEEDED(12);
ti = proto_tree_add_text(tree, tvb, *offset, 12,
"Rectangle #%d", ii+1);
vnc_rect_tree = proto_tree_add_subtree_format(tree, tvb, *offset, 12,
ett_vnc_rect, NULL, "Rectangle #%d", ii+1);
vnc_rect_tree =
proto_item_add_subtree(ti, ett_vnc_rect);
ti_x = proto_tree_add_item(vnc_rect_tree, hf_vnc_fb_update_x_pos,
tvb, *offset, 2, ENC_BIG_ENDIAN);
@ -2190,7 +2188,6 @@ vnc_extended_desktop_size(tvbuff_t *tvb, gint *offset, proto_tree *tree)
{
guint8 i, num_of_screens;
proto_item *ti;
proto_tree *screen_tree;
num_of_screens = tvb_get_guint8(tvb, *offset);
@ -2201,8 +2198,7 @@ vnc_extended_desktop_size(tvbuff_t *tvb, gint *offset, proto_tree *tree)
VNC_BYTES_NEEDED((guint32)(3 + (num_of_screens * 16)));
*offset += 3;
for(i = 0; i < num_of_screens; i++) {
ti = proto_tree_add_text(tree, tvb, *offset, 16, "Screen #%u", i+1);
screen_tree = proto_item_add_subtree(ti, ett_vnc_desktop_screen);
screen_tree = proto_tree_add_subtree_format(tree, tvb, *offset, 16, ett_vnc_desktop_screen, NULL, "Screen #%u", i+1);
proto_tree_add_item(screen_tree, hf_vnc_desktop_screen_id, tvb, *offset, 4, ENC_BIG_ENDIAN);
*offset += 4;
@ -2290,10 +2286,8 @@ vnc_rre_encoding(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
VNC_BYTES_NEEDED(bytes_needed * num_subrects);
for(i = 0; i < num_subrects; i++) {
ti = proto_tree_add_text(tree, tvb, *offset, bytes_per_pixel +
8, "Subrectangle #%d", i+1);
subrect_tree =
proto_item_add_subtree(ti, ett_vnc_rre_subrect);
subrect_tree = proto_tree_add_subtree_format(tree, tvb, *offset, bytes_per_pixel +
8, ett_vnc_rre_subrect, NULL, "Subrectangle #%d", i+1);
proto_tree_add_item(subrect_tree, hf_vnc_rre_subrect_pixel,
tvb, *offset, bytes_per_pixel, ENC_NA);
@ -2328,7 +2322,7 @@ vnc_hextile_encoding(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
guint8 i, subencoding_mask, num_subrects, subrect_len, tile_height, tile_width;
guint32 raw_length;
proto_tree *tile_tree, *subencoding_mask_tree, *subrect_tree, *num_subrects_tree;
proto_item *ti, *tile_item;
proto_item *ti;
guint16 current_height = 0, current_width;
while(current_height != height) {
@ -2349,8 +2343,8 @@ vnc_hextile_encoding(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
VNC_BYTES_NEEDED(1);
subencoding_mask = tvb_get_guint8(tvb, *offset);
tile_item = proto_tree_add_text(tree, tvb, *offset, 1, "Tile {%d:%d}, sub encoding mask %u", current_width, current_height, subencoding_mask);
tile_tree = proto_item_add_subtree(tile_item, ett_vnc_hextile_tile);
tile_tree = proto_tree_add_subtree_format(tree, tvb, *offset, 1, ett_vnc_hextile_tile, NULL,
"Tile {%d:%d}, sub encoding mask %u", current_width, current_height, subencoding_mask);
ti = proto_tree_add_item(tile_tree, hf_vnc_hextile_subencoding_mask, tvb,
*offset, 1, ENC_BIG_ENDIAN);
@ -2418,11 +2412,9 @@ vnc_hextile_encoding(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
proto_item_add_subtree(ti, ett_vnc_hextile_num_subrects);
for(i = 0; i < num_subrects; i++) {
ti = proto_tree_add_text(num_subrects_tree, tvb,
*offset, subrect_len,
subrect_tree = proto_tree_add_subtree_format(num_subrects_tree, tvb,
*offset, subrect_len, ett_vnc_hextile_subrect, NULL,
"Subrectangle #%d", i+1);
subrect_tree =
proto_item_add_subtree(ti, ett_vnc_hextile_subrect);
if(subencoding_mask & 0x10) {
/* Subrects Colored */
@ -2513,7 +2505,6 @@ vnc_mirrorlink(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
guint16 length;
guint16 num, i;
gint end;
proto_item *ti;
proto_tree *sub_tree;
/* Header */
@ -2651,9 +2642,8 @@ vnc_mirrorlink(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
tvb, *offset, 2, ENC_BIG_ENDIAN);
*offset += 2;
VNC_BYTES_NEEDED((guint)(4 * num));
ti = proto_tree_add_text(tree, tvb, *offset, 4 * num,
"Key Event List");
sub_tree = proto_item_add_subtree(ti, ett_vnc_key_events);
sub_tree = proto_tree_add_subtree(tree, tvb, *offset, 4 * num,
ett_vnc_key_events, NULL, "Key Event List");
for (; num > 0; num--) {
proto_tree_add_item(sub_tree,
hf_vnc_mirrorlink_key_symbol_value,
@ -2759,10 +2749,8 @@ vnc_mirrorlink(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
VNC_BYTES_NEEDED((guint)(6 * num));
/*sub_tree = proto_item_add_subtree(tree, ett_vnc_touch_events);*/
for (i = 0; i < num; i++) {
ti = proto_tree_add_text(tree, tvb, *offset, 6,
"Touch Event #%d", i + 1);
sub_tree = proto_item_add_subtree(ti,
ett_vnc_touch_events);
sub_tree = proto_tree_add_subtree_format(tree, tvb, *offset, 6,
ett_vnc_touch_events, NULL, "Touch Event #%d", i + 1);
proto_tree_add_item(sub_tree, hf_vnc_mirrorlink_touch_x,
tvb, *offset, 2, ENC_BIG_ENDIAN);
@ -2892,7 +2880,6 @@ vnc_slrle_encoding(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
guint8 bytes_per_run;
guint16 num_runs, i;
guint length;
proto_item *ti;
proto_tree *sub_tree;
if (depth_mod <= 4)
@ -2906,9 +2893,8 @@ vnc_slrle_encoding(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
length = num_runs * bytes_per_run;
ti = proto_tree_add_text(tree, tvb, *offset, 2 + length,
"Scanline #%d", i+1);
sub_tree = proto_item_add_subtree(ti, ett_vnc_slrle_subline);
sub_tree = proto_tree_add_subtree_format(tree, tvb, *offset, 2 + length,
ett_vnc_slrle_subline, NULL, "Scanline #%d", i+1);
proto_tree_add_item(sub_tree, hf_vnc_slrle_run_num,
tvb, *offset, 2, ENC_BIG_ENDIAN);
@ -3373,14 +3359,10 @@ vnc_server_set_colormap_entries(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
proto_item_add_subtree(ti, ett_vnc_colormap_num_groups);
for(counter = 0; counter < number_of_colors; counter++) {
ti = proto_tree_add_text(vnc_colormap_num_groups, tvb,
*offset, 6,
vnc_colormap_color_group = proto_tree_add_subtree_format(vnc_colormap_num_groups, tvb,
*offset, 6, ett_vnc_colormap_color_group, NULL,
"Color group #%d", counter+1);
vnc_colormap_color_group =
proto_item_add_subtree(ti,
ett_vnc_colormap_color_group);
proto_tree_add_item(vnc_colormap_color_group,
hf_vnc_colormap_red, tvb,
*offset, 2, ENC_BIG_ENDIAN);

View File

@ -218,8 +218,7 @@ The first octets after the RTP header are the VP8 payload descriptor,
+-+-+-+-+-+-+-+-+
*/
item_descriptor = proto_tree_add_text(vp8_tree, tvb, *offset, -1, "Payload descriptor");
vp8_payload_descriptor_tree = proto_item_add_subtree(item_descriptor, ett_vp8_payload_descriptor);
vp8_payload_descriptor_tree = proto_tree_add_subtree(vp8_tree, tvb, *offset, -1, ett_vp8_payload_descriptor, &item_descriptor, "Payload descriptor");
proto_tree_add_item(vp8_payload_descriptor_tree, hf_vp8_pld_x_bit, tvb, *offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(vp8_payload_descriptor_tree, hf_vp8_pld_r_bit, tvb, *offset, 1, ENC_BIG_ENDIAN);
@ -320,8 +319,7 @@ The first three octets of an encoded VP8 frame are referred to as an
*/
item_header = proto_tree_add_text(vp8_tree, tvb, *offset, 3, "Payload header");
vp8_payload_header_tree = proto_item_add_subtree(item_header, ett_vp8_payload_header);
vp8_payload_header_tree = proto_tree_add_subtree(vp8_tree, tvb, *offset, 3, ett_vp8_payload_header, &item_header, "Payload header");
proto_tree_add_item(vp8_payload_header_tree, hf_vp8_hdr_frametype, tvb, *offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(vp8_payload_header_tree, hf_vp8_hdr_version, tvb, *offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(vp8_payload_header_tree, hf_vp8_hdr_show_bit, tvb, *offset, 1, ENC_BIG_ENDIAN);
@ -342,22 +340,18 @@ The first three octets of an encoded VP8 frame are referred to as an
static void
dissect_vp8_payload(tvbuff_t *tvb, packet_info *pinfo, proto_tree *vp8_tree, gint *offset, gint *frametype, gint *partition1_size)
{
proto_item *item_payload;
proto_tree *vp8_payload_tree;
gint remainder;
item_payload = proto_tree_add_text(vp8_tree, tvb, *offset, -1, "Payload");
vp8_payload_tree = proto_item_add_subtree(item_payload, ett_vp8_payload);
vp8_payload_tree = proto_tree_add_subtree(vp8_tree, tvb, *offset, -1, ett_vp8_payload, NULL, "Payload");
if (*frametype==0)
{
guint16 width, height;
gint start1, start2, start3, horizontal_scale, vertical_scale;
proto_tree *vp8_keyframe_tree;
proto_item *item_keyframe;
item_keyframe = proto_tree_add_text(vp8_payload_tree, tvb, *offset, -1, "Keyframe header");
vp8_keyframe_tree = proto_item_add_subtree(item_keyframe, ett_vp8_keyframe);
vp8_keyframe_tree = proto_tree_add_subtree(vp8_payload_tree, tvb, *offset, -1, ett_vp8_keyframe, NULL, "Keyframe header");
proto_tree_add_item(vp8_keyframe_tree, hf_vp8_keyframe_start_code, tvb, *offset, 3, ENC_BIG_ENDIAN);
start1 = tvb_get_guint8(tvb, *offset);

View File

@ -240,9 +240,8 @@ dissect_vtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2, ENC_BIG_ENDIAN);
offset += 2;
ti = proto_tree_add_text (vtp_tree, tvb, offset, -1,
"Advertised active (i.e. not pruned) VLANs");
vtp_pruning_tree = proto_item_add_subtree(ti, ett_vtp_pruning);
vtp_pruning_tree = proto_tree_add_subtree(vtp_tree, tvb, offset, -1,
ett_vtp_pruning, NULL, "Advertised active (i.e. not pruned) VLANs");
while (tvb_reported_length_remaining(tvb, offset) > 0) {
guint8 vlan_usage_bitmap;
@ -318,9 +317,8 @@ dissect_vlan_info(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tre
proto_tree *tlv_tree;
vlan_info_len = tvb_get_guint8(tvb, offset);
ti = proto_tree_add_text(tree, tvb, offset, vlan_info_len,
"VLAN Information");
vlan_info_tree = proto_item_add_subtree(ti, ett_vtp_vlan_info);
vlan_info_tree = proto_tree_add_subtree(tree, tvb, offset, vlan_info_len,
ett_vtp_vlan_info, NULL, "VLAN Information");
vlan_info_left = vlan_info_len;
proto_tree_add_uint(vlan_info_tree, hf_vtp_vlan_info_len, tvb, offset, 1,
@ -369,11 +367,10 @@ dissect_vlan_info(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tre
type = tvb_get_guint8(tvb, offset + 0);
length = tvb_get_guint8(tvb, offset + 1);
ti = proto_tree_add_text(vlan_info_tree, tvb, offset,
2 + length*2, "%s",
tlv_tree = proto_tree_add_subtree(vlan_info_tree, tvb, offset,
2 + length*2, ett_vtp_tlv, &ti,
val_to_str(type, vlan_tlv_type_vals,
"Unknown TLV type: 0x%02x"));
tlv_tree = proto_item_add_subtree(ti, ett_vtp_tlv);
proto_tree_add_item(tlv_tree, hf_vtp_vlan_tlvtype, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(tlv_tree, hf_vtp_vlan_tlvlength, tvb, offset+1, 1, ENC_BIG_ENDIAN);
offset += 2;

View File

@ -825,7 +825,6 @@ dissect_tlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *wassp_tree,
{
guint32 tlv_type;
guint32 tlv_length;
proto_item *tlv_item;
proto_item *tlv_tree;
proto_item *type_item;
int type_index;
@ -834,14 +833,12 @@ dissect_tlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *wassp_tree,
tlv_type = tvb_get_ntohs(tvb, offset);
tlv_length = tvb_get_ntohs(tvb, offset + 2);
DISSECTOR_ASSERT(tlv_length >= 4);
tlv_item = proto_tree_add_text(wassp_tree, tvb,
offset, tlv_length,
tlv_tree = proto_tree_add_subtree_format(wassp_tree, tvb,
offset, tlv_length, ett_wassp_tlv_header, NULL,
"T %d, L %d: %s",
tlv_type,
tlv_length,
extval_to_str_idx(tlv_type, value_array, NULL, "Unknown"));
tlv_tree = proto_item_add_subtree(tlv_item,
ett_wassp_tlv_header);
type_item = proto_tree_add_item(tlv_tree, hf_wassp_tlv_type,
tvb, offset, 2, ENC_BIG_ENDIAN);
proto_item_append_text(type_item, " = %s",

View File

@ -7139,9 +7139,8 @@ dissect_wbxml_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
"(edit WBXML preferences to show)");
return;
} /* Else: render the WBXML tokens */
ti = proto_tree_add_text (wbxml_tree, tvb, offset, -1,
"Data representation");
wbxml_content_tree = proto_item_add_subtree (ti, ett_wbxml_content);
wbxml_content_tree = proto_tree_add_subtree(wbxml_tree, tvb, offset, -1,
ett_wbxml_content, &ti, "Data representation");
/* The parse_wbxml_X() functions will process the content correctly,
* irrespective of the WBXML version used. For the WBXML body, this

View File

@ -770,7 +770,6 @@ dissect_wccp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
static guint
dissect_hash_data(tvbuff_t *tvb, int offset, proto_tree *wccp_tree)
{
proto_item *bucket_item;
proto_tree *bucket_tree;
proto_item *tf;
proto_tree *field_tree;
@ -782,9 +781,8 @@ dissect_hash_data(tvbuff_t *tvb, int offset, proto_tree *wccp_tree)
ENC_BIG_ENDIAN);
offset += 4;
bucket_item = proto_tree_add_text(wccp_tree, tvb, offset, 32,
"Hash information");
bucket_tree = proto_item_add_subtree(bucket_item, ett_buckets);
bucket_tree = proto_tree_add_subtree(wccp_tree, tvb, offset, 32,
ett_buckets, NULL, "Hash information");
for (i = 0, n = 0; i < 32; i++) {
bucket_info = tvb_get_guint8(tvb, offset);
@ -802,12 +800,10 @@ static guint
dissect_web_cache_list_entry(tvbuff_t *tvb, int offset, int idx,
proto_tree *wccp_tree)
{
proto_item *tl;
proto_tree *list_entry_tree;
tl = proto_tree_add_text(wccp_tree, tvb, offset, 4 + HASH_INFO_SIZE,
"Web-Cache List Entry(%d)", idx);
list_entry_tree = proto_item_add_subtree(tl, ett_cache_info);
list_entry_tree = proto_tree_add_subtree_format(wccp_tree, tvb, offset, 4 + HASH_INFO_SIZE,
ett_cache_info, NULL, "Web-Cache List Entry(%d)", idx);
proto_tree_add_item(list_entry_tree, hf_cache_ip, tvb, offset, 4,
ENC_BIG_ENDIAN);
offset += 4;
@ -1019,9 +1015,8 @@ dissect_wccp2_info(tvbuff_t *tvb, int offset, guint16 length,
break;
}
tf = proto_tree_add_text(wccp_tree, tvb, offset, item_length + 4, "%s",
info_tree = proto_tree_add_subtree(wccp_tree, tvb, offset, item_length + 4, ett, &tf,
val_to_str(type, info_type_vals, "Unknown info type (%u)"));
info_tree = proto_item_add_subtree(tf, ett);
proto_tree_add_item(info_tree, hf_item_type, tvb, offset, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(info_tree, hf_item_length, tvb, offset+2, 2, ENC_BIG_ENDIAN);
@ -1334,9 +1329,8 @@ dissect_wccp2_service_info(tvbuff_t *tvb, int offset, gint length,
offset += 4;
if (flags & WCCP2_SI_PORTS_DEFINED) {
tf = proto_tree_add_text(info_tree, tvb, offset, 2*8,
"Ports list: ");
ports_tree = proto_item_add_subtree(tf, ett_service_info_ports);
ports_tree = proto_tree_add_subtree(info_tree, tvb, offset, 2*8,
ett_service_info_ports, &tf, "Ports list: ");
for (i = 0; i < 8; i++) {
guint16 port = tvb_get_ntohs(tvb, offset);
@ -2114,16 +2108,14 @@ dissect_wccp2_hash_assignment_data_element(tvbuff_t *tvb, int offset, gint lengt
proto_tree *info_tree)
{
proto_item *bucket_item;
proto_tree *bucket_tree;
int i;
guint8 bucket_info;
int n;
bucket_item = proto_tree_add_text(info_tree, tvb, offset, 8*4,
"Hash Assignment Data");
bucket_tree = proto_item_add_subtree(bucket_item, ett_hash_assignment_buckets);
bucket_tree = proto_tree_add_subtree(info_tree, tvb, offset, 8*4,
ett_hash_assignment_buckets, NULL, "Hash Assignment Data");
for (i = 0, n = 0; i < 32; i++) {
if (length == 0) {
@ -2153,9 +2145,8 @@ dissect_wccp2_mask_assignment_data_element(tvbuff_t *tvb, int offset, gint lengt
gint new_length,start;
mask_item = proto_tree_add_text(info_tree, tvb, offset, 4,
"Mask Assignment Data");
mask_tree = proto_item_add_subtree(mask_item, ett_mask_assignment_data_element);
mask_tree = proto_tree_add_subtree(info_tree, tvb, offset, 4,
ett_mask_assignment_data_element, &mask_item, "Mask Assignment Data");
start = offset;
new_length=dissect_wccp2_mask_value_set_list(tvb, offset, length, pinfo, mask_tree);
@ -2178,12 +2169,10 @@ static gint
dissect_wccp2_alternate_mask_assignment_data_element(tvbuff_t *tvb, int offset, gint length, packet_info *pinfo,
proto_tree *info_tree)
{
proto_item *mask_item;
proto_tree *mask_tree;
mask_item = proto_tree_add_text(info_tree, tvb, offset, length,
"Alternate Mask Assignment Data");
mask_tree = proto_item_add_subtree(mask_item, ett_alternate_mask_assignment_data_element);
mask_tree = proto_tree_add_subtree(info_tree, tvb, offset, length,
ett_alternate_mask_assignment_data_element, NULL, "Alternate Mask Assignment Data");
if (length < 4)
return length-4;
@ -2240,10 +2229,8 @@ dissect_wccp2_extended_assignment_data_element(tvbuff_t *tvb, int offset, gint l
return length-4;
header = proto_tree_add_text(info_tree, tvb, offset, length,
"Extended Assignment Data Element");
item_tree = proto_item_add_subtree(header, ett_extended_assigment_data_element);
item_tree = proto_tree_add_subtree(info_tree, tvb, offset, length,
ett_extended_assigment_data_element, &header, "Extended Assignment Data Element");
type_of_assignment = tvb_get_ntohs(tvb, offset);
proto_tree_add_item(item_tree, hf_extended_assignment_data_type, tvb, offset, 2, ENC_BIG_ENDIAN);
@ -2391,8 +2378,7 @@ dissect_wccp2_mask_value_set_list(tvbuff_t *tvb, int offset,
if (length < 4)
return length - 4;
te = proto_tree_add_text(info_tree, tvb, offset, 4, "Mask/Value Set List");
element_tree = proto_item_add_subtree(te, ett_mv_set_list);
element_tree = proto_tree_add_subtree(info_tree, tvb, offset, 4, ett_mv_set_list, &te, "Mask/Value Set List");
start = offset;
@ -2448,7 +2434,6 @@ dissect_wccp2_mask_element(tvbuff_t *tvb, int offset, gint length, packet_info *
static gint dissect_wccp2_alternate_mask_value_set_list(tvbuff_t *tvb, int offset,
int length, packet_info *pinfo, proto_tree *info_tree)
{
proto_item *header;
proto_tree *list_tree;
guint num_of_val_elements;
guint i;
@ -2456,9 +2441,8 @@ static gint dissect_wccp2_alternate_mask_value_set_list(tvbuff_t *tvb, int offse
if (length < 4)
return length - 4;
header = proto_tree_add_text(info_tree, tvb, offset, length,
"Alternate Mask/Value Set List");
list_tree = proto_item_add_subtree(header, ett_alternate_mask_value_set);
list_tree = proto_tree_add_subtree(info_tree, tvb, offset, length,
ett_alternate_mask_value_set, NULL, "Alternate Mask/Value Set List");
num_of_val_elements = tvb_get_ntohl(tvb, offset);
proto_tree_add_uint(list_tree, hf_alt_assignment_mask_value_set_list_num_elements, tvb, offset, 4, num_of_val_elements);
@ -2485,9 +2469,9 @@ dissect_wccp2_alternate_mask_value_set_element(tvbuff_t *tvb, int offset, gint l
gint new_length, total_length;
guint i;
header = proto_tree_add_text(info_tree, tvb, offset, 0,
element_tree = proto_tree_add_subtree_format(info_tree, tvb, offset, 0,
ett_alternate_mask_value_set_element, &header,
"Alternate Mask/Value Set Element(%d)", el_index);
element_tree = proto_item_add_subtree(header, ett_alternate_mask_value_set_element);
total_length = 0;
@ -2600,7 +2584,6 @@ dissect_transmit_t_capability(tvbuff_t *tvb, proto_item *te, int curr_offset,
guint16 capability_val_len, gint ett, proto_tree *element_tree)
{
guint16 upper_limit, lower_limit;
proto_item *tm;
proto_tree *method_tree;
DISSECTOR_ASSERT(capability_val_len == 4);
@ -2609,18 +2592,16 @@ dissect_transmit_t_capability(tvbuff_t *tvb, proto_item *te, int curr_offset,
lower_limit = tvb_get_ntohs(tvb, curr_offset + 2);
if ( upper_limit == 0) {
tm = proto_tree_add_text(element_tree, tvb, curr_offset, 2,
"Only accepting one value");
method_tree = proto_item_add_subtree(tm, ett);
method_tree = proto_tree_add_subtree(element_tree, tvb, curr_offset, 2,
ett, NULL, "Only accepting one value");
proto_tree_add_text(method_tree, tvb, curr_offset, 2,
"Reserved, must be 0: %d", upper_limit);
proto_tree_add_item(method_tree, hf_capability_transmit_t , tvb, curr_offset+2, 2, ENC_BIG_ENDIAN);
proto_item_append_text(te, " %d ms", lower_limit);
} else {
tm = proto_tree_add_text(element_tree, tvb, curr_offset, 2,
"Accepting a range");
method_tree = proto_item_add_subtree(tm, ett);
method_tree = proto_tree_add_subtree(element_tree, tvb, curr_offset, 2,
ett, NULL, "Accepting a range");
proto_tree_add_item(method_tree, hf_capability_transmit_t_upper_limit,
tvb, curr_offset, 2, ENC_BIG_ENDIAN);
@ -2636,7 +2617,6 @@ dissect_timer_scale_capability(tvbuff_t *tvb, int curr_offset,
guint16 capability_val_len, gint ett, proto_tree *element_tree)
{
guint8 a,c;
proto_item *tm;
proto_tree *method_tree;
DISSECTOR_ASSERT(capability_val_len == 4);
@ -2646,10 +2626,9 @@ dissect_timer_scale_capability(tvbuff_t *tvb, int curr_offset,
if ( a == 0) {
if ( c == 0) {
tm = proto_tree_add_text(element_tree, tvb, curr_offset, 2,
"Only accepting one value");
method_tree = proto_tree_add_subtree(element_tree, tvb, curr_offset, 2,
ett, NULL, "Only accepting one value");
method_tree = proto_item_add_subtree(tm, ett);
proto_tree_add_text(method_tree, tvb, curr_offset, 1,
"Reserved, must be 0: %d", a);
@ -2668,9 +2647,8 @@ dissect_timer_scale_capability(tvbuff_t *tvb, int curr_offset,
proto_tree_add_text(element_tree, tvb, curr_offset, 1,
"Error C is 0, but A is not");
} else {
tm = proto_tree_add_text(element_tree, tvb, curr_offset, 2,
"Accepting a range");
method_tree = proto_item_add_subtree(tm, ett);
method_tree = proto_tree_add_subtree(element_tree, tvb, curr_offset, 2,
ett, NULL, "Accepting a range");
proto_tree_add_item(method_tree, hf_capability_timer_scale_timeout_scale_upper_limit,
tvb, curr_offset, 1, ENC_BIG_ENDIAN);
@ -2689,15 +2667,13 @@ dissect_timer_scale_capability(tvbuff_t *tvb, int curr_offset,
static gint
dissect_wccp2_value_element(tvbuff_t *tvb, int offset, gint length, int idx, packet_info *pinfo, proto_tree *info_tree)
{
proto_item *tl;
proto_tree *element_tree;
if (length < 4)
return length - 16;
tl = proto_tree_add_text(info_tree, tvb, offset, 16, "Value Element(%u) %s",
element_tree = proto_tree_add_subtree_format(info_tree, tvb, offset, 16, ett_value_element, NULL, "Value Element(%u) %s",
idx,decode_wccp_encoded_address(tvb, offset+4+4+2+2, pinfo, info_tree));
element_tree = proto_item_add_subtree(tl, ett_value_element);
proto_tree_add_item(element_tree, hf_value_element_src_ip, tvb, offset, 4, ENC_BIG_ENDIAN);
EAT_AND_CHECK(4,4);
@ -2726,9 +2702,8 @@ dissect_wccp2_mask_value_set_element(tvbuff_t *tvb, int offset, gint length, int
guint i;
gint new_length;
tl = proto_tree_add_text(info_tree, tvb, offset, 0,
"Mask/Value Set Element(%d)", idx);
element_tree = proto_item_add_subtree(tl, ett_mv_set_element);
element_tree = proto_tree_add_subtree_format(info_tree, tvb, offset, 0,
ett_mv_set_element, &tl, "Mask/Value Set Element(%d)", idx);
new_length = dissect_wccp2_mask_element(tvb,offset,length,pinfo,element_tree);
NOTE_EATEN_LENGTH(new_length);
@ -2767,7 +2742,6 @@ dissect_wccp2_alternate_assignment_info(tvbuff_t *tvb, int offset, gint length,
guint32 n_routers;
guint i;
proto_item *te;
proto_tree *element_tree;
gint new_length;
@ -2806,11 +2780,11 @@ dissect_wccp2_alternate_assignment_info(tvbuff_t *tvb, int offset, gint length,
if (length < 12)
return length - 12*(n_routers-i);
te = proto_tree_add_text(info_tree, tvb, offset, 12,
element_tree = proto_tree_add_subtree_format(info_tree, tvb, offset, 12,
ett_router_alt_assignment_element, NULL,
"Router %d Assignment Element: IP address %s", i,
decode_wccp_encoded_address(tvb, offset, pinfo, info_tree));
element_tree = proto_item_add_subtree(te, ett_router_alt_assignment_element);
dissect_wccp2_router_assignment_element(tvb, offset, length , pinfo, element_tree);
EAT(12);
}

View File

@ -225,9 +225,8 @@ dissect_wfd_subelem_session_info(packet_info *pinfo, proto_tree *tree,
guint8 dlen = tvb_get_guint8(tvb, offset);
next = offset + 1 + dlen;
item = proto_tree_add_text(tree, tvb, offset, 1 + dlen,
"WFD Device Info Descriptor");
descr = proto_item_add_subtree(item, ett_wfd_dev_info_descr);
descr = proto_tree_add_subtree(tree, tvb, offset, 1 + dlen,
ett_wfd_dev_info_descr, &item, "WFD Device Info Descriptor");
if (offset + 1 + dlen > end || dlen < 23) {
expert_add_info(pinfo, item, &ei_wfd_subelem_session_descr_invalid);
break;
@ -324,15 +323,14 @@ void dissect_wifi_display_ie(packet_info *pinfo, proto_tree *tree,
id = tvb_get_guint8(tvb, offset);
len = tvb_get_ntohs(tvb, offset + 1);
subelem = proto_tree_add_text(tree, tvb, offset, 3 + len, "%s",
wfd_tree = proto_tree_add_subtree(tree, tvb, offset, 3 + len,
ett_wfd_subelem, &subelem,
val_to_str(id, wfd_subelem_ids,
"Unknown subelement ID (%u)"));
if (offset + 3 + len > end) {
expert_add_info_format(pinfo, subelem, &ei_wfd_subelem_len_invalid, "Packet too short for Wi-Fi Display subelement payload");
}
wfd_tree = proto_item_add_subtree(subelem, ett_wfd_subelem);
proto_tree_add_item(wfd_tree, hf_wfd_subelem_id, tvb, offset, 1,
ENC_BIG_ENDIAN);
offset++;

View File

@ -738,9 +738,8 @@ static void dissect_wifi_p2p_group_info(packet_info *pinfo,
}
ci_len = tvb_get_guint8(tvb, s_offset);
item = proto_tree_add_text(tlv_root, tvb, s_offset, 1 + ci_len,
"P2P Client Info Descriptor");
tree = proto_item_add_subtree(item, ett_p2p_client_descr);
tree = proto_tree_add_subtree(tlv_root, tvb, s_offset, 1 + ci_len,
ett_p2p_client_descr, NULL, "P2P Client Info Descriptor");
item = proto_tree_add_item(tree, hf_p2p_attr_gi_length, tvb, s_offset,
1, ENC_BIG_ENDIAN);
@ -896,10 +895,9 @@ void dissect_wifi_p2p_ie(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb,
stype = tvb_get_guint8(tvb, offset);
slen = tvb_get_letohs(tvb, offset + 1);
tlv_item = proto_tree_add_text(tree, tvb, offset, 3 + slen, "%s",
tlv_root = proto_tree_add_subtree(tree, tvb, offset, 3 + slen, ett_p2p_tlv, &tlv_item,
val_to_str(stype, p2p_attr_types,
"Unknown attribute type (%u)"));
tlv_root = proto_item_add_subtree(tlv_item, ett_p2p_tlv);
proto_tree_add_item(tlv_root, hf_p2p_attr_type, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_uint(tlv_root, hf_p2p_attr_len, tvb, offset + 1, 2,
@ -1022,11 +1020,10 @@ void dissect_wifi_p2p_anqp(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb,
type = tvb_get_guint8(tvb, offset + 2);
id = tvb_get_guint8(tvb, offset + 3);
item = proto_tree_add_text(tree, tvb, offset, 2 + len,
"Service TLV (Transaction ID: %u Type: %s)",
tlv = proto_tree_add_subtree_format(tree, tvb, offset, 2 + len,
ett_p2p_service_tlv, &item, "Service TLV (Transaction ID: %u Type: %s)",
id, val_to_str(type, p2p_service_protocol_types,
"Unknown (%u)"));
tlv = proto_item_add_subtree(item, ett_p2p_service_tlv);
proto_tree_add_item(tlv, hf_p2p_anqp_length, tvb, offset, 2, ENC_LITTLE_ENDIAN);
offset += 2;

View File

@ -2010,27 +2010,23 @@ static const true_false_string flags_sec_info_owner = {
static int
dissect_nt_ace_object(tvbuff_t *tvb, int offset, proto_tree *parent_tree)
{
proto_item *item = NULL;
proto_tree *tree = NULL;
proto_item *flags_item = NULL;
proto_tree *flags_tree = NULL;
proto_item *item;
proto_tree *tree;
proto_item *flags_item;
proto_tree *flags_tree;
guint32 flags;
int old_offset=offset;
const char *sep = " ";
if(parent_tree){
item = proto_tree_add_text(parent_tree, tvb, offset, 0,
"ACE Object");
tree = proto_item_add_subtree(item, ett_nt_ace_object);
}
tree = proto_tree_add_subtree(parent_tree, tvb, offset, 0,
ett_nt_ace_object, &item, "ACE Object");
/* flags */
flags=tvb_get_letohl(tvb, offset);
if(tree){
flags_item = proto_tree_add_text(tree, tvb, offset, 4,
flags_item = proto_tree_add_text(tree, tvb, offset, 4,
"ACE Object Flags (0x%08x)", flags);
flags_tree = proto_item_add_subtree(flags_item, ett_nt_ace_object_flags);
}
flags_tree = proto_item_add_subtree(flags_item, ett_nt_ace_object_flags);
proto_tree_add_boolean(flags_tree, hf_nt_ace_flags_object_type_present,
tvb, offset, 4, flags);
APPEND_ACE_TEXT(flags&0x00000001, flags_item, "%sObject Type Present");
@ -2116,8 +2112,8 @@ dissect_nt_v2_ace(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *parent_tree, guint8 *drep,
struct access_mask_info *ami)
{
proto_item *item = NULL;
proto_tree *tree = NULL;
proto_item *item;
proto_tree *tree;
int old_offset = offset;
char *sid_str = NULL;
guint16 size;
@ -2125,11 +2121,8 @@ dissect_nt_v2_ace(tvbuff_t *tvb, int offset, packet_info *pinfo,
guint8 flags;
guint32 perms = 0;
if(parent_tree){
item = proto_tree_add_text(parent_tree, tvb, offset, -1,
"NT ACE: ");
tree = proto_item_add_subtree(item, ett_nt_ace);
}
tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1,
ett_nt_ace, &item, "NT ACE: ");
/* type */
type = tvb_get_guint8(tvb, offset);
@ -2219,8 +2212,8 @@ dissect_nt_acl(tvbuff_t *tvb, int offset_a, packet_info *pinfo,
proto_tree *parent_tree, guint8 *drep, const char *name,
struct access_mask_info *ami)
{
proto_item *volatile item = NULL;
proto_tree *volatile tree = NULL;
proto_item *item;
proto_tree *tree;
int old_offset = offset_a;
int pre_ace_offset;
guint16 revision;
@ -2229,11 +2222,8 @@ dissect_nt_acl(tvbuff_t *tvb, int offset_a, packet_info *pinfo,
volatile gboolean missing_data = FALSE;
volatile gboolean bad_ace = FALSE;
if(parent_tree) {
item = proto_tree_add_text(parent_tree, tvb, offset_v, -1,
"NT %s ACL", name);
tree = proto_item_add_subtree(item, ett_nt_acl);
}
tree = proto_tree_add_subtree_format(parent_tree, tvb, offset_v, -1,
ett_nt_acl, &item, "NT %s ACL", name);
/* revision */
/*
@ -2485,9 +2475,8 @@ dissect_nt_sec_desc(tvbuff_t *tvb, int offset_a, packet_info *pinfo,
volatile guint32 sacl_offset;
volatile guint32 dacl_offset;
item = proto_tree_add_text(parent_tree, tvb, offset_v, -1,
"NT Security Descriptor");
tree = proto_item_add_subtree(item, ett_nt_sec_desc);
tree = proto_tree_add_subtree(parent_tree, tvb, offset_v, -1,
ett_nt_sec_desc, &item, "NT Security Descriptor");
/* revision */
revision = tvb_get_letohs(tvb, offset_v);

View File

@ -180,13 +180,10 @@ static int
dissect_winsrepl_start(tvbuff_t *winsrepl_tvb, _U_ packet_info *pinfo,
int winsrepl_offset, proto_tree *winsrepl_tree)
{
proto_item *start_item = NULL;
proto_tree *start_tree = NULL;
proto_tree *start_tree;
if (winsrepl_tree) {
start_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WREPL_START_ASSOCIATION");
start_tree = proto_item_add_subtree(start_item, ett_winsrepl_start);
}
start_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
ett_winsrepl_start, NULL, "WREPL_START_ASSOCIATION");
/* ASSOC_CTX */
proto_tree_add_item(start_tree, hf_winsrepl_assoc_ctx, winsrepl_tvb, winsrepl_offset, 4, ENC_BIG_ENDIAN);
@ -208,13 +205,11 @@ dissect_winsrepl_stop(tvbuff_t *winsrepl_tvb, _U_ packet_info *pinfo,
int winsrepl_offset, proto_tree *winsrepl_tree)
{
guint32 reason;
proto_item *stop_item = NULL;
proto_tree *stop_tree = NULL;
proto_item *stop_item;
proto_tree *stop_tree;
if (winsrepl_tree) {
stop_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WREPL_STOP_ASSOCIATION");
stop_tree = proto_item_add_subtree(stop_item, ett_winsrepl_stop);
}
stop_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
ett_winsrepl_stop, &stop_item, "WREPL_STOP_ASSOCIATION");
/* REASON */
reason = tvb_get_ntohl(winsrepl_tvb, winsrepl_offset);
@ -239,15 +234,14 @@ dissect_winsrepl_wins_owner(tvbuff_t *winsrepl_tvb, _U_ packet_info *pinfo,
int winsrepl_offset, proto_tree *winsrepl_tree,
proto_tree *sub_tree, guint32 idx)
{
proto_item *owner_item = NULL;
proto_tree *owner_tree = NULL;
if (sub_tree) {
owner_item = proto_tree_add_text(sub_tree, winsrepl_tvb, winsrepl_offset, 24 , "WINS Owner [%u]", idx);
owner_tree = proto_item_add_subtree(owner_item, ett_winsrepl_owner);
owner_tree = proto_tree_add_subtree_format(sub_tree, winsrepl_tvb, winsrepl_offset, 24,
ett_winsrepl_owner, NULL, "WINS Owner [%u]", idx);
} else if (winsrepl_tree) {
owner_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, 24 , "WINS Owner");
owner_tree = proto_item_add_subtree(owner_item, ett_winsrepl_owner);
owner_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, 24,
ett_winsrepl_owner, NULL, "WINS Owner");
}
/* ADDRESS */
@ -273,15 +267,12 @@ static int
dissect_winsrepl_table_reply(tvbuff_t *winsrepl_tvb, packet_info *pinfo,
int winsrepl_offset, proto_tree *winsrepl_tree)
{
proto_item *table_item = NULL;
proto_tree *table_tree = NULL;
proto_tree *table_tree;
guint32 partner_count;
guint32 i;
if (winsrepl_tree) {
table_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WREPL_REPL_TABLE_REPLY");
table_tree = proto_item_add_subtree(table_item, ett_winsrepl_table_reply);
}
table_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
ett_winsrepl_table_reply, NULL, "WREPL_REPL_TABLE_REPLY");
/* PARTNER COUNT */
partner_count = tvb_get_ntohl(winsrepl_tvb, winsrepl_offset);
@ -321,11 +312,11 @@ dissect_winsrepl_wins_ip(tvbuff_t *winsrepl_tvb, _U_ packet_info *pinfo,
proto_tree *ip_tree = NULL;
if (sub_tree) {
ip_item = proto_tree_add_text(sub_tree, winsrepl_tvb, winsrepl_offset, 8 , "WINS IP [%u]", idx);
ip_tree = proto_item_add_subtree(ip_item, ett_winsrepl_ip);
ip_tree = proto_tree_add_subtree_format(sub_tree, winsrepl_tvb, winsrepl_offset, 8,
ett_winsrepl_ip, &ip_item, "WINS IP [%u]", idx);
} else if (winsrepl_tree) {
ip_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, 8 , "WINS IP");
ip_tree = proto_item_add_subtree(ip_item, ett_winsrepl_ip);
ip_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, 8,
ett_winsrepl_ip, &ip_item, "WINS IP");
}
/* OWNER */
@ -346,17 +337,15 @@ dissect_winsrepl_wins_address_list(tvbuff_t *winsrepl_tvb, packet_info *pinfo,
int winsrepl_offset, proto_tree *winsrepl_tree,
proto_item *parent_item)
{
proto_item *addr_list_item = NULL;
proto_tree *addr_list_tree = NULL;
proto_item *addr_list_item;
proto_tree *addr_list_tree;
int old_offset = winsrepl_offset;
guint32 num_ips;
guint32 ip;
guint32 i;
if (winsrepl_tree) {
addr_list_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WINS Address List");
addr_list_tree = proto_item_add_subtree(addr_list_item, ett_winsrepl_addr_list);
}
addr_list_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
ett_winsrepl_addr_list, &addr_list_item, "WINS Address List");
/* NUM_IPS */
num_ips = tvb_get_letohl(winsrepl_tvb, winsrepl_offset);
@ -399,11 +388,11 @@ dissect_winsrepl_wins_name(tvbuff_t *winsrepl_tvb, packet_info *pinfo,
guint32 addr;
if (sub_tree) {
name_item = proto_tree_add_text(sub_tree, winsrepl_tvb, winsrepl_offset, -1 , "WINS Name [%u]", idx);
name_tree = proto_item_add_subtree(name_item, ett_winsrepl_name);
name_tree = proto_tree_add_subtree_format(sub_tree, winsrepl_tvb, winsrepl_offset, -1,
ett_winsrepl_name, &name_item, "WINS Name [%u]", idx);
} else if (winsrepl_tree) {
name_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WINS Name");
name_tree = proto_item_add_subtree(name_item, ett_winsrepl_name);
name_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
ett_winsrepl_name, &name_item, "WINS Name");
}
/* NAME_LEN */
@ -495,15 +484,12 @@ static int
dissect_winsrepl_send_reply(tvbuff_t *winsrepl_tvb, packet_info *pinfo,
int winsrepl_offset, proto_tree *winsrepl_tree)
{
proto_item *rep_item = NULL;
proto_tree *rep_tree = NULL;
proto_tree *rep_tree;
guint32 num_names;
guint32 i;
if (winsrepl_tree) {
rep_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WREPL_REPL_SEND_REPLY");
rep_tree = proto_item_add_subtree(rep_item, ett_winsrepl_send_reply);
}
rep_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
ett_winsrepl_send_reply, NULL, "WREPL_REPL_SEND_REPLY");
/* NUM NAMES */
num_names = tvb_get_ntohl(winsrepl_tvb, winsrepl_offset);
@ -559,14 +545,12 @@ static int
dissect_winsrepl_replication(tvbuff_t *winsrepl_tvb, packet_info *pinfo,
int winsrepl_offset, proto_item *winsrepl_item, proto_tree *winsrepl_tree)
{
proto_item *repl_item = NULL;
proto_tree *repl_tree = NULL;
proto_item *repl_item;
proto_tree *repl_tree;
enum wrepl_replication_cmd command;
if (winsrepl_tree) {
repl_item = proto_tree_add_text(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1 , "WREPL_REPLICATION");
repl_tree = proto_item_add_subtree(repl_item, ett_winsrepl_replication);
}
repl_tree = proto_tree_add_subtree(winsrepl_tree, winsrepl_tvb, winsrepl_offset, -1,
ett_winsrepl_replication, &repl_item, "WREPL_REPLICATION");
/* REPLIICATION_CMD */
command = (enum wrepl_replication_cmd)tvb_get_ntohl(winsrepl_tvb, winsrepl_offset);

View File

@ -85,7 +85,6 @@ dissect_wol_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
/* Set up structures needed to add the protocol subtree and manage it */
proto_item *ti;
proto_item *mti;
proto_tree *wol_tree;
proto_tree *mac_tree;
@ -239,9 +238,9 @@ dissect_wol_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
proto_tree_add_item(wol_tree, hf_wol_sync, tvb, 0, 6, ENC_NA);
/* Continue adding tree items to process the packet here */
mti = proto_tree_add_text(wol_tree, tvb, 6, 96, "MAC: %s (%s)",
mac_tree = proto_tree_add_subtree_format(wol_tree, tvb, 6, 96,
ett_wol_macblock, NULL, "MAC: %s (%s)",
get_ether_name(mac), ether_to_str(mac));
mac_tree = proto_item_add_subtree(mti, ett_wol_macblock);
for ( offset = 6; offset < 102; offset += 6 )
proto_tree_add_ether(mac_tree, hf_wol_mac, tvb, offset, 6, mac);

View File

@ -358,12 +358,11 @@ dissect_wow_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
offset + 3,
&len, ENC_ASCII);
ti = proto_tree_add_text(wow_tree, tvb,
wow_realms_tree = proto_tree_add_subtree(wow_tree, tvb,
offset, 0,
"%s",
ett_wow_realms, NULL,
realm_name);
wow_realms_tree = proto_item_add_subtree(ti, ett_wow_realms);
proto_tree_add_item(wow_realms_tree, hf_wow_realm_type, tvb, offset, 1, ENC_LITTLE_ENDIAN);
offset += 1;

View File

@ -802,10 +802,8 @@ add_wps_wfa_ext(guint8 id, proto_tree *tree, tvbuff_t *tvb,
proto_tree *elem;
guint8 val8;
item = proto_tree_add_text(tree, tvb, offset - 2, 2 + size, "%s",
val_to_str(id, eapwps_wfa_ext_types,
"Unknown (%u)"));
elem = proto_item_add_subtree(item, ett_wps_wfa_ext);
elem = proto_tree_add_subtree(tree, tvb, offset - 2, 2 + size, ett_wps_wfa_ext, &item,
val_to_str(id, eapwps_wfa_ext_types, "Unknown (%u)"));
proto_tree_add_item(elem, hf_eapwps_wfa_ext_id, tvb, offset - 2, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(elem, hf_eapwps_wfa_ext_len, tvb, offset - 1, 1, ENC_BIG_ENDIAN);
@ -904,16 +902,14 @@ dissect_wps_tlvs(proto_tree *eap_tree, tvbuff_t *tvb, int offset,
break;
}
tlv_item = NULL;
tlv_root = NULL;
tmp_item = NULL;
tlv_type = tvb_get_ntohs(tvb, offset);
tlv_len = tvb_get_ntohs(tvb, offset+2);
/* TOP Node for each TLV-item */
tlv_item = proto_tree_add_text(eap_tree, tvb, offset, tlv_len+4, "Unknown Type (0x%04x)", tlv_type);
tlv_root = proto_item_add_subtree(tlv_item, ett_wps_tlv);
tlv_root = proto_tree_add_subtree_format(eap_tree, tvb, offset, tlv_len+4,
ett_wps_tlv, &tlv_item, "Unknown Type (0x%04x)", tlv_type);
/* analog to Tagged parameters in 802.11 */
proto_tree_add_item(tlv_root, hf_eapwps_tlv_type, tvb, offset, 2, ENC_BIG_ENDIAN);

View File

@ -90,7 +90,7 @@ static void
dissect_wsmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
/* Set up structures needed to add the protocol subtree and manage it */
proto_item *ti, *wsmdata_item;
proto_item *ti;
proto_tree *wsmp_tree, *wsmdata_tree;
tvbuff_t *wsmdata_tvb;
guint16 wsmlength, offset;
@ -191,9 +191,8 @@ dissect_wsmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset += supLen;
}
wsmdata_item = proto_tree_add_text (wsmp_tree, tvb, offset, wsmlength,
"Wave Short Message");
wsmdata_tree = proto_item_add_subtree(wsmdata_item, ett_wsmdata);
wsmdata_tree = proto_tree_add_subtree(wsmp_tree, tvb, offset, wsmlength,
ett_wsmdata, NULL, "Wave Short Message");
wsmdata_tvb = tvb_new_subset(tvb, offset, -1, wsmlength);

View File

@ -5872,9 +5872,8 @@ add_multipart_data (proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo)
offset += count;
if (nEntries)
{
ti = proto_tree_add_text(tree, tvb, offset - count, 0,
"Multipart body");
sub_tree = proto_item_add_subtree(ti, ett_mpartlist);
sub_tree = proto_tree_add_subtree(tree, tvb, offset - count, 0,
ett_mpartlist, NULL, "Multipart body");
}
while (nEntries--)
{
@ -5886,12 +5885,12 @@ add_multipart_data (proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo)
offset += count;
DataLen = tvb_get_guintvar (tvb, offset, &count);
offset += count;
if (tree) {
tvb_ensure_bytes_exist(tvb, part_start, HeadersLen + DataLen + (offset - part_start));
ti = proto_tree_add_uint(sub_tree, hf_wsp_mpart, tvb, part_start,
tvb_ensure_bytes_exist(tvb, part_start, HeadersLen + DataLen + (offset - part_start));
ti = proto_tree_add_uint(sub_tree, hf_wsp_mpart, tvb, part_start,
HeadersLen + DataLen + (offset - part_start), partnr);
mpart_tree = proto_item_add_subtree(ti, ett_multiparts);
}
mpart_tree = proto_item_add_subtree(ti, ett_multiparts);
nextOffset = add_content_type (mpart_tree, tvb, offset,
&contentType, &contentTypeStr);