forked from osmocom/wireshark
pcapng: Fix ISO C forbids conversion [-Wpedantic]
pcapng.c:461:31: warning: ISO C forbids passing argument 3 of 'g_hash_table_insert' between function pointer and 'void *' [-Wpedantic] pcapng.c:1404:32: warning: ISO C forbids conversion of object pointer to function pointer type [-Wpedantic] pcapng.c:1918:32: warning: ISO C forbids conversion of object pointer to function pointer type [-Wpedantic] Change-Id: I535633098cc5d37442732dd92e8c9d3cda36631a Reviewed-on: https://code.wireshark.org/review/12161 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
bec2fc0954
commit
24d546353b
|
@ -345,10 +345,10 @@ register_pcapng_block_type_handler(guint block_type, block_reader reader,
|
|||
g_direct_equal,
|
||||
NULL, g_free);
|
||||
}
|
||||
handler = (block_handler *)g_malloc(sizeof *handler);
|
||||
handler = g_new(block_handler, 1);
|
||||
handler->reader = reader;
|
||||
handler->writer = writer;
|
||||
(void)g_hash_table_insert(block_handlers, GUINT_TO_POINTER(block_type),
|
||||
g_hash_table_insert(block_handlers, GUINT_TO_POINTER(block_type),
|
||||
handler);
|
||||
}
|
||||
|
||||
|
@ -386,6 +386,10 @@ register_pcapng_block_type_handler(guint block_type, block_reader reader,
|
|||
|
||||
#define NUM_BT_INDICES 6
|
||||
|
||||
typedef struct {
|
||||
option_handler_fn hfunc;
|
||||
} option_handler;
|
||||
|
||||
static GHashTable *option_handlers[NUM_BT_INDICES];
|
||||
|
||||
static gboolean
|
||||
|
@ -439,9 +443,10 @@ get_block_type_index(guint block_type, guint *bt_index)
|
|||
|
||||
void
|
||||
register_pcapng_option_handler(guint block_type, guint option_code,
|
||||
option_handler handler)
|
||||
option_handler_fn hfunc)
|
||||
{
|
||||
guint bt_index;
|
||||
option_handler *handler;
|
||||
|
||||
if (!get_block_type_index(block_type, &bt_index))
|
||||
return;
|
||||
|
@ -457,7 +462,9 @@ register_pcapng_option_handler(guint block_type, guint option_code,
|
|||
g_direct_equal,
|
||||
NULL, g_free);
|
||||
}
|
||||
(void)g_hash_table_insert(option_handlers[bt_index],
|
||||
handler = g_new(option_handler, 1);
|
||||
handler->hfunc = hfunc;
|
||||
g_hash_table_insert(option_handlers[bt_index],
|
||||
GUINT_TO_POINTER(option_code), handler);
|
||||
}
|
||||
#endif /* HAVE_PLUGINS */
|
||||
|
@ -1085,7 +1092,7 @@ pcapng_read_packet_block(FILE_T fh, pcapng_block_header_t *bh, pcapng_t *pn, wta
|
|||
int pseudo_header_len;
|
||||
int fcslen;
|
||||
#ifdef HAVE_PLUGINS
|
||||
option_handler handler;
|
||||
option_handler *handler;
|
||||
#endif
|
||||
|
||||
/* Don't try to allocate memory for a huge number of options, as
|
||||
|
@ -1401,10 +1408,10 @@ pcapng_read_packet_block(FILE_T fh, pcapng_block_header_t *bh, pcapng_t *pn, wta
|
|||
* Do we have a handler for this packet block option code?
|
||||
*/
|
||||
if (option_handlers[BT_INDEX_PBS] != NULL &&
|
||||
(handler = (option_handler)g_hash_table_lookup(option_handlers[BT_INDEX_PBS],
|
||||
(handler = (option_handler *)g_hash_table_lookup(option_handlers[BT_INDEX_PBS],
|
||||
GUINT_TO_POINTER((guint)oh->option_code))) != NULL) {
|
||||
/* Yes - call the handler. */
|
||||
if (!handler(pn->byte_swapped, oh->option_length,
|
||||
if (!handler->hfunc(pn->byte_swapped, oh->option_length,
|
||||
option_content, err, err_info))
|
||||
/* XXX - free anything? */
|
||||
return FALSE;
|
||||
|
@ -1646,7 +1653,7 @@ pcapng_read_name_resolution_block(FILE_T fh, pcapng_block_header_t *bh, pcapng_t
|
|||
pcapng_option_header_t oh;
|
||||
guint8 *option_content;
|
||||
#ifdef HAVE_PLUGINS
|
||||
option_handler handler;
|
||||
option_handler *handler;
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
@ -1915,10 +1922,10 @@ read_options:
|
|||
* Do we have a handler for this network resolution block option code?
|
||||
*/
|
||||
if (option_handlers[BT_INDEX_NRB] != NULL &&
|
||||
(handler = (option_handler)g_hash_table_lookup(option_handlers[BT_INDEX_NRB],
|
||||
(handler = (option_handler *)g_hash_table_lookup(option_handlers[BT_INDEX_NRB],
|
||||
GUINT_TO_POINTER((guint)oh.option_code))) != NULL) {
|
||||
/* Yes - call the handler. */
|
||||
if (!handler(pn->byte_swapped, oh.option_length,
|
||||
if (!handler->hfunc(pn->byte_swapped, oh.option_length,
|
||||
option_content, err, err_info)) {
|
||||
|
||||
g_free(option_content);
|
||||
|
|
|
@ -58,7 +58,7 @@ void register_pcapng_block_type_handler(guint block_type, block_reader read,
|
|||
/*
|
||||
* Handler routine for pcap-ng option type.
|
||||
*/
|
||||
typedef gboolean (*option_handler)(gboolean, guint, guint8 *, int *, gchar **);
|
||||
typedef gboolean (*option_handler_fn)(gboolean, guint, guint8 *, int *, gchar **);
|
||||
|
||||
/*
|
||||
* Register a handler for a pcap-ng option code for a particular block
|
||||
|
@ -66,7 +66,7 @@ typedef gboolean (*option_handler)(gboolean, guint, guint8 *, int *, gchar **);
|
|||
*/
|
||||
WS_DLL_PUBLIC
|
||||
void register_pcapng_option_handler(guint block_type, guint option_code,
|
||||
option_handler handle);
|
||||
option_handler_fn hfunc);
|
||||
|
||||
#endif /* __PCAP_MODULE_H__ */
|
||||
|
||||
|
|
Loading…
Reference in New Issue