aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2009-07-27 08:33:26 +0000
committerAnders Broman <anders.broman@ericsson.com>2009-07-27 08:33:26 +0000
commitcb771536dff2d002ab8cc3903c6ecefea4808e9c (patch)
tree1ca2b43c03f4fd6a0f813a1959da0511af054baa /epan
parent9ca4ac2bede829da3acd836875e6209e02bb9259 (diff)
From Kovarththanan Rajaratnam:
Only fill in frame_data vals when needed. svn path=/trunk/; revision=29203
Diffstat (limited to 'epan')
-rw-r--r--epan/column-utils.c11
-rw-r--r--epan/column-utils.h2
-rw-r--r--epan/epan.c4
-rw-r--r--epan/epan.h2
-rw-r--r--epan/frame_data.h2
5 files changed, 12 insertions, 9 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 */