diff options
Diffstat (limited to 'cfile.c')
-rw-r--r-- | cfile.c | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -26,6 +26,7 @@ #include <glib.h> #include <epan/packet.h> +#include <wiretap/pcapng.h> #include "cfile.h" @@ -34,20 +35,23 @@ cap_file_get_interface_name(void *data, guint32 interface_id) { capture_file *cf = (capture_file *) data; wtapng_iface_descriptions_t *idb_info; - const wtapng_if_descr_t *wtapng_if_descr = NULL; + wtap_optionblock_t wtapng_if_descr = NULL; + char* interface_name; idb_info = wtap_file_get_idb_info(cf->wth); if (interface_id < idb_info->interface_data->len) - wtapng_if_descr = &g_array_index(idb_info->interface_data, wtapng_if_descr_t, interface_id); + wtapng_if_descr = g_array_index(idb_info->interface_data, wtap_optionblock_t, interface_id); g_free(idb_info); if (wtapng_if_descr) { - if (wtapng_if_descr->if_name) - return wtapng_if_descr->if_name; - else if (wtapng_if_descr->if_description) - return wtapng_if_descr->if_description; + wtap_optionblock_get_option_string(wtapng_if_descr, OPT_IDB_NAME, &interface_name); + if (interface_name) + return interface_name; + wtap_optionblock_get_option_string(wtapng_if_descr, OPT_IDB_DESCR, &interface_name); + if (interface_name) + return interface_name; } return "unknown"; } |