From cc2a880218bd822f637016c2dcd5e8a859fa5272 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Wed, 4 Aug 2004 03:14:02 +0000 Subject: try to keep the order of kernel options (to help same_entries()) --- perl-install/bootloader.pm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'perl-install/bootloader.pm') diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm index 22df2c805..56cb73d9a 100644 --- a/perl-install/bootloader.pm +++ b/perl-install/bootloader.pm @@ -500,11 +500,21 @@ sub set_append { modify_append($b, sub { my ($simple, $dict) = @_; if ($has_val) { - @$dict = grep { $_->[0] ne $key || $key eq 'mem' && append__mem_is_memsize($_->[1]) != append__mem_is_memsize($val) } @$dict; - push @$dict, [ $key, $val ] if !($val eq '' || $key eq 'mem' && !$val); + my $to_add = $key eq 'mem' ? $val : $val ne ''; + @$dict = map { + if ($_->[0] ne $key || $key eq 'mem' && append__mem_is_memsize($_->[1]) != append__mem_is_memsize($val)) { + $_; + } elsif ($to_add) { + $to_add = 0; + [ $key, $val ]; + } else { + (); + } + } @$dict; + + push @$dict, [ $key, $val ] if $to_add; } else { - @$simple = grep { $_ ne $key } @$simple; - push @$simple, $key; + @$simple = uniq(@$simple, $key); } }); } -- cgit v1.2.1