diff options
author | Anders Broman <anders.broman@ericsson.com> | 2009-07-27 08:33:26 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2009-07-27 08:33:26 +0000 |
commit | cb771536dff2d002ab8cc3903c6ecefea4808e9c (patch) | |
tree | 1ca2b43c03f4fd6a0f813a1959da0511af054baa | |
parent | 9ca4ac2bede829da3acd836875e6209e02bb9259 (diff) |
From Kovarththanan Rajaratnam:
Only fill in frame_data vals when needed.
svn path=/trunk/; revision=29203
-rw-r--r-- | epan/column-utils.c | 11 | ||||
-rw-r--r-- | epan/column-utils.h | 2 | ||||
-rw-r--r-- | epan/epan.c | 4 | ||||
-rw-r--r-- | epan/epan.h | 2 | ||||
-rw-r--r-- | epan/frame_data.h | 2 | ||||
-rw-r--r-- | file.c | 12 | ||||
-rw-r--r-- | gtk/main.c | 2 | ||||
-rw-r--r-- | gtk/packet_win.c | 2 | ||||
-rw-r--r-- | tshark.c | 2 |
9 files changed, 23 insertions, 16 deletions
diff --git a/epan/column-utils.c b/epan/column-utils.c index 31a645f8a5..3fa2ac4628 100644 --- a/epan/column-utils.c +++ b/epan/column-utils.c @@ -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: diff --git a/epan/column-utils.h b/epan/column-utils.h index c25f46c319..5e9372a3e0 100644 --- a/epan/column-utils.h +++ b/epan/column-utils.h @@ -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 */ diff --git a/epan/epan.c b/epan/epan.c index 7e496c008f..de33d7a4d9 100644 --- a/epan/epan.c +++ b/epan/epan.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); } diff --git a/epan/epan.h b/epan/epan.h index 77bc1bc3f6..d70c613908 100644 --- a/epan/epan.h +++ b/epan/epan.h @@ -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 diff --git a/epan/frame_data.h b/epan/frame_data.h index 121a049cfb..126ca53097 100644 --- a/epan/frame_data.h +++ b/epan/frame_data.h @@ -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 */ @@ -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); diff --git a/gtk/main.c b/gtk/main.c index 04299b68fe..6d25b66845 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -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) { diff --git a/gtk/packet_win.c b/gtk/packet_win.c index 774ecb6690..e2865b7934 100644 --- a/gtk/packet_win.c +++ b/gtk/packet_win.c @@ -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 @@ -2908,7 +2908,7 @@ print_packet(capture_file *cf, epan_dissect_t *edt) } } else { /* Just fill in the columns. */ - epan_dissect_fill_in_columns(edt); + epan_dissect_fill_in_columns(edt, TRUE); /* Now print them. */ switch (output_action) { |