12/05/2018 04:00, Andy Green: > --- a/lib/librte_eal/common/include/generic/rte_byteorder.h > +++ b/lib/librte_eal/common/include/generic/rte_byteorder.h > @@ -123,7 +123,7 @@ typedef uint64_t rte_le64_t; /**< 64-bit little-endian > value. */ > static inline uint16_t > rte_constant_bswap16(uint16_t x) > { > - return RTE_STATIC_BSWAP16(x); > + return (uint16_t)RTE_STATIC_BSWAP16((uint16_t)x); > }
x is already uint16_t, and RTE_STATIC_BSWAP16 is already casting to uint16_t. So why these casts are needed? And why not in rte_constant_bswap32/64?