Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Aug 2021 09:54:32 +0200
From:      Kristof Provost <kp@FreeBSD.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        Dimitry Andric <dim@freebsd.org>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: 5b8f07b12f84 - main - Fix -Wformat errors in pfctl on 32-bit architectures
Message-ID:  <B2E4B5E2-FD34-4C5F-AE87-92DC405C8511@FreeBSD.org>
In-Reply-To: <YS1qthEOnzWr/YN/@kib.kiev.ua>
References:  <202108291531.17TFVoah033310@gitrepo.freebsd.org> <6A084192-562D-404D-9833-51A708FA1BC0@FreeBSD.org> <BA13C28C-EE20-449F-B4D7-18E14EEB5CC9@FreeBSD.org> <YS1qthEOnzWr/YN/@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On 31 Aug 2021, at 1:33, Konstantin Belousov wrote:
> On Sun, Aug 29, 2021 at 07:40:09PM +0200, Dimitry Andric wrote:
>> On 29 Aug 2021, at 18:00, Kristof Provost <kp@freebsd.org> wrote:
>>>
>>> On 29 Aug 2021, at 17:31, Dimitry Andric wrote:
>>>> The branch main has been updated by dim:
>>>>
>>>> URL: https://cgit.FreeBSD.org/src/commit/?id=3D5b8f07b12f8477f167901=
3d6b3abdab8d33c7243
>>>>
>>>> commit 5b8f07b12f8477f1679013d6b3abdab8d33c7243
>>>> Author:     Dimitry Andric <dim@FreeBSD.org>
>>>> AuthorDate: 2021-08-29 15:31:28 +0000
>>>> Commit:     Dimitry Andric <dim@FreeBSD.org>
>>>> CommitDate: 2021-08-29 15:31:28 +0000
>>>>
>>>>    Fix -Wformat errors in pfctl on 32-bit architectures
>>>>
>>>>    Use PRIu64 to printf(3) uint64_t quantities, otherwise this will =
result
>>>>    in "error: format specifies type 'unsigned long' but the argument=
 has
>>>>    type 'uint64_t' (aka 'unsigned long long') [-Werror,-Wformat]" on=
 32-bit
>>>>    architectures.
>>>>
>>>>    Fixes:          80078d9d38fd
>>>>    MFC after:      1 week
>>>
>>> Thanks!
>>>
>>> I was running test builds for a fix, but it is so much more convenien=
t when other people fix my mistakes for me.
>>
>> I was trying buildworld on i386 for something totally unrelated, and r=
an
>> into these -Wformat errors so I took the liberty of patching them up
>> quickly. :)
>
> Generally we do not use the PRIu64 (you should remember the term
> abomination).  Why not cast to uintmax_t and use %ju as we typically do=

> in other places.
>
There are a couple of examples in the tree, but it is indeed rare.

I wanted to avoid casting so that the compiler would still shout at me if=
 data types changed. It=E2=80=99s much easier to miss places where a vari=
able is used (and that need to be updated) if they=E2=80=99re getting cas=
t to something.

If this is something the project has strong feelings about I=E2=80=99ll c=
hange it, but I think I like this slightly better than casting to uintmax=
_t.

Best regards,
Kristof



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B2E4B5E2-FD34-4C5F-AE87-92DC405C8511>