diff options
author | Guy Harris <guy@alum.mit.edu> | 2014-01-22 19:31:03 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2014-01-22 19:31:03 +0000 |
commit | 07f22ffd40cab30a49948b87aa26adc4ccb3db81 (patch) | |
tree | ed60adc7e82ac1261360202e204498efc98cbefe /epan/dissectors/packet-afp.c | |
parent | 2b26c1e216fee43fa7a802e75fd2e28e279cdc7a (diff) |
Use tvb_get_string_enc() rather than tvb_get_string().
XXX - if we supported various MacXXX character encodings, we could use
those; that might require a preference to specify the encoding.
svn path=/trunk/; revision=54906
Diffstat (limited to 'epan/dissectors/packet-afp.c')
-rw-r--r-- | epan/dissectors/packet-afp.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/epan/dissectors/packet-afp.c b/epan/dissectors/packet-afp.c index 362d648842..77f0e73944 100644 --- a/epan/dissectors/packet-afp.c +++ b/epan/dissectors/packet-afp.c @@ -1716,7 +1716,8 @@ name_in_bitmap(tvbuff_t *tvb, gint offset, guint16 bitmap, int isdir) tp_ofs = nameoff +org_offset; len = tvb_get_guint8(tvb, tp_ofs); tp_ofs++; - name = tvb_get_string(wmem_packet_scope(), tvb, tp_ofs, len); + /* XXX - code page,, e.g. Mac{Roman,Japanese,etc.} */ + name = tvb_get_string_enc(wmem_packet_scope(), tvb, tp_ofs, len, ENC_ASCII|ENC_NA); return name; } offset += 2; @@ -1754,7 +1755,7 @@ name_in_bitmap(tvbuff_t *tvb, gint offset, guint16 bitmap, int isdir) tp_ofs = nameoff +org_offset +4; len16 = tvb_get_ntohs(tvb, tp_ofs); tp_ofs += 2; - name = tvb_get_string(wmem_packet_scope(), tvb, tp_ofs, len16); + name = tvb_get_string_enc(wmem_packet_scope(), tvb, tp_ofs, len16, ENC_UTF_8|ENC_NA); return name; } } @@ -2522,7 +2523,7 @@ dissect_query_afp_login(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_tree_add_item(tree, hf_afp_Version, tvb, offset, 1, ENC_UTF_8|ENC_BIG_ENDIAN); offset += len +1; len_uam = tvb_get_guint8(tvb, offset); - uam = tvb_get_string(wmem_packet_scope(), tvb, offset +1, len_uam); + uam = tvb_get_string_enc(wmem_packet_scope(), tvb, offset +1, len_uam, ENC_UTF_8|ENC_NA); proto_tree_add_item(tree, hf_afp_UAM, tvb, offset, 1, ENC_UTF_8|ENC_BIG_ENDIAN); offset += len_uam +1; @@ -2555,7 +2556,7 @@ dissect_query_afp_login_ext(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *t offset += len +1; len_uam = tvb_get_guint8(tvb, offset); - uam = tvb_get_string(wmem_packet_scope(), tvb, offset +1, len_uam); + uam = tvb_get_string_enc(wmem_packet_scope(), tvb, offset +1, len_uam, ENC_UTF_8|ENC_NA); proto_tree_add_item(tree, hf_afp_UAM, tvb, offset, 1, ENC_UTF_8|ENC_BIG_ENDIAN); offset += len_uam +1; @@ -4254,7 +4255,7 @@ spotlight_dissect_query_loop(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree "%s, toc index: %u, string: '%s'", spotlight_get_cpx_qtype_string(complex_query_type), toc_index + 1, - tvb_get_string(wmem_packet_scope(), tvb, offset + 16, query_length - 8)); + tvb_get_string_enc(wmem_packet_scope(), tvb, offset + 16, query_length - 8, ENC_UTF_8|ENC_NA)); break; case SQ_CPX_TYPE_UTF16_STRING: /* @@ -4348,7 +4349,7 @@ spotlight_dissect_query_loop(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree switch (cpx_query_type) { case SQ_CPX_TYPE_STRING: proto_tree_add_text(tree, tvb, offset, query_length, "string: '%s'", - tvb_get_string(wmem_packet_scope(), tvb, offset + 8, query_length - 8)); + tvb_get_string_enc(wmem_packet_scope(), tvb, offset + 8, query_length - 8, ENC_UTF_8|ENC_NA)); break; case SQ_CPX_TYPE_UTF16_STRING: { /* description see above */ @@ -4421,7 +4422,7 @@ dissect_spotlight(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint offs proto_item *item_toc; proto_tree *sub_tree_toc; - if (strncmp(tvb_get_string(wmem_packet_scope(), tvb, offset, 8), "md031234", 8) == 0) + if (strncmp(tvb_get_string_enc(wmem_packet_scope(), tvb, offset, 8, ENC_UTF_8|ENC_NA), "md031234", 8) == 0) encoding = ENC_BIG_ENDIAN; else encoding = ENC_LITTLE_ENDIAN; @@ -4431,7 +4432,7 @@ dissect_spotlight(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint offs 8, "Endianness: %s", encoding == ENC_BIG_ENDIAN ? - "Big Endian" : "Litte Endian"); + "Big Endian" : "Little Endian"); offset += 8; toc_offset = (spotlight_ntoh64(tvb, offset, encoding) >> 32) * 8; @@ -4585,7 +4586,7 @@ dissect_query_afp_spotlight(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, switch (request_val->spotlight_req_command) { case SPOTLIGHT_CMD_GET_VOLPATH: - tvb_get_stringz(wmem_packet_scope(), tvb, offset, &len); + tvb_get_stringz_enc(wmem_packet_scope(), tvb, offset, &len, ENC_UTF_8|ENC_NA); proto_tree_add_item(tree, hf_afp_spotlight_volpath_client, tvb, offset, len, ENC_UTF_8|ENC_NA); offset += len; break; @@ -4801,7 +4802,7 @@ dissect_reply_afp_spotlight(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_tree_add_item(tree, hf_afp_spotlight_reply_reserved, tvb, offset, 4, ENC_BIG_ENDIAN); offset += 4; - tvb_get_stringz(wmem_packet_scope(), tvb, offset, &len); + tvb_get_stringz_enc(wmem_packet_scope(), tvb, offset, &len, ENC_UTF_8|ENC_NA); proto_tree_add_item(tree, hf_afp_spotlight_volpath_server, tvb, offset, len, ENC_UTF_8|ENC_NA); offset += len; break; |