diff options
author | Michael Mann <mmann78@netscape.net> | 2014-07-26 12:41:27 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2014-07-30 16:12:54 +0000 |
commit | dcf6d44b7f5e69e08be8ccd452b87733326053cc (patch) | |
tree | 8d68df38e6b5ed2c6caa5f2ccd6c1425eea95d90 /epan/conversation_table.c | |
parent | 54777bf31566e0e72e9204fd0d60bfbe8521d6c3 (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.c | 9 |
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)); } } } |