From 6b72aa3f68e6ed0023720defac341273a56fdc6a Mon Sep 17 00:00:00 2001 From: Francois Pons Date: Wed, 9 Jan 2002 12:57:54 +0000 Subject: use rpm version comparison function. --- perl-install/pkgs.pm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'perl-install/pkgs.pm') diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm index e8dd9fac2..c02e7f3e7 100644 --- a/perl-install/pkgs.pm +++ b/perl-install/pkgs.pm @@ -928,15 +928,17 @@ sub done_db { } sub versionCompare($$) { - my ($a, $b) = @_; - local $_; - - while ($a || $b) { - my ($sb, $sa) = map { $1 if $a =~ /^\W*\d/ ? s/^\W*0*(\d+)// : s/^\W*(\D*)// } ($b, $a); - $_ = ($sa =~ /^\d/ || $sb =~ /^\d/) && length($sa) <=> length($sb) || $sa cmp $sb and return $_ || 0; - $sa eq '' && $sb eq '' and return $a cmp $b || 0; - } + goto &c::rpmvercmp; } +#- old code using perl version, still broken on some case. +#- my ($a, $b) = @_; +#- local $_; +#- +#- while ($a || $b) { +#- my ($sb, $sa) = map { $1 if $a =~ /^\W*\d/ ? s/^\W*0*(\d+)// : s/^\W*(\D*)// } ($b, $a); +#- $_ = ($sa =~ /^\d/ || $sb =~ /^\d/) && length($sa) <=> length($sb) || $sa cmp $sb and return $_ || 0; +#- $sa eq '' && $sb eq '' and return $a cmp $b || 0; +#- } sub selectPackagesAlreadyInstalled { my ($packages, $prefix) = @_; -- cgit v1.2.1