diff options
-rw-r--r-- | perl-install/network/netconnect.pm | 3 | ||||
-rw-r--r-- | perl-install/network/tools.pm | 5 |
2 files changed, 4 insertions, 4 deletions
diff --git a/perl-install/network/netconnect.pm b/perl-install/network/netconnect.pm index 036f75784..925d51c50 100644 --- a/perl-install/network/netconnect.pm +++ b/perl-install/network/netconnect.pm @@ -717,8 +717,7 @@ or skip and do it later."), $file = 'mgmt.o'; ($source, $adsl_failed) = network::tools::use_floppy($in, $file); } elsif ($adsl_answer eq N("Use my Windows partition")) { - $file = 'alcaudsl.sys'; - ($source, $adsl_failed) = network::tools::use_windows(); + ($source, $adsl_failed) = network::tools::use_windows($file = 'alcaudsl.sys'); } return "adsl_no_firmawre" if $adsl_answer eq N("Do it later"); diff --git a/perl-install/network/tools.pm b/perl-install/network/tools.pm index 082a6bda4..581732d7f 100644 --- a/perl-install/network/tools.pm +++ b/perl-install/network/tools.pm @@ -188,12 +188,13 @@ EOF }; } -sub use_windows() { +sub use_windows { + my ($file) = @_; my $all_hds = fsedit::get_hds({}, undef); fs::get_info_from_fstab($all_hds, ''); my $part = find { $_->{device_windobe} eq 'C' } fsedit::get_fstab(@{$all_hds->{hds}}); $part or my $failed = N("No partition available"); - my $source = -d "$part->{mntpoint}/windows/" ? "$part->{mntpoint}/windows/system" : "$part->{mntpoint}/winnt/system"; + my $source = find { -d $_ && -e "$_/$file" } map { "$part->{mntpoint}/$_" } qw(windows/system winnt/system windows/system32/drivers winnt/system32/drivers); log::explanations($failed || "Seek in $source to find firmware"); return $source, $failed; |