diff options
-rw-r--r-- | src/isi-call.c | 3 | ||||
-rw-r--r-- | src/isi-commgr.c | 3 | ||||
-rw-r--r-- | src/isi-gpds.c | 3 | ||||
-rw-r--r-- | src/isi-gps.c | 10 | ||||
-rw-r--r-- | src/isi-gss.c | 3 | ||||
-rw-r--r-- | src/isi-light.c | 3 | ||||
-rw-r--r-- | src/isi-mtc.c | 3 | ||||
-rw-r--r-- | src/isi-nameservice.c | 6 | ||||
-rw-r--r-- | src/isi-network.c | 3 | ||||
-rw-r--r-- | src/isi-phoneinfo.c | 3 | ||||
-rw-r--r-- | src/isi-pipe.c | 3 | ||||
-rw-r--r-- | src/isi-radiosettings.c | 3 | ||||
-rw-r--r-- | src/isi-selftest.c | 3 | ||||
-rw-r--r-- | src/isi-sim.c | 5 | ||||
-rw-r--r-- | src/isi-simauth.c | 3 | ||||
-rw-r--r-- | src/isi-sms.c | 24 | ||||
-rw-r--r-- | src/isi-ss.c | 3 | ||||
-rw-r--r-- | src/packet-isi.c | 4 |
18 files changed, 34 insertions, 54 deletions
diff --git a/src/isi-call.c b/src/isi-call.c index 98a4839..91e20ca 100644 --- a/src/isi-call.c +++ b/src/isi-call.c @@ -420,8 +420,7 @@ static void dissect_isi_call(tvbuff_t *tvb, packet_info *pinfo, proto_item *isit guint8 cmd; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_call_cmd, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-commgr.c b/src/isi-commgr.c index c28245d..fc57ed2 100644 --- a/src/isi-commgr.c +++ b/src/isi-commgr.c @@ -80,8 +80,7 @@ static void dissect_isi_commgr(tvbuff_t *tvb, packet_info *pinfo, proto_item *is guint8 cmd; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_commgr_cmd, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-gpds.c b/src/isi-gpds.c index ef6cfba..cff6f0c 100644 --- a/src/isi-gpds.c +++ b/src/isi-gpds.c @@ -772,8 +772,7 @@ static void dissect_isi_gpds(tvbuff_t *tvb, packet_info *pinfo, proto_item *isit guint8 cmd; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_gpds_cmd, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-gps.c b/src/isi-gps.c index c262cf6..1e4acfd 100644 --- a/src/isi-gps.c +++ b/src/isi-gps.c @@ -543,8 +543,8 @@ static size_t dissect_isi_location_subpkg(tvbuff_t *tvb, packet_info *pinfo, pro guint16 sptype = tvb_get_ntohs(tvb, offset+0); guint16 splen = tvb_get_ntohs(tvb, offset+2); - proto_item *subitem = proto_tree_add_text(tree, tvb, offset, splen, "Subpacket (%s)", val_to_str(sptype, isi_location_sub_id, "unknown: 0x%x")); - proto_tree *subtree = proto_item_add_subtree(subitem, ett_isi_msg); + proto_item *subitem; + proto_tree *subtree = proto_tree_add_subtree_format(tree, tvb, offset, splen, ett_isi_msg, &subitem, "Subpacket (%s)", val_to_str(sptype, isi_location_sub_id, "unknown: 0x%x")); proto_tree_add_item(subtree, hf_isi_location_sub_type, tvb, offset+0, 2, FALSE); proto_tree_add_item(subtree, hf_isi_location_sub_len, tvb, offset+2, 2, FALSE); @@ -646,8 +646,7 @@ static size_t dissect_isi_location_subpkg(tvbuff_t *tvb, packet_info *pinfo, pro int sat; for(sat = 0; sat < satellites ; sat++) { int pos = offset+4+(sat*SAT_PKG_LEN); - proto_item *satitem = proto_tree_add_text(subtree, tvb, pos, SAT_PKG_LEN, "Satellite %d", sat); - proto_tree *sattree = proto_item_add_subtree(satitem, ett_isi_msg); + proto_tree *sattree = proto_tree_add_subtree_format(subtree, tvb, offset, splen, ett_isi_msg, NULL, "Satellite %d", sat); float signal_strength = tvb_get_ntohs(tvb, pos+3) / 100.0; float elevation = tvb_get_ntohs(tvb, pos+6) / 100.0; @@ -692,8 +691,7 @@ static void dissect_isi_location(tvbuff_t *tvb, packet_info *pinfo, proto_item * int i; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_location_cmd, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-gss.c b/src/isi-gss.c index 9e977bf..aaab017 100644 --- a/src/isi-gss.c +++ b/src/isi-gss.c @@ -101,8 +101,7 @@ static void dissect_isi_gss(tvbuff_t *tvb, packet_info *pinfo, proto_item *isitr guint8 cmd, code; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_gss_message_id, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-light.c b/src/isi-light.c index 212355e..c65e5c8 100644 --- a/src/isi-light.c +++ b/src/isi-light.c @@ -121,8 +121,7 @@ static void dissect_isi_light(tvbuff_t *tvb, packet_info *pinfo, proto_item *isi guint8 cmd; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_light_cmd, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-mtc.c b/src/isi-mtc.c index 4306ffa..75300f3 100644 --- a/src/isi-mtc.c +++ b/src/isi-mtc.c @@ -296,8 +296,7 @@ static void dissect_isi_mtc(tvbuff_t *tvb, packet_info *pinfo, proto_item *isitr guint8 cmd; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_mtc_cmd, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-nameservice.c b/src/isi-nameservice.c index 53367b8..0d98066 100644 --- a/src/isi-nameservice.c +++ b/src/isi-nameservice.c @@ -98,8 +98,7 @@ void proto_register_isi_nameservice(void) { static void dissect_isi_nameservice_name(guint32 count, guint32 offset, tvbuff_t *tvb, packet_info *pinfo, proto_item *tree) { guint32 nr; for(nr = 0; nr < count; nr++, count--) { - proto_item *subitem = proto_tree_add_text(tree, tvb, offset, 0x08, "Entry %d", nr + 1); - proto_tree *subtree = proto_item_add_subtree(subitem, ett_isi_msg); + proto_tree *subtree = proto_tree_add_subtree_format(tree, tvb, offset, 0x08, ett_isi_msg, NULL, "Entry %d", nr + 1);; proto_tree_add_item(subtree, hf_isi_nameservice_name, tvb, 3, 4, FALSE); proto_tree_add_item(subtree, hf_isi_nameservice_dev, tvb, 8, 1, FALSE); proto_tree_add_item(subtree, hf_isi_nameservice_obj, tvb, 9, 1, FALSE); @@ -114,8 +113,7 @@ static void dissect_isi_nameservice(tvbuff_t *tvb, packet_info *pinfo, proto_ite guint8 cmd; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_nameservice_cmd, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-network.c b/src/isi-network.c index f06102c..fe6c186 100644 --- a/src/isi-network.c +++ b/src/isi-network.c @@ -598,8 +598,7 @@ static void dissect_isi_network(tvbuff_t *tvb, packet_info *pinfo, proto_item *i guint8 cmd; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_network_cmd, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-phoneinfo.c b/src/isi-phoneinfo.c index c689d58..4eb203e 100644 --- a/src/isi-phoneinfo.c +++ b/src/isi-phoneinfo.c @@ -461,8 +461,7 @@ static void dissect_isi_phoneinfo(tvbuff_t *tvb, packet_info *pinfo, proto_item guint8 cmd; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_phoneinfo_cmd, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-pipe.c b/src/isi-pipe.c index 6c2ae8a..aa70fae 100644 --- a/src/isi-pipe.c +++ b/src/isi-pipe.c @@ -230,8 +230,7 @@ static void dissect_isi_pipe(tvbuff_t *tvb, packet_info *pinfo, proto_item *isit guint8 cmd; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_pipe_cmd, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-radiosettings.c b/src/isi-radiosettings.c index e8ec36b..647fac5 100644 --- a/src/isi-radiosettings.c +++ b/src/isi-radiosettings.c @@ -63,8 +63,7 @@ static void dissect_isi_radiosettings(tvbuff_t *tvb, packet_info *pinfo, proto_i guint8 cmd; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_radiosettings_cmd, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-selftest.c b/src/isi-selftest.c index fd68a97..2a0b5cf 100644 --- a/src/isi-selftest.c +++ b/src/isi-selftest.c @@ -311,8 +311,7 @@ static void dissect_isi_selftest(tvbuff_t *tvb, packet_info *pinfo, proto_item * guint8 cmd; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_selftest_cmd, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-sim.c b/src/isi-sim.c index d135302..e00fa19 100644 --- a/src/isi-sim.c +++ b/src/isi-sim.c @@ -237,8 +237,7 @@ static void dissect_isi_sim(tvbuff_t *tvb, packet_info *pinfo, proto_item *isitr guint8 cmd, code; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_sim_message_id, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); @@ -265,7 +264,7 @@ static void dissect_isi_sim(tvbuff_t *tvb, packet_info *pinfo, proto_item *isitr code = tvb_get_guint8(tvb, 1); switch(code) { case 0x2F: - dissect_e212_mcc_mnc(tvb, pinfo, tree, 3, 1); + dissect_e212_mcc_mnc(tvb, pinfo, tree, 3, E212_NONE, TRUE); col_set_str(pinfo->cinfo, COL_INFO, "Network Information Response: Home PLMN"); break; default: diff --git a/src/isi-simauth.c b/src/isi-simauth.c index 64e87c4..c8c38e3 100644 --- a/src/isi-simauth.c +++ b/src/isi-simauth.c @@ -136,8 +136,7 @@ static void dissect_isi_sim_auth(tvbuff_t *tvb, packet_info *pinfo, proto_item * guint8 cmd, code; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_sim_auth_cmd, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/isi-sms.c b/src/isi-sms.c index 5ee7b7d..5bd0cce 100644 --- a/src/isi-sms.c +++ b/src/isi-sms.c @@ -214,6 +214,7 @@ static gint32 hf_isi_sms_addr_gsm0340_len = -1; static gint32 hf_isi_sms_addr_gsm0340_fmt = -1; static gint32 hf_isi_sms_data_bytes = -1; static gint32 hf_isi_sms_data_chars = -1; +static gint32 hf_isi_sms_message = -1; static gint32 hf_isi_sms_parameters = -1; static gint32 hf_isi_sms_reference = -1; static gint32 hf_isi_sms_udh_len = -1; @@ -282,6 +283,8 @@ void proto_register_isi_sms(void) { { "Common Data Bytes", "isi.sms.data.bytes", FT_UINT8, BASE_HEX, NULL, 0x0, "Common Data Bytes", HFILL }}, { &hf_isi_sms_data_chars, { "Common Data Characters", "isi.sms.data.chars", FT_UINT8, BASE_HEX, NULL, 0x0, "Common Data Characters", HFILL }}, + { &hf_isi_sms_message, + { "Message", "isi.sms.message", FT_STRING, BASE_NONE, NULL, 0x0, "SMS Message", HFILL }}, { &hf_isi_sms_parameters, { "Message Parameters", "isi.sms.tp.type", FT_UINT8, BASE_HEX, isi_sms_tpdu_type, 0x0, "TPDU Type", HFILL }}, { &hf_isi_sms_reference, @@ -379,8 +382,7 @@ static void dissect_isi_sms_data(tvbuff_t *tvb, packet_info *pinfo, proto_item * if(udhi) { udh_size = tvb_get_guint8(tvb, offset+2)+1; /* UDH Length*/ - proto_item *subitem = proto_tree_add_text(tree, tvb, offset+2, udh_size, "User Data Header"); - proto_tree *subtree = proto_item_add_subtree(subitem, ett_isi_msg); + proto_tree *subtree = proto_tree_add_subtree_format(tree, tvb, offset+2, udh_size, ett_isi_msg, NULL, "User Data Header"); proto_tree_add_item(subtree, hf_isi_sms_udh_len, tvb, offset+2, 1, FALSE); @@ -388,8 +390,8 @@ static void dissect_isi_sms_data(tvbuff_t *tvb, packet_info *pinfo, proto_item * guint8 udh_iei = tvb_get_guint8(tvb, offset+2+b); /* Information Element Identifier */ guint8 udh_sub_len = tvb_get_guint8(tvb, offset+2+b+1)+2; /* subpkg len (excluding iei + len) */ - proto_item *elesubitem = proto_tree_add_text(subtree, tvb, offset+2+b, udh_sub_len, "Information Element"); - proto_tree *elesubtree = proto_item_add_subtree(elesubitem, ett_isi_msg); + proto_item *elesubitem; + proto_tree *elesubtree = proto_tree_add_subtree_format(subtree, tvb, offset+2+b, udh_sub_len, ett_isi_msg, &elesubitem, "Information Element"); dissect_isi_sms_iei(tvb, pinfo, elesubitem, elesubtree, offset+2+b, udh_iei, udh_sub_len); @@ -447,7 +449,7 @@ static void dissect_isi_sms_data(tvbuff_t *tvb, packet_info *pinfo, proto_item * /* decode character set */ char *message = sms_translate_charset(msg); free(msg); - proto_tree_add_text(tree, tvb, offset+2+udh_size, bytes, "Message: %s", message); + proto_tree_add_string(tree, hf_isi_sms_message, tvb, offset+2+udh_size, bytes, message); } static void dissect_isi_sms_addr(tvbuff_t *tvb, packet_info *pinfo, proto_item *item, proto_tree *tree, guint32 offset) { @@ -549,8 +551,7 @@ static void dissect_isi_sms_submit(tvbuff_t *tvb, packet_info *pinfo, proto_item guint8 sptype = tvb_get_guint8(tvb, offset+0); guint8 splen = tvb_get_guint8(tvb, offset+1); - proto_item *subitem = proto_tree_add_text(tree, tvb, offset, splen, "Sub-Subpacket (%s)", val_to_str(sptype, isi_sms_sub_id, "unknown: 0x%x")); - proto_tree *subtree = proto_item_add_subtree(subitem, ett_isi_msg); + proto_tree *subtree = proto_tree_add_subtree_format(tree, tvb, offset, splen, ett_isi_msg, NULL, "Sub-Subpacket (%s)", val_to_str(sptype, isi_sms_sub_id, "unknown: 0x%x")); proto_tree_add_item(subtree, hf_isi_sms_sub_sub_type, tvb, offset+0, 1, FALSE); proto_tree_add_item(subtree, hf_isi_sms_sub_sub_len, tvb, offset+1, 1, FALSE); @@ -578,8 +579,7 @@ static void dissect_isi_sms(tvbuff_t *tvb, packet_info *pinfo, proto_item *isitr size_t offset; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_sms_message_id, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); @@ -601,8 +601,7 @@ static void dissect_isi_sms(tvbuff_t *tvb, packet_info *pinfo, proto_item *isitr guint8 sptype = tvb_get_guint8(tvb, offset+0); guint8 splen = tvb_get_guint8(tvb, offset+1); - proto_item *subitem = proto_tree_add_text(tree, tvb, offset, splen, "Subpacket (%s)", val_to_str(sptype, isi_sms_sub_id, "unknown: 0x%x")); - proto_tree *subtree = proto_item_add_subtree(subitem, ett_isi_msg); + proto_tree *subtree = proto_tree_add_subtree_format(tree, tvb, offset, splen, ett_isi_msg, NULL, "Sub-Subpacket (%s)", val_to_str(sptype, isi_sms_sub_id, "unknown: 0x%x")); proto_tree_add_item(subtree, hf_isi_sms_sub_type, tvb, offset+0, 1, FALSE); proto_tree_add_item(subtree, hf_isi_sms_sub_len, tvb, offset+1, 1, FALSE); @@ -631,8 +630,7 @@ static void dissect_isi_sms(tvbuff_t *tvb, packet_info *pinfo, proto_item *isitr guint8 sptype = tvb_get_guint8(tvb, offset+0); guint8 splen = tvb_get_guint8(tvb, offset+1); - proto_item *subitem = proto_tree_add_text(tree, tvb, offset, splen, "Subpacket (%s)", val_to_str(sptype, isi_sms_sub_id, "unknown: 0x%x")); - proto_tree *subtree = proto_item_add_subtree(subitem, ett_isi_msg); + proto_tree *subtree = proto_tree_add_subtree_format(tree, tvb, offset, splen, ett_isi_msg, NULL, "Sub-Subpacket (%s)", val_to_str(sptype, isi_sms_sub_id, "unknown: 0x%x")); proto_tree_add_item(subtree, hf_isi_sms_sub_type, tvb, offset+0, 1, FALSE); proto_tree_add_item(subtree, hf_isi_sms_sub_len, tvb, offset+1, 1, FALSE); diff --git a/src/isi-ss.c b/src/isi-ss.c index c98f031..b143020 100644 --- a/src/isi-ss.c +++ b/src/isi-ss.c @@ -158,8 +158,7 @@ static void dissect_isi_ss(tvbuff_t *tvb, packet_info *pinfo, proto_item *isitre guint8 cmd, code; if(isitree) { - item = proto_tree_add_text(isitree, tvb, 0, -1, "Payload"); - tree = proto_item_add_subtree(item, ett_isi_msg); + tree = proto_tree_add_subtree_format(isitree, tvb, 0, -1, ett_isi_msg, &item, "Payload"); proto_tree_add_item(tree, hf_isi_ss_message_id, tvb, 0, 1, FALSE); cmd = tvb_get_guint8(tvb, 0); diff --git a/src/packet-isi.c b/src/packet-isi.c index 0726227..6c11baa 100644 --- a/src/packet-isi.c +++ b/src/packet-isi.c @@ -474,8 +474,8 @@ void dissect_isi_subpacket(gint32 hf_sub_type, guint8 offset, tvbuff_t *tvb, guint8 sptype = tvb_get_guint8(tvb, offset+0x00); guint8 splen = tvb_get_guint8(tvb, offset+0x01); - proto_item *subitem = proto_tree_add_text(tree, tvb, offset, splen, "Subpacket #%d", i+1); - proto_tree *subtree = proto_item_add_subtree(subitem, ett_isi_msg); + proto_item *subitem; + proto_tree *subtree = proto_tree_add_subtree_format(tree, tvb, offset, splen, ett_isi_msg, &subitem, "Subpacket #%d", i+1); proto_tree_add_item(subtree, hf_sub_type, tvb, offset+0x00, 1, FALSE); proto_tree_add_item(subtree, hf_isi_sub_length, tvb, offset+0x01, 1, FALSE); |