changeset: 95087:d478a2a5738a user: Victor Stinner date: Fri Mar 20 10:37:34 2015 +0100 files: Modules/ossaudiodev.c description: Issue #23709, #23001: ossaudiodev now uses Py_ssize_t for sizes instead of int The module is now also "SSIZE_T clean" (for PyArg_Parse...() functions) since it switched to Py_buffer ("y*" argument format). diff -r 11548e1ac920 -r d478a2a5738a Modules/ossaudiodev.c --- a/Modules/ossaudiodev.c Fri Mar 20 10:24:18 2015 +0100 +++ b/Modules/ossaudiodev.c Fri Mar 20 10:37:34 2015 +0100 @@ -19,6 +19,7 @@ * $Id$ */ +#define PY_SSIZE_T_CLEAN #include "Python.h" #include "structmember.h" @@ -51,8 +52,8 @@ char *devicename; /* name of the device file */ int fd; /* file descriptor */ int mode; /* file mode (O_RDONLY, etc.) */ - int icount; /* input count */ - int ocount; /* output count */ + Py_ssize_t icount; /* input count */ + Py_ssize_t ocount; /* output count */ uint32_t afmts; /* audio formats supported by hardware */ } oss_audio_t; @@ -399,13 +400,13 @@ static PyObject * oss_read(oss_audio_t *self, PyObject *args) { - int size, count; + Py_ssize_t size, count; PyObject *rv; if (!_is_fd_valid(self->fd)) return NULL; - if (!PyArg_ParseTuple(args, "i:read", &size)) + if (!PyArg_ParseTuple(args, "n:read", &size)) return NULL; rv = PyBytes_FromStringAndSize(NULL, size); @@ -427,7 +428,7 @@ oss_write(oss_audio_t *self, PyObject *args) { Py_buffer data; - int rv; + Py_ssize_t rv; if (!_is_fd_valid(self->fd)) return NULL; @@ -451,7 +452,7 @@ Py_buffer data; const char *cp; Py_ssize_t size; - int rv; + Py_ssize_t rv; fd_set write_set_fds; int select_rv;