Re: [PATCH RFC v2] mac80211: debugfs option to force TX status frames

From: Jeremy Sowden
Date: Wed Mar 20 2019 - 08:13:44 EST


On 2019-03-19, at 16:07:32 +0100, Julius Niedworok wrote:
> On 11.03.2019 15:52, Jeremy Sowden wrote:
> > It's the value that matters, not the type. It will only be too big
> > for the buffer if the result of casting local->force_tx_status to
> > int is less than -9 or greeater than 99.
> >
> > scnprintf(buf, size(buf), "%lld\n",
> > (long long)local->force_tx_status)
> >
> > would also be fine if the value were in range. Note also that
> > scnprintf will not overrun the buffer: it will truncate the string.
>
> Thanks for the clarification :)

You're welcome. :)

> > As it happens, arguments to variadic functions are subject to the
> > "default argument promotions," so if local->force_tx_status is in
> > fact a bool (I can't find the definition), it would be promoted to
> > int and the cast is superfluous.
>
> Yes - the cast is superfluous. We still think it might be useful to
> keep it there to make the point that the value will be casted.
> However, if you prefer to omit the cast, we are happy to take it out.

If I were maintaining this code, I'd probably take it out. However, I
did have to check the documentation to verify that the cast wasn't
required, and I know the more obscure corners of the C standard pretty
well, so it may cause less confusion to keep it.

J.

Attachment: signature.asc
Description: PGP signature