@@ -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