diff options
author | Gilbert Ramirez <gram@alumni.rice.edu> | 2000-03-12 04:48:32 +0000 |
---|---|---|
committer | Gilbert Ramirez <gram@alumni.rice.edu> | 2000-03-12 04:48:32 +0000 |
commit | f6e92a9e939a28327eea49b5931715ba97a62970 (patch) | |
tree | 0b5f52ee7613baacc77f73697eb895592aa6a137 /packet-aarp.c | |
parent | 3d6cb57256c889b2f1ba51e89886d9bb9ea812fb (diff) |
Break proto_tree_add_item_format() into multiple functions:
proto_tree_add_protocol_format()
proto_tree_add_uint_format()
proto_tree_add_ipxnet_format()
proto_tree_add_ipv4_format()
proto_tree_add_ipv6_format()
proto_tree_add_bytes_format()
proto_tree_add_string_format()
proto_tree_add_ether_format()
proto_tree_add_time_format()
proto_tree_add_double_format()
proto_tree_add_boolean_format()
If using GCC 2.x, we can check the print-format against the variable args
passed in. Regardless of compiler, we can now check at run-time that the
field type passed into the function corresponds to what that function
expects (FT_UINT, FT_BOOLEAN, etc.)
Note that proto_tree_add_protocol_format() does not require a value field,
since the value of a protocol is always NULL. It's more intuitive w/o the
vestigial argument.
Fixed a proto_tree_add_item_format-related bug in packet-isis-hello.c
Fixed a variable usage bug in packet-v120.c. (ett_* was used instead of hf_*)
Checked in Guy's fix for the function declearation for proto_tree_add_text()
and proto_tree_add_notext().
svn path=/trunk/; revision=1713
Diffstat (limited to 'packet-aarp.c')
-rw-r--r-- | packet-aarp.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/packet-aarp.c b/packet-aarp.c index 49af2ede28..f12149aeb8 100644 --- a/packet-aarp.c +++ b/packet-aarp.c @@ -1,7 +1,7 @@ /* packet-aarp.c * Routines for Appletalk ARP packet disassembly * - * $Id: packet-aarp.c,v 1.16 1999/12/10 00:45:15 nneul Exp $ + * $Id: packet-aarp.c,v 1.17 2000/03/12 04:47:33 gram Exp $ * * Simon Wilkinson <sxw@dcs.ed.ac.uk> * @@ -191,13 +191,13 @@ dissect_aarp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) { if (tree) { if ((op_str = match_strval(ar_op, op_vals))) - ti = proto_tree_add_item_format(tree, proto_aarp, offset, + ti = proto_tree_add_protocol_format(tree, proto_aarp, offset, MIN_AARP_HEADER_SIZE + 2*ar_hln + - 2*ar_pln, NULL, "AppleTalk Address Resolution Protocol (%s)", op_str); + 2*ar_pln, "AppleTalk Address Resolution Protocol (%s)", op_str); else - ti = proto_tree_add_item_format(tree, proto_aarp, offset, + ti = proto_tree_add_protocol_format(tree, proto_aarp, offset, MIN_AARP_HEADER_SIZE + 2*ar_hln + - 2*ar_pln, NULL, + 2*ar_pln, "AppleTalk Address Resolution Protocol (opcode 0x%04x)", ar_op); aarp_tree = proto_item_add_subtree(ti, ett_aarp); proto_tree_add_item(aarp_tree, hf_aarp_hard_type, offset + AR_HRD, 2, @@ -210,16 +210,16 @@ dissect_aarp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) { ar_pln); proto_tree_add_item(aarp_tree, hf_aarp_opcode, offset + AR_OP, 2, ar_op); - proto_tree_add_item_format(aarp_tree, hf_aarp_src_ether, sha_offset, ar_hln, + proto_tree_add_bytes_format(aarp_tree, hf_aarp_src_ether, sha_offset, ar_hln, &pd[sha_offset], "Sender hardware address: %s", sha_str); - proto_tree_add_item_format(aarp_tree, hf_aarp_src_id, spa_offset, ar_pln, + proto_tree_add_bytes_format(aarp_tree, hf_aarp_src_id, spa_offset, ar_pln, &pd[spa_offset], "Sender ID: %s", spa_str); - proto_tree_add_item_format(aarp_tree, hf_aarp_dst_ether, tha_offset, ar_hln, + proto_tree_add_bytes_format(aarp_tree, hf_aarp_dst_ether, tha_offset, ar_hln, &pd[tha_offset], "Target hardware address: %s", tha_str); - proto_tree_add_item_format(aarp_tree, hf_aarp_dst_id, tpa_offset, ar_pln, + proto_tree_add_bytes_format(aarp_tree, hf_aarp_dst_id, tpa_offset, ar_pln, &pd[tpa_offset], "Target ID: %s", tpa_str); } |