From 292e38e2c61edcd14bfa30ca3c72bacda1bcbe32 Mon Sep 17 00:00:00 2001 From: Gilbert Ramirez Date: Thu, 11 May 2000 08:18:09 +0000 Subject: Add tvbuff class. Add exceptions routines. Convert proto_tree_add_*() routines to require tvbuff_t* argument. Convert all dissectors to pass NULL argument ("NullTVB" macro == NULL) as the tvbuff_t* argument to proto_tree_add_*() routines. dissect_packet() creates a tvbuff_t, wraps the next dissect call in a TRY block, will print "Short Frame" on the proto_tree if a BoundsError exception is caught. The FDDI dissector is converted to use tvbuff's. svn path=/trunk/; revision=1939 --- packet-atalk.c | 68 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) (limited to 'packet-atalk.c') diff --git a/packet-atalk.c b/packet-atalk.c index b599f84837..6023821b1a 100644 --- a/packet-atalk.c +++ b/packet-atalk.c @@ -1,7 +1,7 @@ /* packet-atalk.c * Routines for Appletalk packet disassembly (DDP, currently). * - * $Id: packet-atalk.c,v 1.33 2000/04/16 21:37:03 guy Exp $ + * $Id: packet-atalk.c,v 1.34 2000/05/11 08:14:55 gram Exp $ * * Simon Wilkinson * @@ -172,11 +172,11 @@ int dissect_pascal_string(const u_char *pd, int offset, frame_data *fd, tmp = g_malloc( len+1 ); memcpy(tmp, &pd[offset], len); tmp[len] = 0; - item = proto_tree_add_item(tree, hf_index, offset-1, len+1, tmp); + item = proto_tree_add_item(tree, hf_index, NullTVB, offset-1, len+1, tmp); subtree = proto_item_add_subtree(item, ett_pstring); - proto_tree_add_text(subtree, offset-1, 1, "Length: %d", len); - proto_tree_add_text(subtree, offset, len, "Data: %s", tmp); + proto_tree_add_text(subtree, NullTVB, offset-1, 1, "Length: %d", len); + proto_tree_add_text(subtree, NullTVB, offset, len, "Data: %s", tmp); g_free(tmp); } @@ -223,12 +223,12 @@ dissect_rtmp_data(const u_char *pd, int offset, frame_data *fd, proto_tree *tree net, nodelen_bits, node); if (tree) { - ti = proto_tree_add_item(tree, proto_rtmp, offset, END_OF_FRAME, NULL); + ti = proto_tree_add_item(tree, proto_rtmp, NullTVB, offset, END_OF_FRAME, NULL); rtmp_tree = proto_item_add_subtree(ti, ett_rtmp); - proto_tree_add_item(rtmp_tree, hf_rtmp_net, offset, 2, net); - proto_tree_add_item(rtmp_tree, hf_rtmp_node_len, offset+2, 1, nodelen_bits); - proto_tree_add_item(rtmp_tree, hf_rtmp_node, offset+3, nodelen, nodelen); + proto_tree_add_item(rtmp_tree, hf_rtmp_net, NullTVB, offset, 2, net); + proto_tree_add_item(rtmp_tree, hf_rtmp_node_len, NullTVB, offset+2, 1, nodelen_bits); + proto_tree_add_item(rtmp_tree, hf_rtmp_node, NullTVB, offset+3, nodelen, nodelen); offset += 3 + nodelen; i = 1; @@ -247,14 +247,14 @@ dissect_rtmp_data(const u_char *pd, int offset, frame_data *fd, proto_tree *tree tuple_net = pntohs(&pd[offset]); tuple_dist = pd[offset+2]; - tuple_item = proto_tree_add_text(rtmp_tree, offset, 3, + tuple_item = proto_tree_add_text(rtmp_tree, NullTVB, offset, 3, "Tuple %d: Net: %d Dist: %d", i, tuple_net, tuple_dist); tuple_tree = proto_item_add_subtree(tuple_item, ett_rtmp_tuple); - proto_tree_add_item(tuple_tree, hf_rtmp_tuple_net, offset, 2, + proto_tree_add_item(tuple_tree, hf_rtmp_tuple_net, NullTVB, offset, 2, tuple_net); - proto_tree_add_item(tuple_tree, hf_rtmp_tuple_dist, offset+2, 1, + proto_tree_add_item(tuple_tree, hf_rtmp_tuple_dist, NullTVB, offset+2, 1, tuple_dist); if ( tuple_dist == 0 || tuple_dist & 0x80 ) /* phase 1/2 */ @@ -268,9 +268,9 @@ dissect_rtmp_data(const u_char *pd, int offset, frame_data *fd, proto_tree *tree tuple_net2 = pntohs(&pd[offset+3]); tuple_dist2 = pd[offset+5]; - proto_tree_add_item(tuple_tree, hf_rtmp_tuple_net, offset, 2, + proto_tree_add_item(tuple_tree, hf_rtmp_tuple_net, NullTVB, offset, 2, tuple_net2); - proto_tree_add_item(tuple_tree, hf_rtmp_tuple_dist, offset+2, 1, + proto_tree_add_item(tuple_tree, hf_rtmp_tuple_dist, NullTVB, offset+2, 1, tuple_dist2); proto_item_set_len(tuple_item, 6); @@ -312,18 +312,18 @@ dissect_nbp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) { val_to_str(op, nbp_op_vals, "unknown (%1x)"), count); if (tree) { - ti = proto_tree_add_item(tree, proto_nbp, offset, END_OF_FRAME, NULL); + ti = proto_tree_add_item(tree, proto_nbp, NullTVB, offset, END_OF_FRAME, NULL); nbp_tree = proto_item_add_subtree(ti, ett_nbp); - info_item = proto_tree_add_uint_format(nbp_tree, hf_nbp_info, offset, 1, + info_item = proto_tree_add_uint_format(nbp_tree, hf_nbp_info, NullTVB, offset, 1, pd[offset], "Info: 0x%01X Operation: %s Count: %d", pd[offset], val_to_str(op, nbp_op_vals, "unknown"), count); nbp_info_tree = proto_item_add_subtree(info_item, ett_nbp_info); - proto_tree_add_item(nbp_info_tree, hf_nbp_op, offset, 1, pd[offset]); - proto_tree_add_item(nbp_info_tree, hf_nbp_count, offset, 1, pd[offset]); - proto_tree_add_item(nbp_tree, hf_nbp_tid, offset+1, 1, pd[offset+1]); + proto_tree_add_item(nbp_info_tree, hf_nbp_op, NullTVB, offset, 1, pd[offset]); + proto_tree_add_item(nbp_info_tree, hf_nbp_count, NullTVB, offset, 1, pd[offset]); + proto_tree_add_item(nbp_tree, hf_nbp_tid, NullTVB, offset+1, 1, pd[offset+1]); offset += 2; for (i=0; i