Allow setting scan_res_handler from the callback function

Some new code I'm working on will need the scan_res_handler assigned all
the time in certain circumstances, so the easiest way is to reset it
within the handler. This is currently prevented by the way the code in
the event handler works -- change that to permit such usage.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2010-12-17 15:31:05 +02:00 committed by Jouni Malinen
parent a2810199ec
commit 860fddbb41

View File

@ -873,8 +873,13 @@ static void _wpa_supplicant_event_scan_results(struct wpa_supplicant *wpa_s,
#endif /* CONFIG_NO_RANDOM_POOL */ #endif /* CONFIG_NO_RANDOM_POOL */
if (wpa_s->scan_res_handler) { if (wpa_s->scan_res_handler) {
wpa_s->scan_res_handler(wpa_s, scan_res); void (*scan_res_handler)(struct wpa_supplicant *wpa_s,
struct wpa_scan_results *scan_res);
scan_res_handler = wpa_s->scan_res_handler;
wpa_s->scan_res_handler = NULL; wpa_s->scan_res_handler = NULL;
scan_res_handler(wpa_s, scan_res);
wpa_scan_results_free(scan_res); wpa_scan_results_free(scan_res);
return; return;
} }