aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-btl2cap.c
diff options
context:
space:
mode:
authorEvan Huus <eapache@gmail.com>2013-06-20 16:31:53 +0000
committerEvan Huus <eapache@gmail.com>2013-06-20 16:31:53 +0000
commit5d53d63cd79f48f15c16f41efe74c2a91a0c5003 (patch)
tree8295b22f500dc1517a113f85a3053d4367c99915 /epan/dissectors/packet-btl2cap.c
parent612d14c883ddc4aa46469c49183f53c99fdb634e (diff)
From Michal Labedzki via
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8824 Convert bluetooth emem trees to wmem trees. Add modelines and fix indentation. Correct typo in wmem_tree.h that still referred to emem. svn path=/trunk/; revision=50076
Diffstat (limited to 'epan/dissectors/packet-btl2cap.c')
-rw-r--r--epan/dissectors/packet-btl2cap.c53
1 files changed, 28 insertions, 25 deletions
diff --git a/epan/dissectors/packet-btl2cap.c b/epan/dissectors/packet-btl2cap.c
index 6cedf829ec..0892f0ddc7 100644
--- a/epan/dissectors/packet-btl2cap.c
+++ b/epan/dissectors/packet-btl2cap.c
@@ -143,13 +143,13 @@ static dissector_table_t l2cap_service_dissector_table;
* The same table is used both for SCID and DCID.
* For received CIDs we 'or' the cid with 0x80000000 in this table
*/
-static emem_tree_t *cid_to_psm_table = NULL;
-static emem_tree_t *sdp_service_infos = NULL;
+static wmem_tree_t *cid_to_psm_table = NULL;
+static wmem_tree_t *sdp_service_infos = NULL;
typedef struct _config_data_t {
guint8 mode;
guint8 txwindow;
- emem_tree_t *start_fragments; /* indexed by pinfo->fd->num */
+ wmem_tree_t *start_fragments; /* indexed by pinfo->fd->num */
} config_data_t;
typedef struct _sdu_reassembly_t
@@ -370,7 +370,7 @@ void proto_reg_handoff_btl2cap(void);
static guint16
get_service_uuid(packet_info *pinfo, guint16 psm, gboolean is_local_psm)
{
- emem_tree_key_t key[10];
+ wmem_tree_key_t key[10];
guint32 k_interface_id;
guint32 k_adapter_id;
guint32 k_sdp_psm;
@@ -432,7 +432,10 @@ get_service_uuid(packet_info *pinfo, guint16 psm, gboolean is_local_psm)
key[9].length = 0;
key[9].key = NULL;
- service_info = (service_info_t *) se_tree_lookup32_array_le(sdp_service_infos, key);
+ if (sdp_service_infos)
+ service_info = (service_info_t *) wmem_tree_lookup32_array_le(sdp_service_infos, key);
+ else
+ service_info = NULL;
if (service_info && service_info->interface_id == interface_id &&
service_info->adapter_id == adapter_id &&
service_info->sdp_psm == SDP_PSM_DEFAULT &&
@@ -522,7 +525,7 @@ dissect_connrequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *t
}
if (!pinfo->fd->flags.visited) {
- emem_tree_key_t key[6];
+ wmem_tree_key_t key[6];
guint32 k_interface_id;
guint32 k_adapter_id;
guint32 k_chandle;
@@ -553,10 +556,10 @@ dissect_connrequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *t
psm_data->local_service = (pinfo->p2p_dir == P2P_DIR_RECV) ? TRUE : FALSE;
psm_data->in.mode = 0;
psm_data->in.txwindow = 0;
- psm_data->in.start_fragments = se_tree_create_non_persistent(EMEM_TREE_TYPE_RED_BLACK, "bthci_l2cap fragment starts");
+ psm_data->in.start_fragments = wmem_tree_new(wmem_file_scope());
psm_data->out.mode = 0;
psm_data->out.txwindow = 0;
- psm_data->out.start_fragments = se_tree_create_non_persistent(EMEM_TREE_TYPE_RED_BLACK, "bthci_l2cap fragment starts");
+ psm_data->out.start_fragments = wmem_tree_new(wmem_file_scope());
psm_data->interface_id = k_interface_id;
psm_data->adapter_id = k_adapter_id;
psm_data->chandle = k_chandle;
@@ -575,7 +578,7 @@ dissect_connrequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *t
key[5].length = 0;
key[5].key = NULL;
- se_tree_insert32_array(cid_to_psm_table, key, psm_data);
+ wmem_tree_insert32_array(cid_to_psm_table, key, psm_data);
}
return offset;
}
@@ -755,7 +758,7 @@ dissect_configrequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
if (tvb_reported_length_remaining(tvb, offset) > 0) {
psm_data_t *psm_data;
config_data_t *config_data;
- emem_tree_key_t key[6];
+ wmem_tree_key_t key[6];
guint32 k_interface_id;
guint32 k_adapter_id;
guint32 k_chandle;
@@ -791,7 +794,7 @@ dissect_configrequest(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
key[5].length = 0;
key[5].key = NULL;
- psm_data = (psm_data_t *)se_tree_lookup32_array_le(cid_to_psm_table, key);
+ psm_data = (psm_data_t *)wmem_tree_lookup32_array_le(cid_to_psm_table, key);
if (psm_data && psm_data->interface_id == interface_id &&
psm_data->adapter_id == adapter_id &&
psm_data->chandle == chandle &&
@@ -945,7 +948,7 @@ dissect_configresponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
if (tvb_reported_length_remaining(tvb, offset) > 0) {
psm_data_t *psm_data;
config_data_t *config_data;
- emem_tree_key_t key[6];
+ wmem_tree_key_t key[6];
guint32 k_interface_id;
guint32 k_adapter_id;
guint32 k_chandle;
@@ -981,7 +984,7 @@ dissect_configresponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
key[5].length = 0;
key[5].key = NULL;
- psm_data = (psm_data_t *)se_tree_lookup32_array_le(cid_to_psm_table, key);
+ psm_data = (psm_data_t *)wmem_tree_lookup32_array_le(cid_to_psm_table, key);
if (psm_data && psm_data->interface_id == interface_id &&
psm_data->adapter_id == adapter_id &&
psm_data->chandle == chandle &&
@@ -1030,7 +1033,7 @@ dissect_connresponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *
if (pinfo->fd->flags.visited == 0) {
psm_data_t *psm_data;
- emem_tree_key_t key[6];
+ wmem_tree_key_t key[6];
guint32 k_interface_id;
guint32 k_adapter_id;
guint32 k_chandle;
@@ -1066,7 +1069,7 @@ dissect_connresponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *
key[5].length = 0;
key[5].key = NULL;
- psm_data = (psm_data_t *)se_tree_lookup32_array_le(cid_to_psm_table, key);
+ psm_data = (psm_data_t *)wmem_tree_lookup32_array_le(cid_to_psm_table, key);
if (psm_data && psm_data->interface_id == interface_id &&
psm_data->adapter_id == adapter_id &&
psm_data->chandle == chandle &&
@@ -1095,7 +1098,7 @@ dissect_connresponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *
psm_data->dcid = cid;
- se_tree_insert32_array(cid_to_psm_table, key, psm_data);
+ wmem_tree_insert32_array(cid_to_psm_table, key, psm_data);
}
}
@@ -1220,7 +1223,7 @@ dissect_disconnrequestresponse(tvbuff_t *tvb, int offset, packet_info *pinfo, pr
if (!pinfo->fd->flags.visited) {
psm_data_t *psm_data;
- emem_tree_key_t key[6];
+ wmem_tree_key_t key[6];
guint32 k_interface_id;
guint32 k_adapter_id;
guint32 k_chandle;
@@ -1258,7 +1261,7 @@ dissect_disconnrequestresponse(tvbuff_t *tvb, int offset, packet_info *pinfo, pr
key[5].length = 0;
key[5].key = NULL;
- psm_data = (psm_data_t *)se_tree_lookup32_array_le(cid_to_psm_table, key);
+ psm_data = (psm_data_t *)wmem_tree_lookup32_array_le(cid_to_psm_table, key);
if (psm_data && psm_data->interface_id == interface_id &&
psm_data->adapter_id == adapter_id &&
psm_data->chandle == chandle &&
@@ -1286,7 +1289,7 @@ dissect_disconnrequestresponse(tvbuff_t *tvb, int offset, packet_info *pinfo, pr
key[5].length = 0;
key[5].key = NULL;
- psm_data = (psm_data_t *)se_tree_lookup32_array_le(cid_to_psm_table, key);
+ psm_data = (psm_data_t *)wmem_tree_lookup32_array_le(cid_to_psm_table, key);
if (psm_data && psm_data->interface_id == interface_id &&
psm_data->adapter_id == adapter_id &&
psm_data->chandle == chandle &&
@@ -1421,9 +1424,9 @@ dissect_i_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_tree
mfp->reassembled = (guint8 *) wmem_alloc(wmem_file_scope(), sdulen);
tvb_memcpy(tvb, mfp->reassembled, offset, sdulen);
mfp->cur_off = sdulen;
- se_tree_insert32(config_data->start_fragments, pinfo->fd->num, mfp);
+ wmem_tree_insert32(config_data->start_fragments, pinfo->fd->num, mfp);
} else {
- mfp = (sdu_reassembly_t *)se_tree_lookup32(config_data->start_fragments, pinfo->fd->num);
+ mfp = (sdu_reassembly_t *)wmem_tree_lookup32(config_data->start_fragments, pinfo->fd->num);
}
if (mfp != NULL && mfp->last_frame) {
proto_item *item;
@@ -1440,7 +1443,7 @@ dissect_i_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_tree
length -= 4; /*Control, FCS*/
}
if (segment == 0x02 || segment == 0x03) {
- mfp = (sdu_reassembly_t *)se_tree_lookup32_le(config_data->start_fragments, pinfo->fd->num);
+ mfp = (sdu_reassembly_t *)wmem_tree_lookup32_le(config_data->start_fragments, pinfo->fd->num);
if (!pinfo->fd->flags.visited) {
if (mfp != NULL && !mfp->last_frame && (mfp->tot_len>=mfp->cur_off + length)) {
tvb_memcpy(tvb, mfp->reassembled + mfp->cur_off, offset, length);
@@ -1782,7 +1785,7 @@ dissect_btl2cap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
}
}
else /* if (cid >= BTL2CAP_FIXED_CID_MAX) */ { /* Connection oriented channel */
- emem_tree_key_t key[6];
+ wmem_tree_key_t key[6];
guint32 k_interface_id;
guint32 k_adapter_id;
guint32 k_chandle;
@@ -1817,7 +1820,7 @@ dissect_btl2cap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
key[5].length = 0;
key[5].key = NULL;
- psm_data = (psm_data_t *)se_tree_lookup32_array_le(cid_to_psm_table, key);
+ psm_data = (psm_data_t *)wmem_tree_lookup32_array_le(cid_to_psm_table, key);
if (psm_data && psm_data->interface_id == interface_id &&
psm_data->adapter_id == adapter_id &&
psm_data->chandle == chandle &&
@@ -2330,7 +2333,7 @@ proto_register_btl2cap(void)
proto_register_field_array(proto_btl2cap, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
- cid_to_psm_table = se_tree_create(EMEM_TREE_TYPE_RED_BLACK, "btl2cap scid to psm");
+ cid_to_psm_table = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope()); /* scid: psm */
}