aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoland Knall <roland.knall@br-automation.com>2014-02-26 13:14:01 +0100
committerAlexis La Goutte <alexis.lagoutte@gmail.com>2014-03-02 09:53:40 +0000
commit5f78d0f4f1df67c7965248e9b4397e1da0ad48ae (patch)
tree8c12a2af66ad8fd2f9d26918511fbd1bc8279198
parent9c62ea46cd5ece0405dbf58fa937807b9eeae5dd (diff)
Fix ui/iface_lists.c - type attribute is not copied
temp is a clone of the local if_info, but the type attribute is not copied correctly Additionally, the if_type member is exposed via the capture options Change-Id: Id53f0dfd1e127921e1b89bbf78cb431ee257a96c Reviewed-on: https://code.wireshark.org/review/404 Reviewed-by: Roland Knall <rknall@gmail.com> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
-rw-r--r--capture_opts.c3
-rw-r--r--capture_opts.h1
-rw-r--r--ui/iface_lists.c1
3 files changed, 5 insertions, 0 deletions
diff --git a/capture_opts.c b/capture_opts.c
index 4ab473a570..172c2d0996 100644
--- a/capture_opts.c
+++ b/capture_opts.c
@@ -67,6 +67,7 @@ capture_opts_init(capture_options *capture_opts)
capture_opts->default_options.snaplen = WTAP_MAX_PACKET_SIZE;
capture_opts->default_options.linktype = -1; /* use interface default */
capture_opts->default_options.promisc_mode = TRUE;
+ capture_opts->default_options.if_type = IF_WIRED;
#if defined(_WIN32) || defined(HAVE_PCAP_CREATE)
capture_opts->default_options.buffer_size = DEFAULT_CAPTURE_BUFFER_SIZE;
#endif
@@ -597,6 +598,7 @@ capture_opts_add_iface_opt(capture_options *capture_opts, const char *optarg_str
interface_opts.has_snaplen = capture_opts->default_options.has_snaplen;
interface_opts.linktype = capture_opts->default_options.linktype;
interface_opts.promisc_mode = capture_opts->default_options.promisc_mode;
+ interface_opts.if_type = capture_opts->default_options.if_type;
#if defined(_WIN32) || defined(HAVE_PCAP_CREATE)
interface_opts.buffer_size = capture_opts->default_options.buffer_size;
#endif
@@ -1055,6 +1057,7 @@ collect_ifaces(capture_options *capture_opts)
interface_opts.snaplen = device.snaplen;
interface_opts.has_snaplen = device.has_snaplen;
interface_opts.promisc_mode = device.pmode;
+ interface_opts.if_type = device.if_info.type;
#if defined(_WIN32) || defined(HAVE_PCAP_CREATE)
interface_opts.buffer_size = device.buffer;
#endif
diff --git a/capture_opts.h b/capture_opts.h
index 06e8169899..771cdfd69b 100644
--- a/capture_opts.h
+++ b/capture_opts.h
@@ -147,6 +147,7 @@ typedef struct interface_options_tag {
int snaplen;
int linktype;
gboolean promisc_mode;
+ interface_type if_type;
#if defined(_WIN32) || defined(HAVE_PCAP_CREATE)
int buffer_size;
#endif
diff --git a/ui/iface_lists.c b/ui/iface_lists.c
index a55318cf5f..2dcf7498c7 100644
--- a/ui/iface_lists.c
+++ b/ui/iface_lists.c
@@ -116,6 +116,7 @@ scan_local_interfaces(void (*update_cb)(void))
temp->friendly_name = g_strdup(if_info->friendly_name);
temp->vendor_description = g_strdup(if_info->vendor_description);
temp->loopback = if_info->loopback;
+ temp->type = if_info->type;
/* Is this interface hidden and, if so, should we include it anyway? */
/* Do we have a user-supplied description? */