diff options
author | 2001-07-14 14:20:11 +0000 | |
---|---|---|
committer | 2001-07-14 14:20:11 +0000 | |
commit | 40b002a6ece76e1a6600a528417725ada6ed2e0f (patch) | |
tree | e708b5319a3ee7c32480a6ca21bee4da53fd1a12 | |
parent | Fix cycle detection. (diff) | |
download | wireguard-openbsd-40b002a6ece76e1a6600a528417725ada6ed2e0f.tar.xz wireguard-openbsd-40b002a6ece76e1a6600a528417725ada6ed2e0f.zip |
Silly bug in version detection: not having any dewey check does NOT
mean check went okay. In fact, if we only have exact versions to match
against, we don't want to match... Ouch.
-rw-r--r-- | usr.sbin/pkg/pkg.pl | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/usr.sbin/pkg/pkg.pl b/usr.sbin/pkg/pkg.pl index 8b705b496c2..8afaed25576 100644 --- a/usr.sbin/pkg/pkg.pl +++ b/usr.sbin/pkg/pkg.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl # ex:ts=8 sw=4: -# $OpenBSD: pkg.pl,v 1.3 2001/04/24 22:14:10 espie Exp $ +# $OpenBSD: pkg.pl,v 1.4 2001/07/14 14:20:11 espie Exp $ # # Copyright (c) 2001 Marc Espie. # @@ -113,7 +113,10 @@ sub check_version return 1 if $v =~ /^$_$/; return 1 if $v =~ /^${_}p\d+$/; # allows for recent patches } - for (grep !/^\d/, @specs) { # dewey match, all of them + + # Last chance: dewey specs ? + my @deweys = grep !/^\d/, @specs; + for (@deweys) { if (m/^\<\=|\>\=|\<|\>/) { my ($op, $dewey) = ($&, $'); my $compare = dewey_compare($v, $dewey); @@ -121,9 +124,11 @@ sub check_version return 0 if $op eq '<=' && $compare > 0; return 0 if $op eq '>' && $compare <= 0; return 0 if $op eq '>=' && $compare < 0; + } else { + return 0; # unknown spec type } } - return 1; + return @deweys == 0 ? 0 : 1; } sub check_1flavor |