From: Anton Nayshtut Date: Sun, 19 Jul 2015 09:13:23 +0000 (+0300) Subject: hostapd: Introduce hostapd_interfaces_get_hapd() X-Git-Tag: hostap_2_5~332 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b328145296d6595cfd9b326cd6dfb4fcbdda89e2;p=thirdparty%2Fhostap.git hostapd: Introduce hostapd_interfaces_get_hapd() This function will be used in DUP_NETWORK command implementation. Signed-off-by: Jouni Malinen --- 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;