aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2002-10-29 07:22:55 +0000
committerGuy Harris <guy@alum.mit.edu>2002-10-29 07:22:55 +0000
commit663bc2174e185804d1aa41c664a27ff6093a131d (patch)
tree801aaeef830d57d565a682332c8e66c0d086dafe /epan
parentf806f64b713cfbcad5e22f8a48e44a6edeed4de6 (diff)
Move the stuff to save, recompute, and restore "can_desegment" out of
"try_circuit_dissector()" and "try_conversation_dissector()", as both fo them call "call_dissector()" and "call_dissector()" now does that stuff itself. svn path=/trunk/; revision=6520
Diffstat (limited to 'epan')
-rw-r--r--epan/circuit.c17
-rw-r--r--epan/conversation.c17
2 files changed, 4 insertions, 30 deletions
diff --git a/epan/circuit.c b/epan/circuit.c
index d12fd6c1f1..f4a180a813 100644
--- a/epan/circuit.c
+++ b/epan/circuit.c
@@ -1,7 +1,7 @@
/* circuit.c
* Routines for building lists of packets that are part of a "circuit"
*
- * $Id: circuit.c,v 1.1 2002/10/22 08:43:44 guy Exp $
+ * $Id: circuit.c,v 1.2 2002/10/29 07:22:55 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -251,28 +251,15 @@ try_circuit_dissector(circuit_type ctype, guint32 circuit_id, tvbuff_t *tvb,
packet_info *pinfo, proto_tree *tree)
{
circuit_t *circuit;
- guint16 saved_can_desegment;
-
- /* can_desegment is set to 2 by anyone which offers this api/service.
- then everytime a subdissector is called it is decremented by one.
- thus only the subdissector immediately ontop of whoever offers this
- service can use it.
- */
- saved_can_desegment=pinfo->can_desegment;
- pinfo->can_desegment = saved_can_desegment-(saved_can_desegment>0);
circuit = find_circuit(ctype, circuit_id);
if (circuit != NULL) {
- if (circuit->dissector_handle == NULL){
- pinfo->can_desegment=saved_can_desegment;
+ if (circuit->dissector_handle == NULL)
return FALSE;
- }
call_dissector(circuit->dissector_handle, tvb, pinfo,
tree);
- pinfo->can_desegment=saved_can_desegment;
return TRUE;
}
- pinfo->can_desegment=saved_can_desegment;
return FALSE;
}
diff --git a/epan/conversation.c b/epan/conversation.c
index 566ea3bb63..44fe761fbb 100644
--- a/epan/conversation.c
+++ b/epan/conversation.c
@@ -1,7 +1,7 @@
/* conversation.c
* Routines for building lists of packets that are part of a "conversation"
*
- * $Id: conversation.c,v 1.20 2002/08/28 20:40:44 jmayer Exp $
+ * $Id: conversation.c,v 1.21 2002/10/29 07:22:55 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -910,29 +910,16 @@ try_conversation_dissector(address *addr_a, address *addr_b, port_type ptype,
proto_tree *tree)
{
conversation_t *conversation;
- guint16 saved_can_desegment;
-
- /* can_desegment is set to 2 by anyone which offers this api/service.
- then everytime a subdissector is called it is decremented by one.
- thus only the subdissector immediately ontop of whoever offers this
- service can use it.
- */
- saved_can_desegment=pinfo->can_desegment;
- pinfo->can_desegment = saved_can_desegment-(saved_can_desegment>0);
conversation = find_conversation(addr_a, addr_b, ptype, port_a,
port_b, 0);
if (conversation != NULL) {
- if (conversation->dissector_handle == NULL){
- pinfo->can_desegment=saved_can_desegment;
+ if (conversation->dissector_handle == NULL)
return FALSE;
- }
call_dissector(conversation->dissector_handle, tvb, pinfo,
tree);
- pinfo->can_desegment=saved_can_desegment;
return TRUE;
}
- pinfo->can_desegment=saved_can_desegment;
return FALSE;
}