@@ -40,14 +40,21 @@ const char* ffDetectWifi(FFlist* result)
4040            ffParsePropLines (ifconfig .chars , "ssid " , & item -> conn .ssid );
4141            if  (item -> conn .ssid .length )
4242            {
43-                 uint32_t  ibssid  =  ffStrbufFirstIndexS (& item -> conn .ssid , " bssid " );
44-                 if  (ibssid  <  item -> conn .ssid .length )
43+                 uint32_t  idx  =  ffStrbufFirstIndexS (& item -> conn .ssid , " bssid " );
44+                 if  (idx  <  item -> conn .ssid .length )
4545                {
46-                     ibssid   +=   (uint32_t ) strlen (" bssid " );
47-                     ffStrbufSetS (& item -> conn .bssid ,  item -> conn . ssid . chars   +   ibssid );
46+                     ffStrbufSetS ( & item -> conn . bssid ,  item -> conn . ssid . chars   +   idx   +   (uint32_t ) strlen (" bssid " ) );
47+                     ffStrbufSubstrBefore (& item -> conn .ssid ,  idx );
4848                }
4949
50-                 ffStrbufSubstrBeforeFirstC (& item -> conn .ssid , ' ' );
50+                 idx  =  ffStrbufFirstIndexS (& item -> conn .ssid , " channel " );
51+                 if  (idx  <  item -> conn .ssid .length )
52+                 {
53+                     const  char *  pchannel  =  item -> conn .ssid .chars  +  idx  +  strlen (" channel " );
54+                     sscanf (pchannel , "%hu (%hu MHz %*s)" , & item -> conn .channel , & item -> conn .frequency );
55+                 }
56+ 
57+                 ffStrbufSubstrBefore (& item -> conn .ssid , idx );
5158            }
5259
5360            ffParsePropLines (ifconfig .chars , "media: " , & item -> conn .protocol );
0 commit comments