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