$NetBSD: patch-system_file.cc,v 1.1 2020/01/03 02:35:51 tsutsui Exp $ - avoid unaligned copy for RISC cpus (XXX: handle NetBSD only) --- system/file.cc.orig 2008-08-31 09:52:12.000000000 +0000 +++ system/file.cc @@ -1161,14 +1161,8 @@ public: lsrc += 2; } static void Copy1Pixel(const char*& lsrc, char*& ldest) { -#ifdef WORDS_BIGENDIAN - ldest[3] = lsrc[0]; - ldest[2] = lsrc[1]; - ldest[1] = lsrc[2]; - ldest[0] = 0; -#else - *(int*)ldest = read_little_endian_int(lsrc); ldest[3]=0; -#endif + memcpy(ldest, lsrc, 3); + ldest[3] = 0; lsrc += 3; ldest += 4; } static int IsRev(void) { return 0; } @@ -1246,13 +1240,7 @@ public: lsrc += 2; } static void Copy1Pixel(const char*& lsrc, char*& ldest) { -#ifdef WORDS_BIGENDIAN - ldest[0] = lsrc[0]; - ldest[1] = lsrc[1]; - ldest[2] = lsrc[2]; -#else /* LITTLE ENDIAN / intel architecture */ - *(int*)ldest = *(int*)lsrc; -#endif + memcpy(ldest, lsrc, 3); lsrc += 3; ldest += 3; } static int IsRev(void) { return 1; } @@ -1279,7 +1267,7 @@ bool PDTCONV::Read(char* image) { int i; int len = width*height; src = buf; dest = image; for (i=0; i