diff options
author | Gerald Combs <gerald@wireshark.org> | 2017-12-01 11:13:18 -0800 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-12-01 21:09:24 +0000 |
commit | 28b6616ea0d39cc699e4db9bccbb7948a55c7239 (patch) | |
tree | 34ae0358ecc0349f0e76ab741fd436115612614c | |
parent | 219c5463d121a2ed51820fdda60a48e3fa27c6ca (diff) |
Get rid of some void pointers.
Explictly struct _capture_file * in epan_session and its callbacks.
Change-Id: I63703015c661a08f3350a7448a7bcdaf98f119dc
Reviewed-on: https://code.wireshark.org/review/24675
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r-- | cfile.c | 6 | ||||
-rw-r--r-- | cfile.h | 4 | ||||
-rw-r--r-- | epan/epan-int.h | 12 | ||||
-rw-r--r-- | epan/epan.c | 10 | ||||
-rw-r--r-- | file.c | 10 | ||||
-rw-r--r-- | rawshark.c | 4 | ||||
-rw-r--r-- | sharkd.c | 6 | ||||
-rw-r--r-- | tfshark.c | 8 | ||||
-rw-r--r-- | tools/oss-fuzzshark/fuzzshark.c | 2 | ||||
-rw-r--r-- | tshark.c | 6 |
10 files changed, 29 insertions, 39 deletions
@@ -19,9 +19,8 @@ #include "cfile.h" const char * -cap_file_get_interface_name(void *data, guint32 interface_id) +cap_file_get_interface_name(struct _capture_file *cf, guint32 interface_id) { - capture_file *cf = (capture_file *) data; wtapng_iface_descriptions_t *idb_info; wtap_block_t wtapng_if_descr = NULL; char* interface_name; @@ -43,9 +42,8 @@ cap_file_get_interface_name(void *data, guint32 interface_id) } const char * -cap_file_get_interface_description(void *data, guint32 interface_id) +cap_file_get_interface_description(struct _capture_file *cf, guint32 interface_id) { - capture_file *cf = (capture_file *) data; wtapng_iface_descriptions_t *idb_info; wtap_block_t wtapng_if_descr = NULL; char* interface_name; @@ -112,8 +112,8 @@ typedef struct _capture_file { extern void cap_file_init(capture_file *cf); -extern const char *cap_file_get_interface_name(void *data, guint32 interface_id); -extern const char *cap_file_get_interface_description(void *data, guint32 interface_id); +extern const char *cap_file_get_interface_name(struct _capture_file *cf, guint32 interface_id); +extern const char *cap_file_get_interface_description(struct _capture_file *cf, guint32 interface_id); #ifdef __cplusplus } diff --git a/epan/epan-int.h b/epan/epan-int.h index 15b059f388..05ae6407cb 100644 --- a/epan/epan-int.h +++ b/epan/epan-int.h @@ -25,13 +25,15 @@ #include <epan/frame_data.h> #include <wsutil/nstime.h> +struct _capture_file; + struct epan_session { - void *data; + struct _capture_file *cf; - const nstime_t *(*get_frame_ts)(void *data, guint32 frame_num); - const char *(*get_interface_name)(void *data, guint32 interface_id); - const char *(*get_interface_description)(void *data, guint32 interface_id); - const char *(*get_user_comment)(void *data, const frame_data *fd); + const nstime_t *(*get_frame_ts)(struct _capture_file *cf, guint32 frame_num); + const char *(*get_interface_name)(struct _capture_file *cf, guint32 interface_id); + const char *(*get_interface_description)(struct _capture_file *cf, guint32 interface_id); + const char *(*get_user_comment)(struct _capture_file *cf, const frame_data *fd); }; #endif diff --git a/epan/epan.c b/epan/epan.c index bdd19cd6e8..0bb62232dd 100644 --- a/epan/epan.c +++ b/epan/epan.c @@ -286,7 +286,7 @@ epan_cleanup(void) epan_t * epan_new(void) { - epan_t *session = g_slice_new(epan_t); + epan_t *session = g_slice_new0(epan_t); /* XXX, it should take session as param */ init_dissection(); @@ -298,7 +298,7 @@ const char * epan_get_user_comment(const epan_t *session, const frame_data *fd) { if (session->get_user_comment) - return session->get_user_comment(session->data, fd); + return session->get_user_comment(session->cf, fd); return NULL; } @@ -307,7 +307,7 @@ const char * epan_get_interface_name(const epan_t *session, guint32 interface_id) { if (session->get_interface_name) - return session->get_interface_name(session->data, interface_id); + return session->get_interface_name(session->cf, interface_id); return NULL; } @@ -316,7 +316,7 @@ const char * epan_get_interface_description(const epan_t *session, guint32 interface_id) { if (session->get_interface_description) - return session->get_interface_description(session->data, interface_id); + return session->get_interface_description(session->cf, interface_id); return NULL; } @@ -327,7 +327,7 @@ epan_get_frame_ts(const epan_t *session, guint32 frame_num) const nstime_t *abs_ts = NULL; if (session->get_frame_ts) - abs_ts = session->get_frame_ts(session->data, frame_num); + abs_ts = session->get_frame_ts(session->cf, frame_num); if (!abs_ts) ws_g_warning("!!! couldn't get frame ts for %u !!!\n", frame_num); @@ -225,10 +225,8 @@ static void compute_elapsed(capture_file *cf, GTimeVal *start_time) } static const nstime_t * -ws_get_frame_ts(void *data, guint32 frame_num) +ws_get_frame_ts(struct _capture_file *cf, guint32 frame_num) { - capture_file *cf = (capture_file *) data; - if (cf->prev_dis && cf->prev_dis->num == frame_num) return &cf->prev_dis->abs_ts; @@ -245,10 +243,8 @@ ws_get_frame_ts(void *data, guint32 frame_num) } static const char * -ws_get_user_comment(void *data, const frame_data *fd) +ws_get_user_comment(struct _capture_file *cf, const frame_data *fd) { - capture_file *cf = (capture_file *) data; - return cf_get_user_packet_comment(cf, fd); } @@ -257,7 +253,7 @@ ws_epan_new(capture_file *cf) { epan_t *epan = epan_new(); - epan->data = cf; + epan->cf = cf; epan->get_frame_ts = ws_get_frame_ts; epan->get_interface_name = cap_file_get_interface_name; epan->get_interface_description = cap_file_get_interface_description; diff --git a/rawshark.c b/rawshark.c index c3bbb7660d..c385713217 100644 --- a/rawshark.c +++ b/rawshark.c @@ -1466,7 +1466,7 @@ open_failure_message(const char *filename, int err, gboolean for_writing) } static const nstime_t * -raw_get_frame_ts(void *data _U_, guint32 frame_num) +raw_get_frame_ts(struct _capture_file *cf _U_, guint32 frame_num) { if (ref && ref->num == frame_num) return &ref->abs_ts; @@ -1485,7 +1485,7 @@ raw_epan_new(capture_file *cf) { epan_t *epan = epan_new(); - epan->data = cf; + epan->cf = cf; epan->get_frame_ts = raw_get_frame_ts; epan->get_interface_name = cap_file_get_interface_name; epan->get_interface_description = cap_file_get_interface_description; @@ -224,10 +224,8 @@ clean_exit: } static const nstime_t * -sharkd_get_frame_ts(void *data, guint32 frame_num) +sharkd_get_frame_ts(struct _capture_file *cf, guint32 frame_num) { - capture_file *cf = (capture_file *) data; - if (ref && ref->num == frame_num) return &ref->abs_ts; @@ -251,7 +249,7 @@ sharkd_epan_new(capture_file *cf) { epan_t *epan = epan_new(); - epan->data = cf; + epan->cf = cf; epan->get_frame_ts = sharkd_get_frame_ts; epan->get_interface_name = cap_file_get_interface_name; epan->get_interface_description = cap_file_get_interface_description; @@ -1026,10 +1026,8 @@ clean_exit: } static const nstime_t * -tfshark_get_frame_ts(void *data, guint32 frame_num) +tfshark_get_frame_ts(struct _capture_file *cf, guint32 frame_num) { - capture_file *cf = (capture_file *) data; - if (ref && ref->num == frame_num) return &ref->abs_ts; @@ -1049,7 +1047,7 @@ tfshark_get_frame_ts(void *data, guint32 frame_num) } static const char * -no_interface_name(void *data _U_, guint32 interface_id _U_) +no_interface_name(struct _capture_file *cf _U_, guint32 interface_id _U_) { return ""; } @@ -1059,7 +1057,7 @@ tfshark_epan_new(capture_file *cf) { epan_t *epan = epan_new(); - epan->data = cf; + epan->cf = cf; epan->get_frame_ts = tfshark_get_frame_ts; epan->get_interface_name = no_interface_name; epan->get_user_comment = NULL; diff --git a/tools/oss-fuzzshark/fuzzshark.c b/tools/oss-fuzzshark/fuzzshark.c index 9500d99f6a..d05838da20 100644 --- a/tools/oss-fuzzshark/fuzzshark.c +++ b/tools/oss-fuzzshark/fuzzshark.c @@ -111,7 +111,7 @@ failure_message_cont(const char *msg_format, va_list ap) } static const nstime_t * -fuzzshark_get_frame_ts(void *data _U_, guint32 frame_num _U_) +fuzzshark_get_frame_ts(struct _capture_file *cf _U_, guint32 frame_num _U_) { static nstime_t empty; @@ -2346,10 +2346,8 @@ pipe_input_set_handler(gint source, gpointer user_data, ws_process_id *child_pro } static const nstime_t * -tshark_get_frame_ts(void *data, guint32 frame_num) +tshark_get_frame_ts(struct _capture_file *cf, guint32 frame_num) { - capture_file *cf = (capture_file *) data; - if (ref && ref->num == frame_num) return &ref->abs_ts; @@ -2373,7 +2371,7 @@ tshark_epan_new(capture_file *cf) { epan_t *epan = epan_new(); - epan->data = cf; + epan->cf = cf; epan->get_frame_ts = tshark_get_frame_ts; epan->get_interface_name = cap_file_get_interface_name; epan->get_interface_description = cap_file_get_interface_description; |