Re: [PATCH 3/3] reftable tests: avoid "int" overflow, use "uint64_t"
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Jan 11, 2022, 20:24 UTC
- Message-ID
- <Yd3njKcopXVZ+69C@nand.local>
- In-Reply-To
- <e8e2c37d-39f1-0ae4-7894-07e85628a757@kdbg.org>
On Tue, Jan 11, 2022 at 09:21:11PM +0100, Johannes Sixt wrote:
Show 22 quoted lines
> Am 11.01.22 um 21:18 schrieb Taylor Blau: > > On Tue, Jan 11, 2022 at 09:08:46PM +0100, Johannes Sixt wrote: > >> Am 11.01.22 um 20:41 schrieb Taylor Blau: > >>> On Tue, Jan 11, 2022 at 08:31:47PM +0100, Han-Wen Nienhuys wrote: > >>>> On Tue, Jan 11, 2022 at 8:28 PM Taylor Blau <me@ttaylorr.com> wrote: > >>>>> In any case, you're only setting the lower half of `min` high. Maybe: > >>>>> > >>>>> uint64_t min = ~0ul; > >>>> > >>>> yeah, that works. > >>> > >>> I'm pretty sure this is OK on 32-bit systems, too, but confirmation from > >>> somebody more confident than I in this area would be welcome :). > >> > >> It does not work on Windows: unsigned long is 32 bits wide. You have to > >> make it > >> > >> uint64_t min = ~(uint64_t)0; > > > > Perfect; this is exactly what I was looking for. Thanks! > > Actually, on second thought, UINT64_MAX would be even better.
:-). I think that either is probably fine; I couldn't remember if UINT64_MAX was part of POSIX or not (and clearly didn't bother to check!)
Thanks, Taylor