Print this page
6717509 Need to use bswap/bswapq for byte swap of 64-bit integer on x32/x64 (fix lint)
*** 268,278 ****
{
unsigned int i, j;
for (i = 0, j = 0; j < len; i++, j += 4) {
#if defined(_LITTLE_ENDIAN) && defined(UNALIGNED_POINTERS_PERMITTED)
! *(uint32_t *)&output[j] = input[i];
#else
/* endian-independent code */
output[j] = (unsigned char)(input[i] & 0xff);
output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
--- 268,278 ----
{
unsigned int i, j;
for (i = 0, j = 0; j < len; i++, j += 4) {
#if defined(_LITTLE_ENDIAN) && defined(UNALIGNED_POINTERS_PERMITTED)
! *(uint32_t *)(void *)&output[j] = input[i];
#else
/* endian-independent code */
output[j] = (unsigned char)(input[i] & 0xff);
output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
*** 290,300 ****
{
unsigned int i, j;
for (i = 0, j = 0; j < len; i++, j += 4) {
#if defined(_LITTLE_ENDIAN) && defined(UNALIGNED_POINTERS_PERMITTED)
! output[i] = *(uint32_t *)&input[j];
#else
/* endian-independent code */
output[i] = ((uint32_t)input[j]) |
(((uint32_t)input[j+1]) << 8) |
(((uint32_t)input[j+2]) << 16) |
--- 290,300 ----
{
unsigned int i, j;
for (i = 0, j = 0; j < len; i++, j += 4) {
#if defined(_LITTLE_ENDIAN) && defined(UNALIGNED_POINTERS_PERMITTED)
! output[i] = *(uint32_t *)(void *)&input[j];
#else
/* endian-independent code */
output[i] = ((uint32_t)input[j]) |
(((uint32_t)input[j+1]) << 8) |
(((uint32_t)input[j+2]) << 16) |