X-Git-Url: https://git.deb.at/?p=deb%2Fpackages.git;a=blobdiff_plain;f=lib%2FDeb%2FVersions.pm;h=fcc8e31170a754b170047073b31aefde6c18b592;hp=4f3b3207b0d8130d92706e181daf62884574000a;hb=00a3b2eb3a2ba0470e5f07adb09d00662d3e89f3;hpb=bcfcaa38f5df98ccff82e7ec1b9473b92b850c17 diff --git a/lib/Deb/Versions.pm b/lib/Deb/Versions.pm index 4f3b320..fcc8e31 100644 --- a/lib/Deb/Versions.pm +++ b/lib/Deb/Versions.pm @@ -111,7 +111,7 @@ sub _cmp_part { my ( $v1, $v2 ) = @_; my $r; - while ( $v1 && $v2 ) { + while ( $v1 || $v2 ) { $v1 =~ s/^(\D*)//o; my $sp1 = $1; $v2 =~ s/^(\D*)//o; @@ -138,13 +138,13 @@ sub _cmp_part { sub _lcmp { my ( $v1, $v2 ) = @_; - - for ( my $i = 0; $i < length( $v1 ); $i++ ) { + + for ( my $i = 0; $i <= length( $v1 ); $i++ ) { my ( $n1, $n2 ) = ( ord( substr( $v1, $i, 1 ) ), ord( substr( $v2, $i, 1 ) ) ); - $n1 += 256 if $n1 < 65; # letters sort earlier than non-letters + $n1 += 256 if $n1 && $n1 < 65; # letters sort earlier than non-letters $n1 = -1 if $n1 == 126; # '~' sorts earlier than everything else - $n2 += 256 if $n2 < 65; + $n2 += 256 if $n2 && $n2 < 65; $n2 = -1 if $n2 == 126; if ( my $r = ($n1 <=> $n2) ) { return $r; @@ -154,9 +154,9 @@ sub _lcmp { } our @SUITES_SORT = qw( woody oldstable sarge stable stable-proposed-updates - etch testing testing-proposed-updates sid unstable - experimental warty hoary hoary-backports breezy - breezy-backports dapper ); + etch etch-m68k testing testing-proposed-updates lenny + sid unstable experimental + warty hoary breezy breezy dapper edgy feisty gutsy ); our @ARCHIVE_SORT = qw( non-US security updates volatile backports ); our @PRIORITY_SORT = qw( required important standard optional extra ); my $i = 1000;