mirror of
https://github.com/python/cpython.git
synced 2025-10-10 00:43:41 +00:00
Merge ssize_t branch.
This commit is contained in:
parent
4482929734
commit
18e165558b
102 changed files with 2659 additions and 1677 deletions
|
@ -40,7 +40,7 @@ PyStructSequence_New(PyTypeObject *type)
|
|||
static void
|
||||
structseq_dealloc(PyStructSequence *obj)
|
||||
{
|
||||
int i, size;
|
||||
Py_ssize_t i, size;
|
||||
|
||||
size = REAL_SIZE(obj);
|
||||
for (i = 0; i < size; ++i) {
|
||||
|
@ -49,14 +49,14 @@ structseq_dealloc(PyStructSequence *obj)
|
|||
PyObject_Del(obj);
|
||||
}
|
||||
|
||||
static int
|
||||
static Py_ssize_t
|
||||
structseq_length(PyStructSequence *obj)
|
||||
{
|
||||
return VISIBLE_SIZE(obj);
|
||||
}
|
||||
|
||||
static PyObject*
|
||||
structseq_item(PyStructSequence *obj, int i)
|
||||
structseq_item(PyStructSequence *obj, Py_ssize_t i)
|
||||
{
|
||||
if (i < 0 || i >= VISIBLE_SIZE(obj)) {
|
||||
PyErr_SetString(PyExc_IndexError, "tuple index out of range");
|
||||
|
@ -67,10 +67,10 @@ structseq_item(PyStructSequence *obj, int i)
|
|||
}
|
||||
|
||||
static PyObject*
|
||||
structseq_slice(PyStructSequence *obj, int low, int high)
|
||||
structseq_slice(PyStructSequence *obj, Py_ssize_t low, Py_ssize_t high)
|
||||
{
|
||||
PyTupleObject *np;
|
||||
int i;
|
||||
Py_ssize_t i;
|
||||
|
||||
if (low < 0)
|
||||
low = 0;
|
||||
|
@ -96,7 +96,7 @@ structseq_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
|||
PyObject *dict = NULL;
|
||||
PyObject *ob;
|
||||
PyStructSequence *res = NULL;
|
||||
int len, min_len, max_len, i, n_unnamed_fields;
|
||||
Py_ssize_t len, min_len, max_len, i, n_unnamed_fields;
|
||||
static const char *kwlist[] = {"sequence", "dict", 0};
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:structseq",
|
||||
|
@ -125,7 +125,7 @@ structseq_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
|||
if (min_len != max_len) {
|
||||
if (len < min_len) {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"%.500s() takes an at least %d-sequence (%d-sequence given)",
|
||||
"%.500s() takes an at least %ld-sequence (%ld-sequence given)",
|
||||
type->tp_name, min_len, len);
|
||||
Py_DECREF(arg);
|
||||
return NULL;
|
||||
|
@ -133,7 +133,7 @@ structseq_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
|||
|
||||
if (len > max_len) {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"%.500s() takes an at most %d-sequence (%d-sequence given)",
|
||||
"%.500s() takes an at most %ld-sequence (%ld-sequence given)",
|
||||
type->tp_name, max_len, len);
|
||||
Py_DECREF(arg);
|
||||
return NULL;
|
||||
|
@ -142,7 +142,7 @@ structseq_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
|||
else {
|
||||
if (len != min_len) {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"%.500s() takes a %d-sequence (%d-sequence given)",
|
||||
"%.500s() takes a %ld-sequence (%ld-sequence given)",
|
||||
type->tp_name, min_len, len);
|
||||
Py_DECREF(arg);
|
||||
return NULL;
|
||||
|
@ -200,7 +200,7 @@ structseq_concat(PyStructSequence *obj, PyObject *b)
|
|||
}
|
||||
|
||||
static PyObject *
|
||||
structseq_repeat(PyStructSequence *obj, int n)
|
||||
structseq_repeat(PyStructSequence *obj, Py_ssize_t n)
|
||||
{
|
||||
PyObject *tup, *result;
|
||||
tup = make_tuple(obj);
|
||||
|
@ -284,11 +284,11 @@ structseq_reduce(PyStructSequence* self)
|
|||
}
|
||||
|
||||
static PySequenceMethods structseq_as_sequence = {
|
||||
(inquiry)structseq_length,
|
||||
(lenfunc)structseq_length,
|
||||
(binaryfunc)structseq_concat, /* sq_concat */
|
||||
(intargfunc)structseq_repeat, /* sq_repeat */
|
||||
(intargfunc)structseq_item, /* sq_item */
|
||||
(intintargfunc)structseq_slice, /* sq_slice */
|
||||
(ssizeargfunc)structseq_repeat, /* sq_repeat */
|
||||
(ssizeargfunc)structseq_item, /* sq_item */
|
||||
(ssizessizeargfunc)structseq_slice, /* sq_slice */
|
||||
0, /* sq_ass_item */
|
||||
0, /* sq_ass_slice */
|
||||
(objobjproc)structseq_contains, /* sq_contains */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue