lkml.org 
[lkml]   [2019]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] linux/kernel.h: use 'short' to define USHRT_MAX, SHRT_MAX, SHRT_MIN
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.

\
 
 \ /
  Last update: 2019-02-02 17:37    [W:0.041 / U:18.216 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site