From 99953006df1414b048bfc76f66cb36a0fb31a4b7 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 20 Mar 2015 10:37:34 +0100 Subject: [PATCH] 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). --- Modules/ossaudiodev.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Modules/ossaudiodev.c b/Modules/ossaudiodev.c index 3d1f18083dc..d2fd5c81d1b 100644 --- a/Modules/ossaudiodev.c +++ b/Modules/ossaudiodev.c @@ -19,6 +19,7 @@ * $Id$ */ +#define PY_SSIZE_T_CLEAN #include "Python.h" #include "structmember.h" @@ -51,8 +52,8 @@ typedef struct { 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 @@ oss_post(oss_audio_t *self, PyObject *args) 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 @@ static PyObject * 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 @@ oss_writeall(oss_audio_t *self, PyObject *args) Py_buffer data; const char *cp; Py_ssize_t size; - int rv; + Py_ssize_t rv; fd_set write_set_fds; int select_rv;