summaryrefslogtreecommitdiffstats
path: root/Modules/arraymodule.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2000-07-01 00:38:19 (GMT)
committerGuido van Rossum <guido@python.org>2000-07-01 00:38:19 (GMT)
commit9f754e0e2d788fff662e0e86bd082f5b9704b876 (patch)
tree610f306af5db877acdafa13a35e6043aa87305ec /Modules/arraymodule.c
parent973e4dcaff53e1c2d9bd12b0b88bfc8366d5e2a2 (diff)
downloadcpython-9f754e0e2d788fff662e0e86bd082f5b9704b876.zip
cpython-9f754e0e2d788fff662e0e86bd082f5b9704b876.tar.gz
cpython-9f754e0e2d788fff662e0e86bd082f5b9704b876.tar.bz2
In b_setitem(), instead of the platform dependent CHAR_MIN and
CHAR_MAX, use hardcoded -128 and 127. This may seem strange, unless you realize that we're talking about signed bytes here! Bytes are always 8 bits and 2's complement. CHAR_MIN and CHAR_MAX are properties of the char data type, which is guaranteed to hold at least 8 bits anyway. Otherwise you'd get failing tests on platforms where unsigned char is the default (e.g. AIX). Thanks, Vladimir Marangozov, for finding this nit!
Diffstat (limited to 'Modules/arraymodule.c')
-rw-r--r--Modules/arraymodule.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index ba5105c..7bc7e73 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -99,12 +99,12 @@ b_setitem(ap, i, v)
the overflow checking */
if (!PyArg_Parse(v, "h;array item must be integer", &x))
return -1;
- else if (x < CHAR_MIN) {
+ else if (x < -128) {
PyErr_SetString(PyExc_OverflowError,
"signed char is less than minimum");
return -1;
}
- else if (x > CHAR_MAX) {
+ else if (x > 127) {
PyErr_SetString(PyExc_OverflowError,
"signed char is greater than maximum");
return -1;