From e6ed8e34ccfcdbe6e40fd98db2cc50ec04051fb5 Mon Sep 17 00:00:00 2001
From: Marcus Comstedt <marcus@mc.pp.se>
Date: Sat, 6 Dec 2014 19:04:48 +0100
Subject: [PATCH] Stdio.Buffer: Fix alignment problem in
 io_append_{short,int}_uc

---
 src/modules/_Stdio/buffer.cmod | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/modules/_Stdio/buffer.cmod b/src/modules/_Stdio/buffer.cmod
index 27b6af180a..c20dc81aa6 100644
--- a/src/modules/_Stdio/buffer.cmod
+++ b/src/modules/_Stdio/buffer.cmod
@@ -779,14 +779,16 @@ PIKECLASS Buffer
 
   static void io_append_short_uc( Buffer *io, unsigned short shrt )
   {
-      *((short *)(io->buffer+io->len)) = htons(shrt);
-      io->len+=2;
+      io->buffer[io->len++] = shrt>>8;
+      io->buffer[io->len++] = shrt;
   }
 
   static void io_append_int_uc( Buffer *io, unsigned INT32 i )
   {
-      *((INT32 *)(io->buffer+io->len)) = htonl(i);
-      io->len+=4;
+      io->buffer[io->len++] = i>>24;
+      io->buffer[io->len++] = i>>16;
+      io->buffer[io->len++] = i>>8;
+      io->buffer[io->len++] = i;
   }
 
 
-- 
GitLab