diff --git a/perl.h b/perl.h index 83e851539d25..6e13e55d86fc 100644 --- a/perl.h +++ b/perl.h @@ -4178,13 +4178,13 @@ struct ptr_tbl { PERL_STATIC_INLINE U32 my_swap32(const U32 x) { - return ((x & 0xFF) << 24) | ((x >> 24) & 0xFF) + return ((U8) (x) << 24) | ((U8) (x >> 24)) | ((x & 0x0000FF00) << 8) | ((x & 0x00FF0000) >> 8); } PERL_STATIC_INLINE U16 my_swap16(const U16 x) { - return ((x & 0xFF) << 8) | ((x >> 8) & 0xFF); + return (((U8) x) << 8) | ((U8) (x >> 8)); } # define htonl(x) my_swap32(x)