wpa_gui-qt4: Stop BSS fetch loop on error for Peers dialog
authorJouni Malinen <j@w1.fi>
Mon, 25 Jan 2010 02:42:45 +0000 (18:42 -0800)
committerJouni Malinen <j@w1.fi>
Mon, 25 Jan 2010 02:42:45 +0000 (18:42 -0800)
There is no need to continue the loop until the 1000 max BSS limit
if a BSS command fails.

wpa_supplicant/wpa_gui-qt4/peers.cpp
wpa_supplicant/wpa_gui-qt4/peers.h

index 9cdf649..f1e391e 100644 (file)
@@ -334,19 +334,19 @@ void Peers::remove_bss(int id)
 }
 
 
-void Peers::add_bss(const char *cmd)
+bool Peers::add_bss(const char *cmd)
 {
        char reply[2048];
        size_t reply_len;
 
        reply_len = sizeof(reply) - 1;
        if (wpagui->ctrlRequest(cmd, reply, &reply_len) < 0)
-               return;
+               return false;
        reply[reply_len] = '\0';
 
        QString bss(reply);
        if (bss.isEmpty() || bss.startsWith("FAIL"))
-               return;
+               return false;
 
        QString ssid, bssid, flags, wps_name, pri_dev_type;
        int id = -1;
@@ -403,6 +403,8 @@ void Peers::add_bss(const char *cmd)
                        item->setData(ssid, peer_role_ssid);
                model.appendRow(item);
        }
+
+       return true;
 }
 
 
@@ -417,7 +419,8 @@ void Peers::add_scan_results()
                if (index > 1000)
                        break;
 
-               add_bss(cmd);
+               if (!add_bss(cmd))
+                       break;
        }
 }
 
index 5545235..89b7b5b 100644 (file)
@@ -49,7 +49,7 @@ private:
        void add_station(QString info);
        void add_stations();
        void add_single_station(const char *addr);
-       void add_bss(const char *cmd);
+       bool add_bss(const char *cmd);
        void remove_bss(int id);
        void add_scan_results();
        void update_peers();