kvs20xx: fix [-Wstrict-aliasing] compiler warnings

merge-requests/1/head
Olaf Meeuwissen 2015-12-31 17:47:40 +09:00
rodzic 0e3a5c4197
commit b1f886a2e3
2 zmienionych plików z 8 dodań i 2 usunięć

Wyświetl plik

@ -168,6 +168,12 @@ swap_bytes32 (u32 x)
(x & (u32) 0x0000ff00UL) << 8 | (x & (u32) 0x00ff0000UL) >> 8;
}
static inline void
copy16 (u8 * p, u16 x)
{
memcpy (p, (u8 *) &x, sizeof (x));
}
#if __BYTE_ORDER == __BIG_ENDIAN
static inline void
set24 (u8 * p, u32 x)

Wyświetl plik

@ -187,7 +187,7 @@ kvs20xx_set_timeout (struct scanner * s, int timeout)
};
c.cmd[0] = SET_TIMEOUT;
c.cmd[2] = 0x8d;
*((u16 *) (c.cmd + 7)) = cpu2be16 (sizeof (t));
copy16 (c.cmd + 7, cpu2be16 (sizeof (t)));
c.data = &t;
c.data_size = sizeof (t);
@ -210,7 +210,7 @@ kvs20xx_set_window (struct scanner * s, int wnd_id)
CMD_OUT
};
c.cmd[0] = SET_WINDOW;
*((u16 *) (c.cmd + 7)) = cpu2be16 (sizeof (wnd));
copy16 (c.cmd + 7, cpu2be16 (sizeof (wnd)));
c.data = &wnd;
c.data_size = sizeof (wnd);