aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-nsip.c
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2005-09-11 21:25:37 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2005-09-11 21:25:37 +0000
commit8641192db38d14218994b79e3bd53d2066f74615 (patch)
tree802a39b3b32b8079ff58c90a7a4e4be6385eb515 /epan/dissectors/packet-nsip.c
parent86d831bcefb013befdd8d10d1780d4cbd83c42fa (diff)
Replace tvb_memcpy() calls that extract IPv4 addresses into a guint32,
and that extract IPv6 addresses into a "struct e_in6_addr", with tvb_get_ipv4() and tvb_get_ipv6() calls - except for some that we remove, by using proto_tree_add_item(), rather than replacing. Have epan/tvbuff.h include epan/ipv6-utils.h, to define "struct e_in6_addr" (not necessary to declare the tvbuff routines, but including it there means "struct e_in6_addr" is guaranteed to be defined before those declarations, so we don't get compiler complaints if we define it *after* those declarations). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15758 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-nsip.c')
-rw-r--r--epan/dissectors/packet-nsip.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/epan/dissectors/packet-nsip.c b/epan/dissectors/packet-nsip.c
index 526a985a2f..d7bb036d56 100644
--- a/epan/dissectors/packet-nsip.c
+++ b/epan/dissectors/packet-nsip.c
@@ -36,7 +36,6 @@
#include <glib.h>
#include <epan/packet.h>
-#include <epan/ipv6-utils.h>
#include <prefs.h>
#define NSIP_DEBUG 0
@@ -393,8 +392,7 @@ decode_ip_element(nsip_ip_element_info_t *element, build_info_t *bi, proto_tree
/* IP address */
switch (element->version) {
case NSIP_IP_VERSION_4:
- tvb_memcpy(bi->tvb, (guint8 *)&ip4_addr, bi->offset,
- element->address_length);
+ ip4_addr = tvb_get_ipv4(bi->tvb, bi->offset);
proto_tree_add_item(field_tree, hf_nsip_ip_address_ipv4,
bi->tvb, bi->offset, element->address_length,
NSIP_LITTLE_ENDIAN);
@@ -403,8 +401,7 @@ decode_ip_element(nsip_ip_element_info_t *element, build_info_t *bi, proto_tree
break;
case NSIP_IP_VERSION_6:
- tvb_memcpy(bi->tvb, (guint8 *)&ip6_addr, bi->offset,
- sizeof(struct e_in6_addr));
+ tvb_get_ipv6(bi->tvb, bi->offset, &ip6_addr);
proto_tree_add_item(field_tree, hf_nsip_ip_address_ipv6, bi->tvb,
bi->offset, element->address_length,
NSIP_LITTLE_ENDIAN);
@@ -530,8 +527,7 @@ decode_iei_ip_address(nsip_ie_t *ie, build_info_t *bi, int ie_start_offset) {
switch (address_type) {
case NSIP_IP_ADDRESS_TYPE_IPV4:
ie->total_length = 2 + ipv4_element.address_length;
- tvb_memcpy(bi->tvb, (guint8 *)&ip4_addr, bi->offset,
- ipv4_element.address_length);
+ ip4_addr = tvb_get_ipv4(bi->tvb, bi->offset);
if (bi->nsip_tree) {
proto_tree_add_ipv4(bi->nsip_tree, hf_nsip_ip_address_ipv4,
bi->tvb, ie_start_offset, ie->total_length,
@@ -540,8 +536,7 @@ decode_iei_ip_address(nsip_ie_t *ie, build_info_t *bi, int ie_start_offset) {
break;
case NSIP_IP_ADDRESS_TYPE_IPV6:
ie->total_length = 2 + ipv6_element.address_length;
- tvb_memcpy(bi->tvb, (guint8 *)&ip6_addr, bi->offset,
- sizeof(struct e_in6_addr));
+ tvb_get_ipv6(bi->tvb, bi->offset, &ip6_addr);
if (bi->nsip_tree) {
proto_tree_add_ipv6(bi->nsip_tree, hf_nsip_ip_address_ipv4,
bi->tvb, ie_start_offset, ie->total_length,