From eff5d8594b817e5e101cf22b1af901d89363f70a Mon Sep 17 00:00:00 2001 From: Mark Dickinson Date: Sun, 18 Jul 2010 07:29:02 +0000 Subject: [PATCH] Issue #9277: Struct module: standard bool packing was incorrect if char is unsigned. Thanks Stefan Krah for the patch. --- Modules/_struct.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/_struct.c b/Modules/_struct.c index b5f18a96adb..d55ce0f60d5 100644 --- a/Modules/_struct.c +++ b/Modules/_struct.c @@ -867,11 +867,11 @@ bp_double(char *p, PyObject *v, const formatdef *f) static int bp_bool(char *p, PyObject *v, const formatdef *f) { - char y; + int y; y = PyObject_IsTrue(v); if (y < 0) return -1; - memcpy(p, (char *)&y, sizeof y); + *p = (char)y; return 0; }