diff options
author | Martin Kaiser <wireshark@kaiser.cx> | 2013-12-15 18:38:35 +0000 |
---|---|---|
committer | Martin Kaiser <wireshark@kaiser.cx> | 2013-12-15 18:38:35 +0000 |
commit | 9f22d3a558a1e90f4dd540ecc9ec6b02fc4bae9b (patch) | |
tree | 36c9be541dff42b02e4617f5b00eed37b04407f9 /epan/dissectors/packet-dvbci.c | |
parent | 9ce9b10645812e887d2554099371986b5d096372 (diff) |
improve DVB-SI string handling
new function dvb_add_chartbl() adds a tree entry for an encoding
use FT_BTYES as type for encoding hfs
string hfs for DVB-SI strings must have STR_UNICODE, not BASE_NONE
make dvb_string_encoding_vals[] internal to dvb_chartbl.c
svn path=/trunk/; revision=54128
Diffstat (limited to 'epan/dissectors/packet-dvbci.c')
-rw-r--r-- | epan/dissectors/packet-dvbci.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/epan/dissectors/packet-dvbci.c b/epan/dissectors/packet-dvbci.c index b55a25b4b1..cad347c2ed 100644 --- a/epan/dissectors/packet-dvbci.c +++ b/epan/dissectors/packet-dvbci.c @@ -2223,8 +2223,7 @@ dissect_si_string(tvbuff_t *tvb, gint offset, gint str_len, return; enc_len = dvb_analyze_string_charset(tvb, offset, str_len, &encoding); - proto_tree_add_uint(tree, hf_dvbci_mmi_char_tbl, - tvb, offset, enc_len, encoding); + dvb_add_chartbl(tree, hf_dvbci_mmi_char_tbl, tvb, offset, enc_len, encoding); offset += enc_len; str_len -= enc_len; @@ -2899,7 +2898,7 @@ dissect_dvbci_payload_mmi(guint32 tag, gint len_field, &ei_dvbci_invalid_char_tbl, tvb, offset, msg_len); break; } - proto_tree_add_uint(tree, hf_dvbci_mmi_char_tbl, + dvb_add_chartbl(tree, hf_dvbci_mmi_char_tbl, tvb, offset, enc_len, encoding); offset += enc_len; } @@ -3720,7 +3719,7 @@ dissect_dvbci_payload_opp(guint32 tag, gint len_field _U_, tvb_reported_length_remaining(tvb, offset)); break; } - proto_tree_add_uint(tree, hf_dvbci_opp_char_tbl, + dvb_add_chartbl(tree, hf_dvbci_opp_char_tbl, tvb, offset, enc_len, encoding); offset += enc_len; @@ -5283,7 +5282,7 @@ proto_register_dvbci(void) }, { &hf_dvbci_mmi_char_tbl, { "Character table", "dvb-ci.mmi.char_tbl", - FT_UINT32, BASE_HEX, VALS(dvb_string_encoding_vals), 0, NULL, HFILL} + FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL} }, { &hf_dvbci_blind_ans, { "Blind answer flag", "dvb-ci.mmi.blind_ans", @@ -5654,7 +5653,7 @@ proto_register_dvbci(void) }, { &hf_dvbci_opp_char_tbl, { "Character table", "dvb-ci.opp.char_tbl", - FT_UINT32, BASE_HEX, VALS(dvb_string_encoding_vals), 0, NULL, HFILL} + FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL} }, { &hf_dvbci_sdt_rst_trusted, { "SDT running status trusted", "dvb-ci.opp.sdt_rst_trusted", |