On Sat, Feb 02, 2019 at 07:31:05PM +0300, Alexey Dobriyan wrote:
> On Sun, Feb 03, 2019 at 01:06:24AM +0900, Masahiro Yamada wrote:
> > The log of commit 44f564a4bf6a ("ipc: add definitions of USHORT_MAX
> > and others") did not explain why it used (s16) and (u16) instead of
> > (short) and (unsigned short).
> > 
> > Let's use (short) and (unsigned short), which is more sensible, and
> > more consistent with the other MAX/MIN defines.
> > 
> > As you see in include/uapi/asm-generic/int-ll64.h, s16/u16 are
> > typedef'ed as signed/unsigned short. So, this commit does not have
> > a functional change.
> 
> > -#define USHRT_MAX  ((u16)(~0U))
> > -#define SHRT_MAX   ((s16)(USHRT_MAX>>1))
> > -#define SHRT_MIN   ((s16)(-SHRT_MAX - 1))
> > +#define USHRT_MAX  ((unsigned short)(~0U))
>                                        ^   ^
>                                        +---+
>                                          unnecessary ()
> > +#define SHRT_MAX   ((short)(USHRT_MAX>>1))
> > +#define SHRT_MIN   ((short)(-SHRT_MAX - 1))
> 
> "short" and "unsigned short" are probably the most useless C types.
> I doubt their usage should be promoted.

OTOH, U16_MAX etc exist and cast to u16, so using "short" would be
the right thing to do.

Reply via email to