mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Merge ssize_t branch.
This commit is contained in:
parent
4482929734
commit
18e165558b
102 changed files with 2659 additions and 1677 deletions
|
@ -217,8 +217,8 @@ reported by this function, and outstanding exceptions are maintained.
|
|||
static dictentry *
|
||||
lookdict(dictobject *mp, PyObject *key, register long hash)
|
||||
{
|
||||
register int i;
|
||||
register unsigned int perturb;
|
||||
register Py_ssize_t i;
|
||||
register size_t perturb;
|
||||
register dictentry *freeslot;
|
||||
register unsigned int mask = mp->ma_mask;
|
||||
dictentry *ep0 = mp->ma_table;
|
||||
|
@ -328,8 +328,8 @@ Done:
|
|||
static dictentry *
|
||||
lookdict_string(dictobject *mp, PyObject *key, register long hash)
|
||||
{
|
||||
register int i;
|
||||
register unsigned int perturb;
|
||||
register Py_ssize_t i;
|
||||
register size_t perturb;
|
||||
register dictentry *freeslot;
|
||||
register unsigned int mask = mp->ma_mask;
|
||||
dictentry *ep0 = mp->ma_table;
|
||||
|
@ -690,9 +690,10 @@ PyDict_Clear(PyObject *op)
|
|||
* delete keys), via PyDict_SetItem().
|
||||
*/
|
||||
int
|
||||
PyDict_Next(PyObject *op, int *ppos, PyObject **pkey, PyObject **pvalue)
|
||||
PyDict_Next(PyObject *op, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue)
|
||||
{
|
||||
register int i, mask;
|
||||
register Py_ssize_t i;
|
||||
register int mask;
|
||||
register dictentry *ep;
|
||||
|
||||
if (!PyDict_Check(op))
|
||||
|
@ -786,7 +787,7 @@ dict_print(register dictobject *mp, register FILE *fp, register int flags)
|
|||
static PyObject *
|
||||
dict_repr(dictobject *mp)
|
||||
{
|
||||
int i;
|
||||
Py_ssize_t i;
|
||||
PyObject *s, *temp, *colon = NULL;
|
||||
PyObject *pieces = NULL, *result = NULL;
|
||||
PyObject *key, *value;
|
||||
|
@ -862,7 +863,7 @@ Done:
|
|||
return result;
|
||||
}
|
||||
|
||||
static int
|
||||
static Py_ssize_t
|
||||
dict_length(dictobject *mp)
|
||||
{
|
||||
return mp->ma_used;
|
||||
|
@ -898,7 +899,7 @@ dict_ass_sub(dictobject *mp, PyObject *v, PyObject *w)
|
|||
}
|
||||
|
||||
static PyMappingMethods dict_as_mapping = {
|
||||
(inquiry)dict_length, /*mp_length*/
|
||||
(lenfunc)dict_length, /*mp_length*/
|
||||
(binaryfunc)dict_subscript, /*mp_subscript*/
|
||||
(objobjargproc)dict_ass_sub, /*mp_ass_subscript*/
|
||||
};
|
||||
|
@ -1109,7 +1110,7 @@ int
|
|||
PyDict_MergeFromSeq2(PyObject *d, PyObject *seq2, int override)
|
||||
{
|
||||
PyObject *it; /* iter(seq2) */
|
||||
int i; /* index into seq2 of current element */
|
||||
int i; /* index into seq2 of current element */
|
||||
PyObject *item; /* seq2[i] */
|
||||
PyObject *fast; /* item as a 2-tuple or 2-list */
|
||||
|
||||
|
@ -1123,7 +1124,7 @@ PyDict_MergeFromSeq2(PyObject *d, PyObject *seq2, int override)
|
|||
|
||||
for (i = 0; ; ++i) {
|
||||
PyObject *key, *value;
|
||||
int n;
|
||||
Py_ssize_t n;
|
||||
|
||||
fast = NULL;
|
||||
item = PyIter_Next(it);
|
||||
|
@ -1147,7 +1148,7 @@ PyDict_MergeFromSeq2(PyObject *d, PyObject *seq2, int override)
|
|||
if (n != 2) {
|
||||
PyErr_Format(PyExc_ValueError,
|
||||
"dictionary update sequence element #%d "
|
||||
"has length %d; 2 is required",
|
||||
"has length %ld; 2 is required",
|
||||
i, n);
|
||||
goto Fail;
|
||||
}
|
||||
|
@ -1300,7 +1301,7 @@ PyDict_Copy(PyObject *o)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
int
|
||||
Py_ssize_t
|
||||
PyDict_Size(PyObject *mp)
|
||||
{
|
||||
if (mp == NULL || !PyDict_Check(mp)) {
|
||||
|
@ -1708,7 +1709,8 @@ dict_popitem(dictobject *mp)
|
|||
static int
|
||||
dict_traverse(PyObject *op, visitproc visit, void *arg)
|
||||
{
|
||||
int i = 0, err;
|
||||
Py_ssize_t i = 0;
|
||||
int err;
|
||||
PyObject *pk;
|
||||
PyObject *pv;
|
||||
|
||||
|
@ -2057,7 +2059,7 @@ dictiter_dealloc(dictiterobject *di)
|
|||
static PyObject *
|
||||
dictiter_len(dictiterobject *di)
|
||||
{
|
||||
int len = 0;
|
||||
long len = 0;
|
||||
if (di->di_dict != NULL && di->di_used == di->di_dict->ma_used)
|
||||
len = di->len;
|
||||
return PyInt_FromLong(len);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue