aboutsummaryrefslogtreecommitdiff
path: root/fad-getad.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2017-01-18 13:36:27 -0800
committerGuy Harris <guy@alum.mit.edu>2017-01-18 13:36:27 -0800
commit2a6286aa06b043240dd8c3524668455562d466d8 (patch)
tree062ee1df238c3e113a0451e60bb2b030867ffb17 /fad-getad.c
parent5fa9ce62e3235688ce3ed5928cbce7754ec6291c (diff)
Have a pcap_if_list_t structure for use by the findalldevs code.
It's not part of the API, but it's an internal structure used by the findalldevs code. Currently, it just has a pointer to the beginning of the list, but it could change in order to speed up the process of adding to the list.
Diffstat (limited to 'fad-getad.c')
-rw-r--r--fad-getad.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/fad-getad.c b/fad-getad.c
index b67b5cdc..a4625dfd 100644
--- a/fad-getad.c
+++ b/fad-getad.c
@@ -144,10 +144,9 @@ get_sa_len(struct sockaddr *addr)
* could be opened.
*/
int
-pcap_findalldevs_interfaces(pcap_if_t **alldevsp, char *errbuf,
+pcap_findalldevs_interfaces(pcap_if_list_t *devlistp, char *errbuf,
int (*check_usable)(const char *))
{
- pcap_if_t *devlist = NULL;
struct ifaddrs *ifap, *ifa;
struct sockaddr *addr, *netmask, *broadaddr, *dstaddr;
size_t addr_size, broadaddr_size, dstaddr_size;
@@ -265,7 +264,7 @@ pcap_findalldevs_interfaces(pcap_if_t **alldevsp, char *errbuf,
/*
* Add information for this address to the list.
*/
- if (add_addr_to_iflist(&devlist, ifa->ifa_name,
+ if (add_addr_to_iflist(devlistp, ifa->ifa_name,
if_flags_to_pcap_flags(ifa->ifa_name, ifa->ifa_flags),
addr, addr_size, netmask, addr_size,
broadaddr, broadaddr_size, dstaddr, dstaddr_size,
@@ -277,16 +276,5 @@ pcap_findalldevs_interfaces(pcap_if_t **alldevsp, char *errbuf,
freeifaddrs(ifap);
- if (ret == -1) {
- /*
- * We had an error; free the list we've been constructing.
- */
- if (devlist != NULL) {
- pcap_freealldevs(devlist);
- devlist = NULL;
- }
- }
-
- *alldevsp = devlist;
return (ret);
}