Py_XDECREF(converters);
Py_DECREF(ob);
PyErr_Format(PyExc_TypeError,
- "item %d in _argtypes_ has no from_param method", i+1);
+#if (PY_VERSION_HEX < 0x02050000)
+ "item %d in _argtypes_ has no from_param method",
+#else
+ "item %zd in _argtypes_ has no from_param method",
+#endif
+ i+1);
return NULL;
}
message is misleading. See unittests/test_paramflags.py
*/
PyErr_Format(PyExc_TypeError,
+#if (PY_VERSION_HEX < 0x02050000)
"call takes exactly %d arguments (%d given)",
+#else
+ "call takes exactly %d arguments (%zd given)",
+#endif
inargs_index, actual_args);
goto error;
}
static PyObject *
CField_get_offset(PyObject *self, void *data)
{
-#if (PY_VERSION_HEX < 0x02050000)
- return PyInt_FromLong(((CFieldObject *)self)->offset);
-#else
return PyInt_FromSsize_t(((CFieldObject *)self)->offset);
-#endif
}
static PyObject *
CField_get_size(PyObject *self, void *data)
{
-#if (PY_VERSION_HEX < 0x02050000)
- return PyInt_FromLong(((CFieldObject *)self)->size);
-#else
return PyInt_FromSsize_t(((CFieldObject *)self)->size);
-#endif
}
static PyGetSetDef CField_getset[] = {
#if (PY_VERSION_HEX < 0x02050000)
"<Field type=%s, ofs=%d:%d, bits=%d>",
#else
- "<Field type=%s, ofs=%zd:%d, bits=%d>",
+ "<Field type=%s, ofs=%zd:%zd, bits=%zd>",
#endif
name, self->offset, size, bits);
else
#if (PY_VERSION_HEX < 0x02050000)
"<Field type=%s, ofs=%d, size=%d>",
#else
- "<Field type=%s, ofs=%zd, size=%d>",
+ "<Field type=%s, ofs=%zd, size=%zd>",
#endif
name, self->offset, size);
return result;
size = PyUnicode_GET_SIZE(value);
if (size > length) {
PyErr_Format(PyExc_ValueError,
+#if (PY_VERSION_HEX < 0x02050000)
"string too long (%d, maximum length %d)",
+#else
+ "string too long (%zd, maximum length %zd)",
+#endif
size, length);
Py_DECREF(value);
return NULL;
++size;
} else if (size > length) {
PyErr_Format(PyExc_ValueError,
+#if (PY_VERSION_HEX < 0x02050000)
"string too long (%d, maximum length %d)",
+#else
+ "string too long (%zd, maximum length %zd)",
+#endif
size, length);
return NULL;
}