summaryrefslogtreecommitdiff
path: root/Modules/_struct.c
diff options
context:
space:
mode:
authorMark Dickinson <dickinsm@gmail.com>2010-07-18 07:29:02 +0000
committerMark Dickinson <dickinsm@gmail.com>2010-07-18 07:29:02 +0000
commit48c6ee585de9b7ae47e04d1fe40215b5eb942793 (patch)
tree0599893b22dd53aa8c0ec26bb533559734cde8e1 /Modules/_struct.c
parent1c5b456e00c6fc66e08e98c8e23313ad01509288 (diff)
downloadcpython-48c6ee585de9b7ae47e04d1fe40215b5eb942793.tar.gz
Issue #9277: Struct module: standard bool packing was incorrect if
char is unsigned. Thanks Stefan Krah for the patch.
Diffstat (limited to 'Modules/_struct.c')
-rw-r--r--Modules/_struct.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Modules/_struct.c b/Modules/_struct.c
index b5f18a96ad..d55ce0f60d 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;
}