diff options
Diffstat (limited to 'epan/packet.c')
-rw-r--r-- | epan/packet.c | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/epan/packet.c b/epan/packet.c index a1287e112e..98daa470e3 100644 --- a/epan/packet.c +++ b/epan/packet.c @@ -60,6 +60,15 @@ static gint proto_malformed = -1; static dissector_handle_t frame_handle = NULL; static dissector_handle_t data_handle = NULL; +/** + * A data source. + * Has a tvbuff and a name. + */ +struct data_source { + tvbuff_t *tvb; + const char *name; +}; + void packet_init(void) { @@ -218,24 +227,24 @@ postseq_cleanup_all_protocols(void) void add_new_data_source(packet_info *pinfo, tvbuff_t *tvb, const char *name) { - data_source *src; + struct data_source *src; - src = ep_alloc(sizeof (data_source)); + src = ep_alloc(sizeof (struct data_source)); src->tvb = tvb; - src->name_initialized = FALSE; src->name = name; pinfo->data_src = g_slist_append(pinfo->data_src, src); } const char* -get_data_source_name(data_source *src) +get_data_source_name(const struct data_source *src) { - if (!src->name_initialized) { - src->name = ep_strdup_printf("%s (%u bytes)", src->name, tvb_length(src->tvb)); - src->name_initialized = TRUE; - } + return ep_strdup_printf("%s (%u bytes)", src->name, tvb_length(src->tvb)); +} - return src->name; +tvbuff_t * +get_data_source_tvb(const struct data_source *src) +{ + return src->tvb; } /* |