On Sun, 28 Jul 2024 at 11:06, Joseph Koshakow <koshy44(at)gmail(dot)com> wrote:
> > + uint64 usize = size < 0 ? (uint64) (-size) : (uint64) size;
>
> I think that the explicit test for PG_INT64_MIN is still required. If
> `size` is equal to PG_INT64_MIN then `-size` will overflow. You end up
> with the correct behavior if `size` wraps around, but that's only
> guaranteed on platforms that support the `-fwrapv` flag.
What if we spelt it out the same way as pg_lltoa() does?
i.e: uint64 usize = size < 0 ? 0 - (uint64) size : (uint64) size;
David