From 7f75ad9564adab60db74a28c27bdc3b934828cf0 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Sun, 2 Feb 2003 21:57:41 +0000 Subject: (adjust_local_extended): fix resizing local extended --- perl-install/partition_table.pm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'perl-install/partition_table.pm') diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm index e40327a00..5e26718ab 100644 --- a/perl-install/partition_table.pm +++ b/perl-install/partition_table.pm @@ -419,12 +419,13 @@ sub adjust_main_extended { sub adjust_local_extended { my ($hd, $part) = @_; - - foreach (@{$hd->{extended} || []}) { - $_->{normal} == $part or next; - $_->{size} = $part->{size} + $part->{start} - $_->{start}; - last; - } + + my $extended = find { $_->{normal} == $part } @{$hd->{extended} || []} or return; + $extended->{size} = $part->{size} + $part->{start} - $extended->{start}; + + #- must write it there too because values are not shared + my $prev = find { $_->{extended}{start} == $extended->{start} } @{$hd->{extended} || []} or return; + $prev->{extended}{size} = $part->{size} + $part->{start} - $prev->{extended}{start}; } sub get_normal_parts { -- cgit v1.2.1