Commit ca3edb6d authored by Neal Norwitz's avatar Neal Norwitz

Use Py_ssize_t

parent 4327758d
...@@ -35,14 +35,14 @@ typedef struct _setobject PySetObject; ...@@ -35,14 +35,14 @@ typedef struct _setobject PySetObject;
struct _setobject { struct _setobject {
PyObject_HEAD PyObject_HEAD
int fill; /* # Active + # Dummy */ Py_ssize_t fill; /* # Active + # Dummy */
int used; /* # Active */ Py_ssize_t used; /* # Active */
/* The table contains mask + 1 slots, and that's a power of 2. /* The table contains mask + 1 slots, and that's a power of 2.
* We store the mask instead of the size because the mask is more * We store the mask instead of the size because the mask is more
* frequently needed. * frequently needed.
*/ */
int mask; Py_ssize_t mask;
/* table points to smalltable for small tables, else to /* table points to smalltable for small tables, else to
* additional malloc'ed memory. table is never NULL! This rule * additional malloc'ed memory. table is never NULL! This rule
......
...@@ -62,7 +62,7 @@ set_lookkey(PySetObject *so, PyObject *key, register long hash) ...@@ -62,7 +62,7 @@ set_lookkey(PySetObject *so, PyObject *key, register long hash)
register Py_ssize_t i; register Py_ssize_t i;
register size_t perturb; register size_t perturb;
register setentry *freeslot; register setentry *freeslot;
register unsigned int mask = so->mask; register size_t mask = so->mask;
setentry *table = so->table; setentry *table = so->table;
register setentry *entry; register setentry *entry;
register int cmp; register int cmp;
...@@ -140,7 +140,7 @@ set_lookkey_string(PySetObject *so, PyObject *key, register long hash) ...@@ -140,7 +140,7 @@ set_lookkey_string(PySetObject *so, PyObject *key, register long hash)
register Py_ssize_t i; register Py_ssize_t i;
register size_t perturb; register size_t perturb;
register setentry *freeslot; register setentry *freeslot;
register unsigned int mask = so->mask; register size_t mask = so->mask;
setentry *table = so->table; setentry *table = so->table;
register setentry *entry; register setentry *entry;
...@@ -221,11 +221,11 @@ keys again. When entries have been deleted, the new table may ...@@ -221,11 +221,11 @@ keys again. When entries have been deleted, the new table may
actually be smaller than the old one. actually be smaller than the old one.
*/ */
static int static int
set_table_resize(PySetObject *so, int minused) set_table_resize(PySetObject *so, Py_ssize_t minused)
{ {
int newsize; Py_ssize_t newsize;
setentry *oldtable, *newtable, *entry; setentry *oldtable, *newtable, *entry;
int i; Py_ssize_t i;
int is_oldtable_malloced; int is_oldtable_malloced;
setentry small_copy[PySet_MINSIZE]; setentry small_copy[PySet_MINSIZE];
...@@ -314,7 +314,7 @@ set_table_resize(PySetObject *so, int minused) ...@@ -314,7 +314,7 @@ set_table_resize(PySetObject *so, int minused)
static int static int
set_add_entry(register PySetObject *so, setentry *entry) set_add_entry(register PySetObject *so, setentry *entry)
{ {
register int n_used; register Py_ssize_t n_used;
assert(so->fill <= so->mask); /* at least one empty slot */ assert(so->fill <= so->mask); /* at least one empty slot */
n_used = so->used; n_used = so->used;
...@@ -330,7 +330,7 @@ static int ...@@ -330,7 +330,7 @@ static int
set_add_key(register PySetObject *so, PyObject *key) set_add_key(register PySetObject *so, PyObject *key)
{ {
register long hash; register long hash;
register int n_used; register Py_ssize_t n_used;
if (!PyString_CheckExact(key) || if (!PyString_CheckExact(key) ||
(hash = ((PyStringObject *) key)->ob_shash) == -1) { (hash = ((PyStringObject *) key)->ob_shash) == -1) {
...@@ -403,10 +403,10 @@ set_clear_internal(PySetObject *so) ...@@ -403,10 +403,10 @@ set_clear_internal(PySetObject *so)
{ {
setentry *entry, *table; setentry *entry, *table;
int table_is_malloced; int table_is_malloced;
int fill; Py_ssize_t fill;
setentry small_copy[PySet_MINSIZE]; setentry small_copy[PySet_MINSIZE];
#ifdef Py_DEBUG #ifdef Py_DEBUG
int i, n; Py_ssize_t i, n;
assert (PyAnySet_Check(so)); assert (PyAnySet_Check(so));
n = so->mask + 1; n = so->mask + 1;
...@@ -465,7 +465,7 @@ set_clear_internal(PySetObject *so) ...@@ -465,7 +465,7 @@ set_clear_internal(PySetObject *so)
/* /*
* Iterate over a set table. Use like so: * Iterate over a set table. Use like so:
* *
* int pos; * Py_ssize_t pos;
* setentry *entry; * setentry *entry;
* pos = 0; # important! pos should not otherwise be changed by you * pos = 0; # important! pos should not otherwise be changed by you
* while (set_next(yourset, &pos, &entry)) { * while (set_next(yourset, &pos, &entry)) {
...@@ -479,7 +479,7 @@ static int ...@@ -479,7 +479,7 @@ static int
set_next(PySetObject *so, Py_ssize_t *pos_ptr, setentry **entry_ptr) set_next(PySetObject *so, Py_ssize_t *pos_ptr, setentry **entry_ptr)
{ {
Py_ssize_t i; Py_ssize_t i;
int mask; Py_ssize_t mask;
register setentry *table; register setentry *table;
assert (PyAnySet_Check(so)); assert (PyAnySet_Check(so));
...@@ -501,7 +501,7 @@ static void ...@@ -501,7 +501,7 @@ static void
set_dealloc(PySetObject *so) set_dealloc(PySetObject *so)
{ {
register setentry *entry; register setentry *entry;
int fill = so->fill; Py_ssize_t fill = so->fill;
PyObject_GC_UnTrack(so); PyObject_GC_UnTrack(so);
Py_TRASHCAN_SAFE_BEGIN(so) Py_TRASHCAN_SAFE_BEGIN(so)
if (so->weakreflist != NULL) if (so->weakreflist != NULL)
...@@ -570,7 +570,7 @@ static int ...@@ -570,7 +570,7 @@ static int
set_merge(PySetObject *so, PyObject *otherset) set_merge(PySetObject *so, PyObject *otherset)
{ {
PySetObject *other; PySetObject *other;
register int i; register Py_ssize_t i;
register setentry *entry; register setentry *entry;
assert (PyAnySet_Check(so)); assert (PyAnySet_Check(so));
...@@ -637,7 +637,7 @@ set_contains_entry(PySetObject *so, setentry *entry) ...@@ -637,7 +637,7 @@ set_contains_entry(PySetObject *so, setentry *entry)
static PyObject * static PyObject *
set_pop(PySetObject *so) set_pop(PySetObject *so)
{ {
register int i = 0; register Py_ssize_t i = 0;
register setentry *entry; register setentry *entry;
PyObject *key; PyObject *key;
...@@ -655,7 +655,7 @@ set_pop(PySetObject *so) ...@@ -655,7 +655,7 @@ set_pop(PySetObject *so)
*/ */
entry = &so->table[0]; entry = &so->table[0];
if (entry->key == NULL || entry->key == dummy) { if (entry->key == NULL || entry->key == dummy) {
i = (int)entry->hash; i = entry->hash;
/* The hash field may be a real hash value, or it may be a /* The hash field may be a real hash value, or it may be a
* legit search finger, or it may be a once-legit search * legit search finger, or it may be a once-legit search
* finger that's out of bounds now because it wrapped around * finger that's out of bounds now because it wrapped around
...@@ -730,9 +730,9 @@ set_nohash(PyObject *self) ...@@ -730,9 +730,9 @@ set_nohash(PyObject *self)
typedef struct { typedef struct {
PyObject_HEAD PyObject_HEAD
PySetObject *si_set; /* Set to NULL when iterator is exhausted */ PySetObject *si_set; /* Set to NULL when iterator is exhausted */
int si_used; Py_ssize_t si_used;
int si_pos; Py_ssize_t si_pos;
long len; Py_ssize_t len;
} setiterobject; } setiterobject;
static void static void
...@@ -745,7 +745,7 @@ setiter_dealloc(setiterobject *si) ...@@ -745,7 +745,7 @@ setiter_dealloc(setiterobject *si)
static PyObject * static PyObject *
setiter_len(setiterobject *si) setiter_len(setiterobject *si)
{ {
long len = 0; Py_ssize_t len = 0;
if (si->si_set != NULL && si->si_used == si->si_set->used) if (si->si_set != NULL && si->si_used == si->si_set->used)
len = si->len; len = si->len;
return PyInt_FromLong(len); return PyInt_FromLong(len);
...@@ -761,7 +761,7 @@ static PyMethodDef setiter_methods[] = { ...@@ -761,7 +761,7 @@ static PyMethodDef setiter_methods[] = {
static PyObject *setiter_iternext(setiterobject *si) static PyObject *setiter_iternext(setiterobject *si)
{ {
PyObject *key; PyObject *key;
register int i, mask; register Py_ssize_t i, mask;
register setentry *entry; register setentry *entry;
PySetObject *so = si->si_set; PySetObject *so = si->si_set;
...@@ -1007,7 +1007,7 @@ set_new(PyTypeObject *type, PyObject *args, PyObject *kwds) ...@@ -1007,7 +1007,7 @@ set_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
static void static void
set_swap_bodies(PySetObject *a, PySetObject *b) set_swap_bodies(PySetObject *a, PySetObject *b)
{ {
int t; Py_ssize_t t;
setentry *u; setentry *u;
setentry *(*f)(PySetObject *so, PyObject *key, long hash); setentry *(*f)(PySetObject *so, PyObject *key, long hash);
setentry tab[PySet_MINSIZE]; setentry tab[PySet_MINSIZE];
...@@ -2064,7 +2064,7 @@ _PySet_Update(PyObject *set, PyObject *iterable) ...@@ -2064,7 +2064,7 @@ _PySet_Update(PyObject *set, PyObject *iterable)
static PyObject * static PyObject *
test_c_api(PySetObject *so) test_c_api(PySetObject *so)
{ {
int count; Py_ssize_t count;
char *s; char *s;
Py_ssize_t i; Py_ssize_t i;
PyObject *elem, *dup, *t, *f, *dup2; PyObject *elem, *dup, *t, *f, *dup2;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment