Date: Sun, 19 Sep 2004 10:32:45 -0500 From: "Jacques A. Vidrine" <nectar@FreeBSD.org> To: Dan Langille <dan@langille.org> Cc: Mathieu Arnold <mat@mat.cc> Subject: Re: confused by ranges Message-ID: <20040919153245.GB16616@lum.celabo.org> In-Reply-To: <414D4589.218.3804EA89@localhost> References: <414C6EA1.25173.34BD6CDE@localhost> <414D4589.218.3804EA89@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Sep 19, 2004 at 08:38:33AM -0400, Dan Langille wrote: > > This one is an AND : VER > 2.0 AND VER < 2.0.50_3 > > If there are two operators in a range, it is an AND. The testing > values always goes before the supplied operator. Correct? [...] > If there are multiple ranges for a package within a vuln, they are > used to construct an OR. When dealing with ranges programatically, one should probably handle them as one would an interval in any application, e.g. struct interval { Version low; bool low_closed; Version high; bool high_closed; }; Then comparison is for (int i = 0; i < interval_count; ++i) if (interval[i].low < x || interval[i].high > x || (interval[i].low_closed && interval[i].low == x) || (interval[i].high_closed && interval[i].high == x)) /* it is affected */ ; Cheers, -- Jacques A Vidrine / NTT/Verio nectar@celabo.org / jvidrine@verio.net / nectar@FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040919153245.GB16616>