On Mon, Nov 25, 2024 at 09:33:12PM +0200, Andy Shevchenko wrote: > On Mon, Nov 25, 2024 at 4:52 PM Uwe Kleine-König > <u.kleine-koenig@xxxxxxxxxxxx> wrote: > > On Mon, Nov 25, 2024 at 03:47:25PM +0200, Andy Shevchenko wrote: > > > On Mon, Nov 25, 2024 at 1:27 PM Uwe Kleine-König > > > <u.kleine-koenig@xxxxxxxxxxxx> wrote: > > > > On Fri, Nov 22, 2024 at 10:31:07PM +0200, Andy Shevchenko wrote: > > > > > On Fri, Nov 22, 2024 at 1:34 PM Uwe Kleine-König > > > > > <u.kleine-koenig@xxxxxxxxxxxx> wrote: > > > > > > + /* Add one for temperature */ > > > > > > + st->num_channels = min(num_channels + 1, AD7124_MAX_CHANNELS); > > > > > > > > > > Is the type of both arguments the same? > > > > > > > > Hmm, my compiler is happy with it at least. I don't understand why > > > > though. I'll do a few more tests ... > > > > > > If num_channels is signed int or shorter than (independently on the > > > sign) int, then it's obvious why. + 1 makes it int. > > > > Ah indeed, I should have understood that without that explanation. > > Yeah, but a closer look shows to me that num_channels is unsigned int > or did I look in the wrong place? If that's true, that should make a > warning appear since AD7124_MAX_CHANNELS is signed int... The ideas in the definition of min are a bit hard to follow, but IIUC it doesn't warn because AD7124_MAX_CHANNELS is non-negative and so there is no danger for misinterpretation. Best regards Uwe
Attachment:
signature.asc
Description: PGP signature