Project

General

Profile

« Previous | Next » 

Revision 4066776d

Added by Scott Ullrich about 19 years ago

MFC 12314
MFC 12315
Present the 11b mode as a empty array instead of TRUE. This fixes a channel list with mixed 11b and 11g modes.

View differences:

etc/inc/interfaces.inc
1520 1520
function get_wireless_modes($interface)
1521 1521
{
1522 1522
	/* return wireless modes and channels */
1523
	$wireless_modes = array();
1524 1523
	if(is_interface_wireless($interface)) {
1525 1524
		$wi = 1;
1526 1525
		$ifconfig = "/sbin/ifconfig";
1527 1526
		$awk = "/usr/bin/awk";
1528 1527
		$chan_list = "$ifconfig $interface list chan";
1529
		$stack_list = "$awk -F\"Channel \" '{print \$2 \"\\\n\" \$3 }'";
1528
		$stack_list = "$awk -F\"Channel \" '{ gsub(/\\*/, \" \"); print \$2 \"\\\n\" \$3 }'";
1530 1529
		$format_list = "$awk '{print \$5 \" \" \$6 \",\" \$1}'";
1531 1530

  
1532 1531
		$interface_channels = "";
......
1539 1538
			$channel_line = explode(",", $interface_channels["$c"]);
1540 1539
			$wireless_mode = trim($channel_line[0]);
1541 1540
			$wireless_channel = trim($channel_line[1]);
1542
            if(trim($wireless_mode) != "") {
1543
                    /* if we only have 11g also set 11b channels */
1544
                    if($wireless_mode == "11g") {
1545
                            //$wireless_modes["11b"] = true;
1546
                    }
1547
                    $wireless_modes[$wireless_mode][$c] = $wireless_channel;
1548
            }
1541
			if(trim($wireless_mode) != "") {
1542
				/* if we only have 11g also set 11b channels */
1543
				if($wireless_mode == "11g") {
1544
					$wireless_modes["11b"] = array();
1545
				}
1546
				$wireless_modes["$wireless_mode"]["$c"] = $wireless_channel;
1547
			}
1549 1548
			$c++;
1550 1549
		}
1551
		return($wireless_modes);
1552 1550
	}
1551
	return($wireless_modes);
1553 1552
}
1554 1553

  
1555 1554
?>

Also available in: Unified diff