forked from osmocom/wireshark
From Kovarththanan Rajaratnam:
Only fill in frame_data vals when needed. svn path=/trunk/; revision=29203
This commit is contained in:
parent
9ca4ac2bed
commit
cb771536df
|
@ -1405,7 +1405,7 @@ col_fill_in_frame_data(frame_data *fd, column_info *cinfo, gint col)
|
|||
}
|
||||
|
||||
void
|
||||
col_fill_in(packet_info *pinfo)
|
||||
col_fill_in(packet_info *pinfo, gboolean fill_fd_colums)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -1413,7 +1413,8 @@ col_fill_in(packet_info *pinfo)
|
|||
switch (pinfo->cinfo->col_fmt[i]) {
|
||||
|
||||
case COL_NUMBER:
|
||||
col_fill_in_frame_data(pinfo->fd, pinfo->cinfo, i);
|
||||
if (fill_fd_colums)
|
||||
col_fill_in_frame_data(pinfo->fd, pinfo->cinfo, i);
|
||||
break;
|
||||
|
||||
case COL_CLS_TIME:
|
||||
|
@ -1422,7 +1423,8 @@ col_fill_in(packet_info *pinfo)
|
|||
case COL_REL_TIME:
|
||||
case COL_DELTA_TIME:
|
||||
case COL_DELTA_TIME_DIS:
|
||||
col_fill_in_frame_data(pinfo->fd, pinfo->cinfo, i);
|
||||
if (fill_fd_colums)
|
||||
col_fill_in_frame_data(pinfo->fd, pinfo->cinfo, i);
|
||||
break;
|
||||
|
||||
case COL_REL_CONV_TIME:
|
||||
|
@ -1507,7 +1509,8 @@ col_fill_in(packet_info *pinfo)
|
|||
|
||||
case COL_PACKET_LENGTH:
|
||||
case COL_CUMULATIVE_BYTES:
|
||||
col_fill_in_frame_data(pinfo->fd, pinfo->cinfo, i);
|
||||
if (fill_fd_colums)
|
||||
col_fill_in_frame_data(pinfo->fd, pinfo->cinfo, i);
|
||||
break;
|
||||
|
||||
case COL_OXID:
|
||||
|
|
|
@ -76,7 +76,7 @@ extern void col_fill_in_frame_data(frame_data *fd, column_info *cinfo, gint col)
|
|||
*
|
||||
* Internal, don't use this in dissectors!
|
||||
*/
|
||||
extern void col_fill_in(packet_info *pinfo);
|
||||
extern void col_fill_in(packet_info *pinfo, gboolean fill_fd_colums);
|
||||
|
||||
/* Utility routines used by packet*.c */
|
||||
|
||||
|
|
|
@ -198,7 +198,7 @@ epan_dissect_prime_dfilter(epan_dissect_t *edt, const dfilter_t* dfcode)
|
|||
}
|
||||
|
||||
void
|
||||
epan_dissect_fill_in_columns(epan_dissect_t *edt)
|
||||
epan_dissect_fill_in_columns(epan_dissect_t *edt, gboolean fill_fd_colums)
|
||||
{
|
||||
col_fill_in(&edt->pi);
|
||||
col_fill_in(&edt->pi, fill_fd_colums);
|
||||
}
|
||||
|
|
|
@ -101,7 +101,7 @@ epan_dissect_prime_dfilter(epan_dissect_t *edt, const dfilter_t *dfcode);
|
|||
|
||||
/* fill the dissect run output into the packet list columns */
|
||||
void
|
||||
epan_dissect_fill_in_columns(epan_dissect_t *edt);
|
||||
epan_dissect_fill_in_columns(epan_dissect_t *edt, gboolean fill_fd_colums);
|
||||
|
||||
/* free a single packet dissection */
|
||||
void
|
||||
|
|
|
@ -54,7 +54,7 @@ typedef struct _frame_data {
|
|||
unsigned int passed_dfilter : 1; /* 1 = display, 0 = no display */
|
||||
unsigned int encoding : 2; /* Character encoding (ASCII, EBCDIC...) */
|
||||
unsigned int visited : 1; /* Has this packet been visited yet? 1=Yes,0=No*/
|
||||
unsigned int marked : 1; /* 1 = marked by user, 0 = normal */
|
||||
unsigned int marked : 1; /* 1 = marked by user, 0 = normal */
|
||||
unsigned int ref_time : 1; /* 1 = marked as a reference time frame, 0 = normal */
|
||||
} flags;
|
||||
void *color_filter; /* Per-packet matching color_filter_t object */
|
||||
|
|
12
file.c
12
file.c
|
@ -1099,7 +1099,11 @@ add_packet_to_packet_list(frame_data *fdata, capture_file *cf,
|
|||
cum_bytes += fdata->pkt_len;
|
||||
}
|
||||
|
||||
epan_dissect_fill_in_columns(edt);
|
||||
#ifdef NEW_PACKET_LIST
|
||||
epan_dissect_fill_in_columns(edt, FALSE);
|
||||
#else
|
||||
epan_dissect_fill_in_columns(edt, TRUE);
|
||||
#endif
|
||||
|
||||
/* If we haven't yet seen the first frame, this is it.
|
||||
|
||||
|
@ -2121,7 +2125,7 @@ print_packet(capture_file *cf, frame_data *fdata,
|
|||
information. */
|
||||
if (args->print_args->print_summary) {
|
||||
epan_dissect_run(edt, pseudo_header, pd, fdata, &cf->cinfo);
|
||||
epan_dissect_fill_in_columns(edt);
|
||||
epan_dissect_fill_in_columns(edt, TRUE);
|
||||
} else
|
||||
epan_dissect_run(edt, pseudo_header, pd, fdata, NULL);
|
||||
|
||||
|
@ -2453,7 +2457,7 @@ write_psml_packet(capture_file *cf, frame_data *fdata,
|
|||
proto_tree_needed = have_custom_cols(&cf->cinfo);
|
||||
edt = epan_dissect_new(proto_tree_needed, proto_tree_needed);
|
||||
epan_dissect_run(edt, pseudo_header, pd, fdata, &cf->cinfo);
|
||||
epan_dissect_fill_in_columns(edt);
|
||||
epan_dissect_fill_in_columns(edt, TRUE);
|
||||
|
||||
/* Write out the information in that tree. */
|
||||
proto_tree_write_psml(edt, fh);
|
||||
|
@ -2527,7 +2531,7 @@ write_csv_packet(capture_file *cf, frame_data *fdata,
|
|||
proto_tree_needed = have_custom_cols(&cf->cinfo);
|
||||
edt = epan_dissect_new(proto_tree_needed, proto_tree_needed);
|
||||
epan_dissect_run(edt, pseudo_header, pd, fdata, &cf->cinfo);
|
||||
epan_dissect_fill_in_columns(edt);
|
||||
epan_dissect_fill_in_columns(edt, TRUE);
|
||||
|
||||
/* Write out the information in that tree. */
|
||||
proto_tree_write_csv(edt, fh);
|
||||
|
|
|
@ -519,7 +519,7 @@ get_filter_from_packet_list_row_and_column(gpointer data)
|
|||
|
||||
epan_dissect_run(edt, &cfile.pseudo_header, cfile.pd, fdata,
|
||||
&cfile.cinfo);
|
||||
epan_dissect_fill_in_columns(edt);
|
||||
epan_dissect_fill_in_columns(edt, TRUE);
|
||||
|
||||
if (strlen(cfile.cinfo.col_expr.col_expr[column]) != 0 &&
|
||||
strlen(cfile.cinfo.col_expr.col_expr_val[column]) != 0) {
|
||||
|
|
|
@ -141,7 +141,7 @@ void new_window_cb(GtkWidget *w _U_)
|
|||
DataPtr->edt = epan_dissect_new(TRUE, TRUE);
|
||||
epan_dissect_run(DataPtr->edt, &DataPtr->pseudo_header, DataPtr->pd,
|
||||
DataPtr->frame, &cfile.cinfo);
|
||||
epan_dissect_fill_in_columns(DataPtr->edt);
|
||||
epan_dissect_fill_in_columns(DataPtr->edt, TRUE);
|
||||
|
||||
/*
|
||||
* Build title of window by getting column data constructed when the
|
||||
|
|
Loading…
Reference in New Issue