From b328145296d6595cfd9b326cd6dfb4fcbdda89e2 Mon Sep 17 00:00:00 2001 From: Anton Nayshtut Date: Sun, 19 Jul 2015 12:13:23 +0300 Subject: [PATCH] hostapd: Introduce hostapd_interfaces_get_hapd() This function will be used in DUP_NETWORK command implementation. Signed-off-by: Jouni Malinen --- hostapd/ctrl_iface.c | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c index 5ef35979e..43ed6d7ad 100644 --- a/hostapd/ctrl_iface.c +++ b/hostapd/ctrl_iface.c @@ -2589,27 +2589,39 @@ hostapd_global_ctrl_iface_fst_detach(struct hapd_interfaces *interfaces, #endif /* CONFIG_FST */ -static int hostapd_global_ctrl_iface_ifname(struct hapd_interfaces *interfaces, - const char *ifname, - char *buf, char *reply, - int reply_size, - struct sockaddr_un *from, - socklen_t fromlen) + +static struct hostapd_data * +hostapd_interfaces_get_hapd(struct hapd_interfaces *interfaces, + const char *ifname) { size_t i, j; - struct hostapd_data *hapd = NULL; - for (i = 0; hapd == NULL && i < interfaces->count; i++) { + for (i = 0; i < interfaces->count; i++) { struct hostapd_iface *iface = interfaces->iface[i]; for (j = 0; j < iface->num_bss; j++) { + struct hostapd_data *hapd; + hapd = iface->bss[j]; if (os_strcmp(ifname, hapd->conf->iface) == 0) - break; - hapd = NULL; + return hapd; } } + return NULL; +} + + +static int hostapd_global_ctrl_iface_ifname(struct hapd_interfaces *interfaces, + const char *ifname, + char *buf, char *reply, + int reply_size, + struct sockaddr_un *from, + socklen_t fromlen) +{ + struct hostapd_data *hapd; + + hapd = hostapd_interfaces_get_hapd(interfaces, ifname); if (hapd == NULL) { int res; -- 2.47.2