From: Jouni Malinen Date: Sat, 21 Nov 2009 10:18:03 +0000 (+0200) Subject: WPS ER: Move STA entry unlinking into a separate function X-Git-Tag: hostap_0_7_0~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a1e492a8185f933ff643f24f059da25fc851d57;p=thirdparty%2Fhostap.git WPS ER: Move STA entry unlinking into a separate function --- diff --git a/src/wps/wps_er.c b/src/wps/wps_er.c index 26bac7054..898f9360b 100644 --- a/src/wps/wps_er.c +++ b/src/wps/wps_er.c @@ -159,6 +159,26 @@ static void wps_er_sta_free(struct wps_er_sta *sta) } +static void wps_er_sta_unlink(struct wps_er_sta *sta) +{ + struct wps_er_sta *prev, *tmp; + struct wps_er_ap *ap = sta->ap; + tmp = ap->sta; + prev = NULL; + while (tmp) { + if (tmp == sta) { + if (prev) + prev->next = sta->next; + else + ap->sta = sta->next; + return; + } + prev = tmp; + tmp = tmp->next; + } +} + + static void wps_er_sta_remove_all(struct wps_er_ap *ap) { struct wps_er_sta *prev, *sta; @@ -695,22 +715,9 @@ static void wps_er_http_resp_ok(struct http_request *req) static void wps_er_sta_timeout(void *eloop_data, void *user_ctx) { - struct wps_er_sta *prev, *tmp, *sta = eloop_data; + struct wps_er_sta *sta = eloop_data; wpa_printf(MSG_DEBUG, "WPS ER: STA entry timed out"); - tmp = sta->ap->sta; - prev = NULL; - while (tmp) { - if (tmp == sta) - break; - prev = tmp; - tmp = tmp->next; - } - if (tmp) { - if (prev) - prev->next = sta->next; - else - sta->ap->sta = sta->next; - } + wps_er_sta_unlink(sta); wps_er_sta_free(sta); }