summaryrefslogtreecommitdiffstats
path: root/Modules/_ctypes
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-06-17 08:13:03 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2016-06-17 08:13:03 (GMT)
commitd4b45cb9ca426df78aee5ceb53b65aa826498186 (patch)
treee1978f71af18a1d5d91cd03fbb4cbe035fb5c069 /Modules/_ctypes
parenta63073a807d52df8d808c9409d0f284b3d61a20a (diff)
parent85e6635edf4c56064fddd09f5350936dcd650389 (diff)
downloadcpython-d4b45cb9ca426df78aee5ceb53b65aa826498186.zip
cpython-d4b45cb9ca426df78aee5ceb53b65aa826498186.tar.gz
cpython-d4b45cb9ca426df78aee5ceb53b65aa826498186.tar.bz2
ctypes: the type of b_size is Py_ssize_t.
Diffstat (limited to 'Modules/_ctypes')
-rw-r--r--Modules/_ctypes/_ctypes.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index 58f4161..44d1e56 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -1124,7 +1124,7 @@ CharArray_get_raw(CDataObject *self)
static PyObject *
CharArray_get_value(CDataObject *self)
{
- int i;
+ Py_ssize_t i;
char *ptr = self->b_ptr;
for (i = 0; i < self->b_size; ++i)
if (*ptr++ == '\0')
@@ -1180,9 +1180,9 @@ static PyGetSetDef CharArray_getsets[] = {
static PyObject *
WCharArray_get_value(CDataObject *self)
{
- unsigned int i;
+ Py_ssize_t i;
wchar_t *ptr = (wchar_t *)self->b_ptr;
- for (i = 0; i < self->b_size/sizeof(wchar_t); ++i)
+ for (i = 0; i < self->b_size/(Py_ssize_t)sizeof(wchar_t); ++i)
if (*ptr++ == (wchar_t)0)
break;
return PyUnicode_FromWideChar((wchar_t *)self->b_ptr, i);
@@ -1211,7 +1211,7 @@ WCharArray_set_value(CDataObject *self, PyObject *value)
wstr = PyUnicode_AsUnicodeAndSize(value, &len);
if (wstr == NULL)
return -1;
- if ((unsigned)len > self->b_size/sizeof(wchar_t)) {
+ if ((size_t)len > self->b_size/sizeof(wchar_t)) {
PyErr_SetString(PyExc_ValueError,
"string too long");
result = -1;