Messages in this thread | | | Date | Sat, 2 Feb 2019 19:31:05 +0300 | From | Alexey Dobriyan <> | Subject | Re: [PATCH 1/2] linux/kernel.h: use 'short' to define USHRT_MAX, SHRT_MAX, SHRT_MIN |
| |
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.
| |