Fix a serialisation problem on RISC platforms

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
diff --git a/src/utils/wire.c b/src/utils/wire.c
index b47dac7..bf60ec9 100644
--- a/src/utils/wire.c
+++ b/src/utils/wire.c
@@ -30,12 +30,18 @@
 
 uint32_t nn_getl (const uint8_t *buf)
 {
-    return ntohl (*(uint32_t*) buf);
+    return (((uint32_t) buf [0]) << 24) |
+           (((uint32_t) buf [1]) << 16) |
+           (((uint32_t) buf [2]) << 8) |
+           ((uint32_t) buf [3]);
 }
 
 void nn_putl (uint8_t *buf, uint32_t val)
 {
-    *(uint32_t*) buf = htonl (val);
+    buf [0] = (uint8_t) (((val) >> 24) & 0xff);
+    buf [1] = (uint8_t) (((val) >> 16) & 0xff);
+    buf [2] = (uint8_t) (((val) >> 8) & 0xff);
+    buf [3] = (uint8_t) (val & 0xff);
 }
 
 uint64_t nn_getll (const uint8_t *buf)