Issue #9566: use Py_ssize_t instead of int

This commit is contained in:
Victor Stinner 2011-01-04 12:59:15 +00:00
parent 6ab8e8298e
commit 0fcab4a3ed
14 changed files with 32 additions and 33 deletions

View File

@ -3925,14 +3925,14 @@ PyTypeObject PyCFuncPtr_Type = {
Returns -1 on error, or the index of next argument on success. Returns -1 on error, or the index of next argument on success.
*/ */
static int static Py_ssize_t
_init_pos_args(PyObject *self, PyTypeObject *type, _init_pos_args(PyObject *self, PyTypeObject *type,
PyObject *args, PyObject *kwds, PyObject *args, PyObject *kwds,
int index) Py_ssize_t index)
{ {
StgDictObject *dict; StgDictObject *dict;
PyObject *fields; PyObject *fields;
int i; Py_ssize_t i;
if (PyType_stgdict((PyObject *)type->tp_base)) { if (PyType_stgdict((PyObject *)type->tp_base)) {
index = _init_pos_args(self, type->tp_base, index = _init_pos_args(self, type->tp_base,

View File

@ -2188,7 +2188,7 @@ argparsing(PyObject *o, PyObject *args)
/* argument converter not called? */ /* argument converter not called? */
return NULL; return NULL;
/* Should be 1 */ /* Should be 1 */
res = PyLong_FromLong(Py_REFCNT(str2)); res = PyLong_FromSsize_t(Py_REFCNT(str2));
Py_DECREF(str2); Py_DECREF(str2);
PyErr_Clear(); PyErr_Clear();
return res; return res;

View File

@ -309,7 +309,7 @@ audioop_check_size(int size)
} }
static int static int
audioop_check_parameters(int len, int size) audioop_check_parameters(Py_ssize_t len, int size)
{ {
if (!audioop_check_size(size)) if (!audioop_check_size(size))
return 0; return 0;

View File

@ -228,9 +228,9 @@ void md5_init(struct md5_state *md5)
@param inlen The length of the data (octets) @param inlen The length of the data (octets)
*/ */
void md5_process(struct md5_state *md5, void md5_process(struct md5_state *md5,
const unsigned char *in, unsigned long inlen) const unsigned char *in, Py_ssize_t inlen)
{ {
unsigned long n; Py_ssize_t n;
assert(md5 != NULL); assert(md5 != NULL);
assert(in != NULL); assert(in != NULL);

View File

@ -800,7 +800,7 @@ readinst(char *buf, int buf_size, PyObject *meth)
PyObject *arg = NULL; PyObject *arg = NULL;
PyObject *bytes = NULL; PyObject *bytes = NULL;
PyObject *str = NULL; PyObject *str = NULL;
int len = -1; Py_ssize_t len = -1;
char *ptr; char *ptr;
if ((bytes = PyLong_FromLong(buf_size)) == NULL) if ((bytes = PyLong_FromLong(buf_size)) == NULL)
@ -831,7 +831,7 @@ readinst(char *buf, int buf_size, PyObject *meth)
if (len > buf_size) { if (len > buf_size) {
PyErr_Format(PyExc_ValueError, PyErr_Format(PyExc_ValueError,
"read() returned too much data: " "read() returned too much data: "
"%i bytes requested, %i returned", "%i bytes requested, %zi returned",
buf_size, len); buf_size, len);
goto finally; goto finally;
} }
@ -839,7 +839,7 @@ readinst(char *buf, int buf_size, PyObject *meth)
finally: finally:
Py_XDECREF(arg); Py_XDECREF(arg);
Py_XDECREF(str); Py_XDECREF(str);
return len; return (int)len;
} }
PyDoc_STRVAR(xmlparse_ParseFile__doc__, PyDoc_STRVAR(xmlparse_ParseFile__doc__,

View File

@ -81,10 +81,9 @@ reap_obj(pylist fd2obj[FD_SETSIZE + 1])
static int static int
seq2set(PyObject *seq, fd_set *set, pylist fd2obj[FD_SETSIZE + 1]) seq2set(PyObject *seq, fd_set *set, pylist fd2obj[FD_SETSIZE + 1])
{ {
int i;
int max = -1; int max = -1;
int index = 0; int index = 0;
int len = -1; Py_ssize_t i, len = -1;
PyObject* fast_seq = NULL; PyObject* fast_seq = NULL;
PyObject* o = NULL; PyObject* o = NULL;

View File

@ -203,9 +203,9 @@ void sha1_init(struct sha1_state *sha1)
@param inlen The length of the data (octets) @param inlen The length of the data (octets)
*/ */
void sha1_process(struct sha1_state *sha1, void sha1_process(struct sha1_state *sha1,
const unsigned char *in, unsigned long inlen) const unsigned char *in, Py_ssize_t inlen)
{ {
unsigned long n; Py_ssize_t n;
assert(sha1 != NULL); assert(sha1 != NULL);
assert(in != NULL); assert(in != NULL);

View File

@ -265,9 +265,9 @@ sha224_init(SHAobject *sha_info)
/* update the SHA digest */ /* update the SHA digest */
static void static void
sha_update(SHAobject *sha_info, SHA_BYTE *buffer, int count) sha_update(SHAobject *sha_info, SHA_BYTE *buffer, Py_ssize_t count)
{ {
int i; Py_ssize_t i;
SHA_INT32 clo; SHA_INT32 clo;
clo = sha_info->count_lo + ((SHA_INT32) count << 3); clo = sha_info->count_lo + ((SHA_INT32) count << 3);

View File

@ -291,9 +291,9 @@ sha384_init(SHAobject *sha_info)
/* update the SHA digest */ /* update the SHA digest */
static void static void
sha512_update(SHAobject *sha_info, SHA_BYTE *buffer, int count) sha512_update(SHAobject *sha_info, SHA_BYTE *buffer, Py_ssize_t count)
{ {
int i; Py_ssize_t i;
SHA_INT32 clo; SHA_INT32 clo;
clo = sha_info->count_lo + ((SHA_INT32) count << 3); clo = sha_info->count_lo + ((SHA_INT32) count << 3);

View File

@ -403,7 +403,8 @@ unicodedata_decomposition(PyObject *self, PyObject *args)
{ {
PyUnicodeObject *v; PyUnicodeObject *v;
char decomp[256]; char decomp[256];
int code, index, count, i; int code, index, count;
size_t i;
unsigned int prefix_index; unsigned int prefix_index;
Py_UCS4 c; Py_UCS4 c;
@ -450,15 +451,12 @@ unicodedata_decomposition(PyObject *self, PyObject *args)
while (count-- > 0) { while (count-- > 0) {
if (i) if (i)
decomp[i++] = ' '; decomp[i++] = ' ';
assert((size_t)i < sizeof(decomp)); assert(i < sizeof(decomp));
PyOS_snprintf(decomp + i, sizeof(decomp) - i, "%04X", PyOS_snprintf(decomp + i, sizeof(decomp) - i, "%04X",
decomp_data[++index]); decomp_data[++index]);
i += strlen(decomp + i); i += strlen(decomp + i);
} }
return PyUnicode_FromStringAndSize(decomp, i);
decomp[i] = '\0';
return PyUnicode_FromString(decomp);
} }
static void static void

View File

@ -492,7 +492,7 @@ PyTypeObject PyCode_Type = {
int int
PyCode_Addr2Line(PyCodeObject *co, int addrq) PyCode_Addr2Line(PyCodeObject *co, int addrq)
{ {
int size = PyBytes_Size(co->co_lnotab) / 2; Py_ssize_t size = PyBytes_Size(co->co_lnotab) / 2;
unsigned char *p = (unsigned char*)PyBytes_AsString(co->co_lnotab); unsigned char *p = (unsigned char*)PyBytes_AsString(co->co_lnotab);
int line = co->co_firstlineno; int line = co->co_firstlineno;
int addr = 0; int addr = 0;
@ -510,7 +510,8 @@ PyCode_Addr2Line(PyCodeObject *co, int addrq)
int int
_PyCode_CheckLineNumber(PyCodeObject* co, int lasti, PyAddrPair *bounds) _PyCode_CheckLineNumber(PyCodeObject* co, int lasti, PyAddrPair *bounds)
{ {
int size, addr, line; Py_ssize_t size;
int addr, line;
unsigned char* p; unsigned char* p;
p = (unsigned char*)PyBytes_AS_STRING(co->co_lnotab); p = (unsigned char*)PyBytes_AS_STRING(co->co_lnotab);

View File

@ -1381,7 +1381,7 @@ typedef struct s_MergeState {
/* Conceptually a MergeState's constructor. */ /* Conceptually a MergeState's constructor. */
static void static void
merge_init(MergeState *ms, int list_size, int has_keyfunc) merge_init(MergeState *ms, Py_ssize_t list_size, int has_keyfunc)
{ {
assert(ms != NULL); assert(ms != NULL);
if (has_keyfunc) { if (has_keyfunc) {

View File

@ -6202,7 +6202,7 @@ super_init(PyObject *self, PyObject *args, PyObject *kwds)
and first local variable on the stack. */ and first local variable on the stack. */
PyFrameObject *f = PyThreadState_GET()->frame; PyFrameObject *f = PyThreadState_GET()->frame;
PyCodeObject *co = f->f_code; PyCodeObject *co = f->f_code;
int i, n; Py_ssize_t i, n;
if (co == NULL) { if (co == NULL) {
PyErr_SetString(PyExc_SystemError, PyErr_SetString(PyExc_SystemError,
"super(): no code object"); "super(): no code object");

View File

@ -1202,7 +1202,8 @@ PyRun_SimpleFileExFlags(FILE *fp, const char *filename, int closeit,
{ {
PyObject *m, *d, *v; PyObject *m, *d, *v;
const char *ext; const char *ext;
int set_file_name = 0, ret, len; int set_file_name = 0, ret;
size_t len;
m = PyImport_AddModule("__main__"); m = PyImport_AddModule("__main__");
if (m == NULL) if (m == NULL)