summaryrefslogtreecommitdiff
path: root/packet-atalk.c
diff options
context:
space:
mode:
authorGilbert Ramirez <gram@alumni.rice.edu>2000-05-11 08:18:09 +0000
committerGilbert Ramirez <gram@alumni.rice.edu>2000-05-11 08:18:09 +0000
commit292e38e2c61edcd14bfa30ca3c72bacda1bcbe32 (patch)
treedb4edef02456a48d0f6d505166ac7d70f6c0f644 /packet-atalk.c
parent162800efb308901e0c302517be01226130e39b19 (diff)
downloadwireshark-292e38e2c61edcd14bfa30ca3c72bacda1bcbe32.tar.gz
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
Diffstat (limited to 'packet-atalk.c')
-rw-r--r--packet-atalk.c68
1 files changed, 34 insertions, 34 deletions
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 <sxw@dcs.ed.ac.uk>
*
@@ -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<count; i++) {
@@ -336,7 +336,7 @@ dissect_nbp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
return;
}
- node_item = proto_tree_add_text(nbp_tree, offset, 4,
+ node_item = proto_tree_add_text(nbp_tree, NullTVB, offset, 4,
"Node %d", i+1);
node_tree = proto_item_add_subtree(node_item, ett_nbp_node);
@@ -347,13 +347,13 @@ dissect_nbp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
/* note, this is probably wrong, I need to look at my info at work
tomorrow to straighten it out */
- proto_tree_add_item(node_tree, hf_nbp_node_net, offset, 2, addr.net);
+ proto_tree_add_item(node_tree, hf_nbp_node_net, NullTVB, offset, 2, addr.net);
offset += 2;
- proto_tree_add_item(node_tree, hf_nbp_node_node, offset, 1, addr.node);
+ proto_tree_add_item(node_tree, hf_nbp_node_node, NullTVB, offset, 1, addr.node);
offset++;
- proto_tree_add_item(node_tree, hf_nbp_node_port, offset, 1, addr.port);
+ proto_tree_add_item(node_tree, hf_nbp_node_port, NullTVB, offset, 1, addr.port);
offset++;
- proto_tree_add_item(node_tree, hf_nbp_node_enum, offset, 1, pd[offset]);
+ proto_tree_add_item(node_tree, hf_nbp_node_enum, NullTVB, offset, 1, pd[offset]);
offset++;
offset = dissect_pascal_string(pd,offset,fd,node_tree,hf_nbp_node_object);
@@ -402,20 +402,20 @@ dissect_ddp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
val_to_str(ddp.type, op_vals, "Unknown DDP protocol (%02x)"));
if (tree) {
- ti = proto_tree_add_item(tree, proto_ddp, offset, DDP_HEADER_SIZE, NULL);
+ ti = proto_tree_add_item(tree, proto_ddp, NullTVB, offset, DDP_HEADER_SIZE, NULL);
ddp_tree = proto_item_add_subtree(ti, ett_ddp);
- proto_tree_add_item(ddp_tree, hf_ddp_hopcount, offset, 1,
+ proto_tree_add_item(ddp_tree, hf_ddp_hopcount, NullTVB, offset, 1,
ddp_hops(ddp.hops_len));
- proto_tree_add_item(ddp_tree, hf_ddp_len, offset, 2,
+ proto_tree_add_item(ddp_tree, hf_ddp_len, NullTVB, offset, 2,
ddp_len(ddp.hops_len));
- proto_tree_add_item(ddp_tree, hf_ddp_checksum, offset + 2, 2, ddp.sum);
- proto_tree_add_item(ddp_tree, hf_ddp_dst_net, offset + 4, 2, ddp.dnet);
- proto_tree_add_item(ddp_tree, hf_ddp_src_net, offset + 6, 2, ddp.snet);
- proto_tree_add_item(ddp_tree, hf_ddp_dst_node, offset + 8, 1, ddp.dnode);
- proto_tree_add_item(ddp_tree, hf_ddp_src_node, offset + 9, 1, ddp.snode);
- proto_tree_add_item(ddp_tree, hf_ddp_dst_socket, offset + 10, 1, ddp.dport);
- proto_tree_add_item(ddp_tree, hf_ddp_src_socket, offset + 11, 1, ddp.sport);
- proto_tree_add_item(ddp_tree, hf_ddp_type, offset + 12, 1, ddp.type);
+ proto_tree_add_item(ddp_tree, hf_ddp_checksum, NullTVB, offset + 2, 2, ddp.sum);
+ proto_tree_add_item(ddp_tree, hf_ddp_dst_net, NullTVB, offset + 4, 2, ddp.dnet);
+ proto_tree_add_item(ddp_tree, hf_ddp_src_net, NullTVB, offset + 6, 2, ddp.snet);
+ proto_tree_add_item(ddp_tree, hf_ddp_dst_node, NullTVB, offset + 8, 1, ddp.dnode);
+ proto_tree_add_item(ddp_tree, hf_ddp_src_node, NullTVB, offset + 9, 1, ddp.snode);
+ proto_tree_add_item(ddp_tree, hf_ddp_dst_socket, NullTVB, offset + 10, 1, ddp.dport);
+ proto_tree_add_item(ddp_tree, hf_ddp_src_socket, NullTVB, offset + 11, 1, ddp.sport);
+ proto_tree_add_item(ddp_tree, hf_ddp_type, NullTVB, offset + 12, 1, ddp.type);
}
offset += DDP_HEADER_SIZE;