aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-sna.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-sna.c')
-rw-r--r--epan/dissectors/packet-sna.c62
1 files changed, 19 insertions, 43 deletions
diff --git a/epan/dissectors/packet-sna.c b/epan/dissectors/packet-sna.c
index 5800896cc3..8369b5d9fb 100644
--- a/epan/dissectors/packet-sna.c
+++ b/epan/dissectors/packet-sna.c
@@ -303,8 +303,6 @@ static gint ett_sna_control_05hpr = -1;
static gint ett_sna_control_05hpr_type = -1;
static gint ett_sna_control_0e = -1;
-static dissector_handle_t data_handle;
-
static int sna_address_type = -1;
/* Defragment fragmented SNA BIUs*/
@@ -945,8 +943,7 @@ dissect_optional_0e(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_tree_add_item(tree, hf_sna_reserved, tvb, 12, 8, ENC_NA);
if (tvb_offset_exists(tvb, offset))
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, 4), pinfo, tree);
+ call_data_dissector(tvb_new_subset_remaining(tvb, 4), pinfo, tree);
if (bits & 0x40) {
col_set_str(pinfo->cinfo, COL_INFO, "HPR Idle Message");
@@ -960,8 +957,7 @@ dissect_optional_0f(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
proto_tree_add_item(tree, hf_sna_nlp_opti_0f_bits, tvb, 2, 2, ENC_BIG_ENDIAN);
if (tvb_offset_exists(tvb, 4))
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, 4), pinfo, tree);
+ call_data_dissector(tvb_new_subset_remaining(tvb, 4), pinfo, tree);
}
static void
@@ -970,8 +966,7 @@ dissect_optional_10(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_tree_add_item(tree, hf_sna_reserved, tvb, 2, 2, ENC_NA);
proto_tree_add_item(tree, hf_sna_nlp_opti_10_tcid, tvb, 4, 8, ENC_NA);
if (tvb_offset_exists(tvb, 12))
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, 12), pinfo, tree);
+ call_data_dissector(tvb_new_subset_remaining(tvb, 12), pinfo, tree);
}
static void
@@ -1009,8 +1004,7 @@ dissect_optional_14(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if ((type != 0x83) || (len <= 16)) {
/* Invalid */
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, offset), pinfo, tree);
+ call_data_dissector(tvb_new_subset_remaining(tvb, offset), pinfo, tree);
return;
}
sub_tree = proto_tree_add_subtree(tree, tvb, offset, len,
@@ -1044,8 +1038,7 @@ dissect_optional_14(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if ((type != 0x85) || ( len < 4)) {
/* Invalid */
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, offset), pinfo, tree);
+ call_data_dissector(tvb_new_subset_remaining(tvb, offset), pinfo, tree);
return;
}
sub_tree = proto_tree_add_subtree(tree, tvb, offset, len,
@@ -1072,8 +1065,7 @@ dissect_optional_14(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
dissect_control(tvb, offset, sublen, sub_tree, 1, LT);
} else {
/* Invalid */
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, offset), pinfo, tree);
+ call_data_dissector(tvb_new_subset_remaining(tvb, offset), pinfo, tree);
return;
}
/* No padding here */
@@ -1120,12 +1112,10 @@ dissect_optional_22(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
tvb, 16, 4, ENC_BIG_ENDIAN);
if (tvb_offset_exists(tvb, 20))
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, 20), pinfo, tree);
+ call_data_dissector(tvb_new_subset_remaining(tvb, 20), pinfo, tree);
} else {
if (tvb_offset_exists(tvb, 12))
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, 12), pinfo, tree);
+ call_data_dissector(tvb_new_subset_remaining(tvb, 12), pinfo, tree);
}
}
@@ -1146,9 +1136,7 @@ dissect_optional(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* Prevent loop for invalid crap in packet */
if (len == 0) {
- if (tree)
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, offset), pinfo, tree);
+ call_data_dissector(tvb_new_subset_remaining(tvb, offset), pinfo, tree);
return;
}
@@ -1200,8 +1188,7 @@ dissect_optional(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
len << 2, -1), pinfo, sub_tree);
break;
default:
- call_dissector(data_handle,
- tvb_new_subset(tvb, offset,
+ call_data_dissector(tvb_new_subset(tvb, offset,
len << 2, -1), pinfo, sub_tree);
}
offset += (len << 2);
@@ -1293,8 +1280,7 @@ dissect_nlp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
indx ++;
if (tvb_offset_exists(tvb, indx))
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, indx),
+ call_data_dissector(tvb_new_subset_remaining(tvb, indx),
pinfo, parent_tree);
return;
}
@@ -1348,8 +1334,7 @@ dissect_nlp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
if (tvb_get_guint8(tvb, indx+subindx+1) == 5)
dissect_control(tvb, indx + subindx, counter+2, nlp_tree, 1, LT);
else
- call_dissector(data_handle,
- tvb_new_subset(tvb, indx + subindx, counter+2,
+ call_data_dissector(tvb_new_subset(tvb, indx + subindx, counter+2,
-1), pinfo, nlp_tree);
subindx += (counter+2);
@@ -1364,8 +1349,7 @@ dissect_nlp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
if (((thdr_8 & 0x20) == 0) && thdr_dlf) {
col_set_str(pinfo->cinfo, COL_INFO, "HPR Fragment");
if (tvb_offset_exists(tvb, indx)) {
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, indx), pinfo,
+ call_data_dissector(tvb_new_subset_remaining(tvb, indx), pinfo,
parent_tree);
}
return;
@@ -1383,8 +1367,7 @@ dissect_nlp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
dissect_gds(tvb_new_subset_remaining(tvb, indx),
pinfo, tree, parent_tree);
} else
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, indx),
+ call_data_dissector(tvb_new_subset_remaining(tvb, indx),
pinfo, parent_tree);
}
}
@@ -1567,8 +1550,7 @@ dissect_xid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
break;
default:
/* external standards organizations */
- call_dissector(data_handle,
- tvb_new_subset(tvb, 6, len-6, -1),
+ call_data_dissector(tvb_new_subset(tvb, 6, len-6, -1),
pinfo, tree);
}
}
@@ -1577,8 +1559,7 @@ dissect_xid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
len = 6;
if (tvb_offset_exists(tvb, len))
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, len), pinfo, parent_tree);
+ call_data_dissector(tvb_new_subset_remaining(tvb, len), pinfo, parent_tree);
}
/* --------------------------------------------------------------------
@@ -2117,8 +2098,7 @@ dissect_fid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
th_header_len = dissect_fidf(tvb, th_tree);
break;
default:
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, 1), pinfo, parent_tree);
+ call_data_dissector(tvb_new_subset_remaining(tvb, 1), pinfo, parent_tree);
return;
}
@@ -2156,8 +2136,7 @@ dissect_fid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
return;
}
- call_dissector(data_handle,
- tvb_new_subset_remaining(rh_tvb, rh_offset),
+ call_data_dissector(tvb_new_subset_remaining(rh_tvb, rh_offset),
pinfo, parent_tree);
}
}
@@ -2436,8 +2415,7 @@ dissect_gds(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
} while(cont);
if (tvb_offset_exists(tvb, offset))
- call_dissector(data_handle,
- tvb_new_subset_remaining(tvb, offset), pinfo, parent_tree);
+ call_data_dissector(tvb_new_subset_remaining(tvb, offset), pinfo, parent_tree);
}
/* --------------------------------------------------------------------
@@ -3522,8 +3500,6 @@ proto_reg_handoff_sna(void)
dissector_add_uint("llc.xid_dsap", SAP_SNA3, sna_xid_handle);
/* RFC 2043 */
dissector_add_uint("ppp.protocol", PPP_SNA, sna_handle);
- data_handle = find_dissector("data");
-
}
/*