From 1004a5339a78fa77face21cf23ab551bf866ffce Mon Sep 17 00:00:00 2001
From: Neal Norwitz <nnorwitz@gmail.com>
Date: Mon, 15 May 2006 07:17:23 +0000
Subject: Patch #1488312, Fix memory alignment problem on SPARC in unicode. 
 Will backport

---
 Misc/ACKS               | 1 +
 Misc/NEWS               | 2 ++
 Objects/unicodeobject.c | 2 +-
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/Misc/ACKS b/Misc/ACKS
index 248c433..2606dff 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -455,6 +455,7 @@ Denis S. Otkidach
 Russel Owen
 Mike Pall
 Todd R. Palmer
+Jan Palus
 Alexandre Parenteau
 Dan Parisien
 Harri Pasanen
diff --git a/Misc/NEWS b/Misc/NEWS
index c8d64cd..d2aefb1 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,8 @@ What's New in Python 2.5 alpha 3?
 Core and builtins
 -----------------
 
+- Patch #1488312, Fix memory alignment problem on SPARC in unicode
+
 - Bug #1487966: Fix SystemError with conditional expression in assignment
 
 - WindowsError now has two error code attributes: errno, which carries
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 292d02b..a3af7f6 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -2313,7 +2313,7 @@ PyObject *_PyUnicode_DecodeUnicodeInternal(const char *s,
     end = s + size;
 
     while (s < end) {
-        *p = *(Py_UNICODE *)s;
+        memcpy(p, s, sizeof(Py_UNICODE));
         /* We have to sanity check the raw data, otherwise doom looms for
            some malformed UCS-4 data. */
         if (
-- 
cgit v0.12

