Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1471223
| From | Oleg Drokin <green@linuxhacker.ru> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] bridge: Fix format string for %ul |
| Date | 2016-08-27 18:40 +0200 |
| Message-ID | <saOOd-6RJ-3@gated-at.bofh.it> (permalink) |
| References | <saCk2-7AH-11@gated-at.bofh.it> <saNyO-6aa-13@gated-at.bofh.it> <saObv-6nq-7@gated-at.bofh.it> <saOuS-6JU-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Aug 27, 2016, at 12:18 PM, Sergei Shtylyov wrote:
> Hello.
>
> On 8/27/2016 6:58 PM, Oleg Drokin wrote:
>
>>>> %ul would print an unsigned value and a letter l,
>>>> likely it was %lu that was meant to print the long int,
>>>> but in reality the values printed there are just regular signed
>>>
>>> Signed? Then you need probably "%d" or "%i"…
>>
>> They are signed in the struct definition, but in reality they
>> designate time, so could not be negative, I imagine?
>
> That doesn't matter. If the type is signed, it should be printed as signed.
> Doesn't gcc complain about the format specifiers not matching the values passed?
only if the size differs.
I don't care either way.
I can change the struct to unsigned too, but if we want super correctness,
the problem lies deeper.
E.g. if we look how those times are derived, the age comes as:
static inline int br_get_ticks(const unsigned char *src)
{
unsigned long ticks = get_unaligned_be16(src);
return DIV_ROUND_UP(ticks * HZ, STP_HZ);
}
So we divide unsigned value by positive value and get a signed result ;)
there's a struct net_bridge_port with similar members in this are that are
unsigned long, so I guess we should convert to unsigned long in the
struct br_config_bpdu, do you want a patch for that separately or as part of this one?
>
>>>> ints, so just dropping the l altogether.
>>>>
>>>> Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
>>> [...]
>
> MBR, Sergei
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH] bridge: Fix format string for %ul Oleg Drokin <green@linuxhacker.ru> - 2016-08-27 05:20 +0200
Re: [PATCH] bridge: Fix format string for %ul Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> - 2016-08-27 17:20 +0200
Re: [PATCH] bridge: Fix format string for %ul Oleg Drokin <green@linuxhacker.ru> - 2016-08-27 18:00 +0200
Re: [PATCH] bridge: Fix format string for %ul Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> - 2016-08-27 18:20 +0200
Re: [PATCH] bridge: Fix format string for %ul Oleg Drokin <green@linuxhacker.ru> - 2016-08-27 18:40 +0200
csiph-web