Don't crash when no serial ports are available on Windows
This commit is contained in:
parent
80620a5e94
commit
e50bbc0245
1 changed files with 7 additions and 3 deletions
|
@ -322,10 +322,14 @@ sub scan_serial_ports {
|
||||||
# Windows
|
# Windows
|
||||||
if (eval "use Win32::TieRegistry; 1") {
|
if (eval "use Win32::TieRegistry; 1") {
|
||||||
my $ts = Win32::TieRegistry->new("HKEY_LOCAL_MACHINE\\HARDWARE\\DEVICEMAP\\SERIALCOMM",
|
my $ts = Win32::TieRegistry->new("HKEY_LOCAL_MACHINE\\HARDWARE\\DEVICEMAP\\SERIALCOMM",
|
||||||
{ Access => Win32::TieRegistry::KEY_READ() });
|
{ Access => 'KEY_READ' });
|
||||||
|
if ($ts) {
|
||||||
|
# when no serial ports are available, the registry key doesn't exist and
|
||||||
|
# TieRegistry->new returns undef
|
||||||
$ts->Tie(\my %reg);
|
$ts->Tie(\my %reg);
|
||||||
push @ports, sort values %reg;
|
push @ports, sort values %reg;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
# UNIX and OS X
|
# UNIX and OS X
|
||||||
push @ports, glob '/dev/{ttyUSB,ttyACM,tty.,cu.,rfcomm}*';
|
push @ports, glob '/dev/{ttyUSB,ttyACM,tty.,cu.,rfcomm}*';
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue