aboutsummaryrefslogtreecommitdiffstats
path: root/epan/conversation_table.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2014-07-26 12:41:27 -0400
committerMichael Mann <mmann78@netscape.net>2014-07-30 16:12:54 +0000
commitdcf6d44b7f5e69e08be8ccd452b87733326053cc (patch)
tree8d68df38e6b5ed2c6caa5f2ccd6c1425eea95d90 /epan/conversation_table.c
parent54777bf31566e0e72e9204fd0d60bfbe8521d6c3 (diff)
Apply refactored "conversation" (tap) data to TShark.
I intentionally left the fields displayed alone (so they don't exactly match Wireshark GUI), because as Guy points out in bug 6310, not sure its A Bug or A Feature. But at least all types of conversations allowed are in sync with Wireshark GUI. Bug:6310 Change-Id: I722837df510a39dadc1f9a07a99275509516698c Reviewed-on: https://code.wireshark.org/review/3212 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/conversation_table.c')
-rw-r--r--epan/conversation_table.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/epan/conversation_table.c b/epan/conversation_table.c
index 50f1954ea9..57bbb6f9d7 100644
--- a/epan/conversation_table.c
+++ b/epan/conversation_table.c
@@ -439,9 +439,10 @@ const char *get_conversation_filter(conv_item_t *conv_item, conv_direction_e dir
}
void
-add_conversation_table_data(conv_hash_t *ch, const address *src, const address *dst, guint32 src_port, guint32 dst_port, int num_frames, int num_bytes, nstime_t *ts, ct_dissector_info_t *ct_info, port_type ptype)
+add_conversation_table_data(conv_hash_t *ch, const address *src, const address *dst, guint32 src_port, guint32 dst_port, int num_frames, int num_bytes,
+ nstime_t *ts, nstime_t *abs_ts, ct_dissector_info_t *ct_info, port_type ptype)
{
- add_conversation_table_data_with_conv_id(ch, src, dst, src_port, dst_port, CONV_ID_UNSET, num_frames, num_bytes, ts, ct_info, ptype);
+ add_conversation_table_data_with_conv_id(ch, src, dst, src_port, dst_port, CONV_ID_UNSET, num_frames, num_bytes, ts, abs_ts, ct_info, ptype);
}
void
@@ -455,6 +456,7 @@ add_conversation_table_data_with_conv_id(
int num_frames,
int num_bytes,
nstime_t *ts,
+ nstime_t *abs_ts,
ct_dissector_info_t *ct_info,
port_type ptype)
{
@@ -530,7 +532,9 @@ add_conversation_table_data_with_conv_id(
if (ts) {
memcpy(&new_conv_item.start_time, ts, sizeof(new_conv_item.start_time));
memcpy(&new_conv_item.stop_time, ts, sizeof(new_conv_item.stop_time));
+ memcpy(&new_conv_item.start_abs_time, abs_ts, sizeof(new_conv_item.start_abs_time));
} else {
+ nstime_set_unset(&new_conv_item.start_abs_time);
nstime_set_unset(&new_conv_item.start_time);
nstime_set_unset(&new_conv_item.stop_time);
}
@@ -563,6 +567,7 @@ add_conversation_table_data_with_conv_id(
memcpy(&conv_item->stop_time, ts, sizeof(conv_item->stop_time));
} else if (nstime_cmp(ts, &conv_item->start_time) < 0) {
memcpy(&conv_item->start_time, ts, sizeof(conv_item->start_time));
+ memcpy(&conv_item->start_abs_time, abs_ts, sizeof(conv_item->start_abs_time));
}
}
}