aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packet-stat.c66
-rw-r--r--packet-ypserv.c26
2 files changed, 50 insertions, 42 deletions
diff --git a/packet-stat.c b/packet-stat.c
index 1fffb356ca..c14f623be0 100644
--- a/packet-stat.c
+++ b/packet-stat.c
@@ -1,7 +1,7 @@
/* packet-stat.c
* Routines for stat dissection
*
- * $Id: packet-stat.c,v 1.12 2002/01/24 09:20:52 guy Exp $
+ * $Id: packet-stat.c,v 1.13 2002/02/02 03:02:06 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -122,24 +122,24 @@ dissect_stat_stat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tre
static int
dissect_stat_stat_res(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
- proto_item* lock_item = NULL;
- proto_tree* lock_tree = NULL;
+ proto_item* sub_item = NULL;
+ proto_tree* sub_tree = NULL;
gint32 res;
gint32 state;
if (tree) {
- lock_item = proto_tree_add_item(tree, hf_stat_stat_res, tvb,
+ sub_item = proto_tree_add_item(tree, hf_stat_stat_res, tvb,
offset, -1, FALSE);
- if (lock_item)
- lock_tree = proto_item_add_subtree(lock_item, ett_stat_stat_res);
+ if (sub_item)
+ sub_tree = proto_item_add_subtree(sub_item, ett_stat_stat_res);
}
res = tvb_get_ntohl(tvb, offset);
- offset = dissect_rpc_uint32(tvb,pinfo,lock_tree,hf_stat_stat_res_res,offset);
+ offset = dissect_rpc_uint32(tvb,pinfo,sub_tree,hf_stat_stat_res_res,offset);
if (res==STAT_SUCC) {
state = tvb_get_ntohl(tvb, offset);
- offset = dissect_rpc_uint32(tvb,pinfo,lock_tree,hf_stat_stat_res_state,offset);
+ offset = dissect_rpc_uint32(tvb,pinfo,sub_tree,hf_stat_stat_res_state,offset);
} else {
offset += 4;
}
@@ -150,20 +150,20 @@ dissect_stat_stat_res(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
static int
dissect_stat_my_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
- proto_item* lock_item = NULL;
- proto_tree* lock_tree = NULL;
+ proto_item* sub_item = NULL;
+ proto_tree* sub_tree = NULL;
if (tree) {
- lock_item = proto_tree_add_item(tree, hf_stat_my_id, tvb,
+ sub_item = proto_tree_add_item(tree, hf_stat_my_id, tvb,
offset, my_id_len(tvb,offset), FALSE);
- if (lock_item)
- lock_tree = proto_item_add_subtree(lock_item, ett_stat_my_id);
+ if (sub_item)
+ sub_tree = proto_item_add_subtree(sub_item, ett_stat_my_id);
}
- offset = dissect_rpc_string(tvb,pinfo,lock_tree,hf_stat_my_id_hostname,offset,NULL);
- offset = dissect_rpc_uint32(tvb,pinfo,lock_tree,hf_stat_my_id_prog,offset);
- offset = dissect_rpc_uint32(tvb,pinfo,lock_tree,hf_stat_my_id_vers,offset);
- offset = dissect_rpc_uint32(tvb,pinfo,lock_tree,hf_stat_my_id_proc,offset);
+ offset = dissect_rpc_string(tvb,pinfo,sub_tree,hf_stat_my_id_hostname,offset,NULL);
+ offset = dissect_rpc_uint32(tvb,pinfo,sub_tree,hf_stat_my_id_prog,offset);
+ offset = dissect_rpc_uint32(tvb,pinfo,sub_tree,hf_stat_my_id_vers,offset);
+ offset = dissect_rpc_uint32(tvb,pinfo,sub_tree,hf_stat_my_id_proc,offset);
return offset;
}
@@ -171,20 +171,20 @@ dissect_stat_my_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tr
static int
dissect_stat_mon_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
- proto_item* lock_item = NULL;
- proto_tree* lock_tree = NULL;
+ proto_item* sub_item = NULL;
+ proto_tree* sub_tree = NULL;
if (tree) {
- lock_item = proto_tree_add_item(tree, hf_stat_mon, tvb,
+ sub_item = proto_tree_add_item(tree, hf_stat_mon, tvb,
offset, mon_id_len(tvb,offset), FALSE);
- if (lock_item)
- lock_tree = proto_item_add_subtree(lock_item, ett_stat_mon);
+ if (sub_item)
+ sub_tree = proto_item_add_subtree(sub_item, ett_stat_mon);
}
- offset = dissect_rpc_string(tvb,pinfo,lock_tree,hf_stat_mon_id_name,offset,NULL);
+ offset = dissect_rpc_string(tvb,pinfo,sub_tree,hf_stat_mon_id_name,offset,NULL);
- offset = dissect_stat_my_id(tvb,offset,pinfo,lock_tree);
+ offset = dissect_stat_my_id(tvb,offset,pinfo,sub_tree);
return offset;
}
@@ -219,20 +219,24 @@ dissect_stat_state(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tr
static int
dissect_stat_notify(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
- proto_item* lock_item = NULL;
- proto_tree* lock_tree = NULL;
+ proto_item* sub_item = NULL;
+ proto_tree* sub_tree = NULL;
+ int start_offset = offset;
if (tree) {
- lock_item = proto_tree_add_item(tree, hf_stat_stat_chge, tvb,
- offset, tvb_length_remaining(tvb, offset)-4, FALSE);
- if (lock_item)
- lock_tree = proto_item_add_subtree(lock_item, ett_stat_stat_chge);
+ sub_item = proto_tree_add_item(tree, hf_stat_stat_chge, tvb,
+ offset, -1, FALSE);
+ if (sub_item)
+ sub_tree = proto_item_add_subtree(sub_item, ett_stat_stat_chge);
}
- offset = dissect_rpc_string(tvb,pinfo,lock_tree,hf_stat_mon_id_name,offset,NULL);
+ offset = dissect_rpc_string(tvb,pinfo,sub_tree,hf_stat_mon_id_name,offset,NULL);
offset = dissect_rpc_uint32(tvb,pinfo,tree,hf_stat_state,offset);
+ if(sub_item)
+ proto_item_set_len(sub_item, offset - start_offset);
+
return offset;
}
diff --git a/packet-ypserv.c b/packet-ypserv.c
index 5dd4770b18..fdab29b3fa 100644
--- a/packet-ypserv.c
+++ b/packet-ypserv.c
@@ -1,7 +1,7 @@
/* packet-ypserv.c
* Routines for ypserv dissection
*
- * $Id: packet-ypserv.c,v 1.18 2001/12/23 21:36:58 guy Exp $
+ * $Id: packet-ypserv.c,v 1.19 2002/02/02 03:02:06 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -192,24 +192,25 @@ dissect_next_call(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tre
static int
dissect_xfr_call(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
- proto_item *lock_item=NULL;
- proto_tree *lock_tree=NULL;
+ proto_item *sub_item=NULL;
+ proto_tree *sub_tree=NULL;
+ int start_offset = offset;
guint32 tid;
if(tree){
- lock_item = proto_tree_add_item(tree, hf_ypserv_map_parms, tvb,
- offset, tvb_length_remaining(tvb, offset)-12, FALSE);
- if(lock_item)
- lock_tree = proto_item_add_subtree(lock_item, ett_ypserv_map_parms);
+ sub_item = proto_tree_add_item(tree, hf_ypserv_map_parms, tvb,
+ offset, -1, FALSE);
+ if(sub_item)
+ sub_tree = proto_item_add_subtree(sub_item, ett_ypserv_map_parms);
}
- offset = dissect_rpc_string(tvb, pinfo, lock_tree, hf_ypserv_domain, offset, NULL);
+ offset = dissect_rpc_string(tvb, pinfo, sub_tree, hf_ypserv_domain, offset, NULL);
- offset = dissect_rpc_string(tvb, pinfo, lock_tree, hf_ypserv_map, offset, NULL);
+ offset = dissect_rpc_string(tvb, pinfo, sub_tree, hf_ypserv_map, offset, NULL);
- offset = dissect_rpc_uint32(tvb, pinfo, lock_tree, hf_ypserv_ordernum, offset);
+ offset = dissect_rpc_uint32(tvb, pinfo, sub_tree, hf_ypserv_ordernum, offset);
- offset = dissect_rpc_string(tvb, pinfo, lock_tree, hf_ypserv_peer, offset, NULL);
+ offset = dissect_rpc_string(tvb, pinfo, sub_tree, hf_ypserv_peer, offset, NULL);
tid=tvb_get_ntohl(tvb,offset);
@@ -220,6 +221,9 @@ dissect_xfr_call(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree
offset = dissect_rpc_uint32(tvb, pinfo, tree, hf_ypserv_prog, offset);
offset = dissect_rpc_uint32(tvb, pinfo, tree, hf_ypserv_port, offset);
+ if(sub_item)
+ proto_item_set_len(sub_item, offset - start_offset);
+
return offset;
}