forked from osmocom/wireshark
Bring frame_data_init() and add_packet_to_packet_list() more in sync by adding 'ref_time' handling to frame_data_init(). For tshark/rawshark this is unused because they only do a single pass through the capture file
svn path=/trunk/; revision=30055
This commit is contained in:
parent
8af452f83d
commit
1989aa700d
|
@ -228,6 +228,19 @@ frame_data_init(frame_data *fdata, guint32 num,
|
||||||
*first_ts = fdata->abs_ts;
|
*first_ts = fdata->abs_ts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* if this frames is marked as a reference time frame, reset
|
||||||
|
firstsec and firstusec to this frame */
|
||||||
|
if(fdata->flags.ref_time){
|
||||||
|
*first_ts = fdata->abs_ts;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If we don't have the time stamp of the previous displayed packet,
|
||||||
|
it's because this is the first packet that's being displayed. Save the time
|
||||||
|
stamp of this packet as the time stamp of the previous displayed
|
||||||
|
packet. */
|
||||||
|
if (nstime_is_unset(prev_dis_ts))
|
||||||
|
*prev_dis_ts = fdata->abs_ts;
|
||||||
|
|
||||||
/* If we don't have the time stamp of the previous captured packet,
|
/* If we don't have the time stamp of the previous captured packet,
|
||||||
it's because this is the first packet. Save the time
|
it's because this is the first packet. Save the time
|
||||||
stamp of this packet as the time stamp of the previous captured
|
stamp of this packet as the time stamp of the previous captured
|
||||||
|
@ -247,13 +260,6 @@ frame_data_init(frame_data *fdata, guint32 num,
|
||||||
*elapsed_time = fdata->rel_ts;
|
*elapsed_time = fdata->rel_ts;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If we don't have the time stamp of the previous displayed packet,
|
|
||||||
it's because this is the first packet that's being displayed. Save the time
|
|
||||||
stamp of this packet as the time stamp of the previous displayed
|
|
||||||
packet. */
|
|
||||||
if (nstime_is_unset(prev_dis_ts))
|
|
||||||
*prev_dis_ts = fdata->abs_ts;
|
|
||||||
|
|
||||||
/* Get the time elapsed between the previous displayed packet and
|
/* Get the time elapsed between the previous displayed packet and
|
||||||
this packet. */
|
this packet. */
|
||||||
nstime_delta(&fdata->del_dis_ts, &fdata->abs_ts, prev_dis_ts);
|
nstime_delta(&fdata->del_dis_ts, &fdata->abs_ts, prev_dis_ts);
|
||||||
|
|
11
file.c
11
file.c
|
@ -1089,6 +1089,7 @@ add_packet_to_packet_list(frame_data *fdata, capture_file *cf,
|
||||||
if (nstime_is_unset(&first_ts)) {
|
if (nstime_is_unset(&first_ts)) {
|
||||||
first_ts = fdata->abs_ts;
|
first_ts = fdata->abs_ts;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if this frames is marked as a reference time frame, reset
|
/* if this frames is marked as a reference time frame, reset
|
||||||
firstsec and firstusec to this frame */
|
firstsec and firstusec to this frame */
|
||||||
if(fdata->flags.ref_time){
|
if(fdata->flags.ref_time){
|
||||||
|
@ -1170,7 +1171,7 @@ add_packet_to_packet_list(frame_data *fdata, capture_file *cf,
|
||||||
row = new_packet_list_append(cinfo, fdata, &edt.pi);
|
row = new_packet_list_append(cinfo, fdata, &edt.pi);
|
||||||
}
|
}
|
||||||
|
|
||||||
if( (fdata->flags.passed_dfilter) || (fdata->flags.ref_time) )
|
if(fdata->flags.passed_dfilter || fdata->flags.ref_time)
|
||||||
{
|
{
|
||||||
/* This frame either passed the display filter list or is marked as
|
/* This frame either passed the display filter list or is marked as
|
||||||
a time reference frame. All time reference frames are displayed
|
a time reference frame. All time reference frames are displayed
|
||||||
|
@ -1185,6 +1186,10 @@ add_packet_to_packet_list(frame_data *fdata, capture_file *cf,
|
||||||
fdata->cum_bytes = cum_bytes;
|
fdata->cum_bytes = cum_bytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Set the time of the previous displayed frame to the time of this
|
||||||
|
frame. */
|
||||||
|
prev_dis_ts = fdata->abs_ts;
|
||||||
|
|
||||||
/* If we haven't yet seen the first frame, this is it.
|
/* If we haven't yet seen the first frame, this is it.
|
||||||
|
|
||||||
XXX - we must do this before we add the row to the display,
|
XXX - we must do this before we add the row to the display,
|
||||||
|
@ -1204,10 +1209,6 @@ add_packet_to_packet_list(frame_data *fdata, capture_file *cf,
|
||||||
/* This is the last frame we've seen so far. */
|
/* This is the last frame we've seen so far. */
|
||||||
cf->last_displayed = fdata;
|
cf->last_displayed = fdata;
|
||||||
|
|
||||||
/* Set the time of the previous displayed frame to the time of this
|
|
||||||
frame. */
|
|
||||||
prev_dis_ts = fdata->abs_ts;
|
|
||||||
|
|
||||||
cf->displayed_count++;
|
cf->displayed_count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue