svn commit: r53014 - head/en_US.ISO8859-1/htdocs/cgi
Wolfram Schneider
wosch at FreeBSD.org
Tue May 14 16:41:32 UTC 2019
Author: wosch
Date: Tue May 14 16:41:31 2019
New Revision: 53014
URL: https://svnweb.freebsd.org/changeset/doc/53014
Log:
simplify matching of release version numbers
Modified:
head/en_US.ISO8859-1/htdocs/cgi/man.cgi
Modified: head/en_US.ISO8859-1/htdocs/cgi/man.cgi
==============================================================================
--- head/en_US.ISO8859-1/htdocs/cgi/man.cgi Tue May 14 05:29:50 2019 (r53013)
+++ head/en_US.ISO8859-1/htdocs/cgi/man.cgi Tue May 14 16:41:31 2019 (r53014)
@@ -906,28 +906,21 @@ while ( ( $key, $val ) = each %manPath ) {
#
sub sort_versions {
+ # a release has at least 2 numbers seperated by a dot:
# FreeBSD 11.1-RELEASE ports
- my @a = ( lc($a) =~ m,^(\D+)([\d\.]+)(\D*)$, );
- my @b = ( lc($b) =~ m,^(\D+)([\d\.]+)(\D*)$, );
+ # X11R7.4
+ my @a = ( lc($a) =~ m,^(.*?)(\d+\.[\d\.]+)(.*)$, );
+ my @b = ( lc($b) =~ m,^(.*?)(\d+\.[\d\.]+)(.*)$, );
if (@a and @b) {
return $a[0] cmp $b[0] || # FreeBDS <=> IRIX
&version($a[1], $b[1]) || # 6.5.30 <=> 6.5.31
$a[2] cmp $a[2] || # RELEASE <=> ports
$a cmp $b; # rest
+ } else {
+ # for the rest: basic string compare
+ return $a cmp $b;
}
-
- # 2.9.1 BSD
- @a = ( lc($a) =~ m,^([\d\.]+)(.*)$, );
- @b = ( lc($b) =~ m,^([\d\.]+)(.*)$, );
- if (@a and @b) {
- return &version($a[0], $b[0]) || # 2.9.1BSD
- $a[1] <=> $b[1] || # BSD
- $a cmp $b; # rest
- }
-
- # rest
- return $a cmp $b;
}
sub version {
More information about the svn-doc-all
mailing list