OSDN Git Service

fix move_to_unaligned32
authorDenis Vlasenko <vda.linux@googlemail.com>
Fri, 17 Apr 2009 22:20:44 +0000 (22:20 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Fri, 17 Apr 2009 22:20:44 +0000 (22:20 -0000)
include/platform.h

index 47fd5f6..317349f 100644 (file)
 /* performs reasonably well (gcc usually inlines memcpy here) */
 #define move_from_unaligned16(v, u16p) (memcpy(&(v), (u16p), 2))
 #define move_from_unaligned32(v, u32p) (memcpy(&(v), (u32p), 4))
-#define move_to_unaligned32(u32p, v)   (memcpy((u32p), &(v), 4))
+#define move_to_unaligned32(u32p, v) do { \
+       uint32_t __t = (v); \
+       memcpy((u32p), &__t, 4); \
+} while (0)
 #endif
 
 /* ---- Networking ------------------------------------------ */