summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2006-10-19 11:00:37 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2006-10-19 11:00:37 (GMT)
commita811c38d8e822c23d899dec64a12cd025b01e65e (patch)
tree520ef6f9e855ffefb1c987287bc5105f718aedd2 /Modules
parentaac1316222c7e4a073af1634f2eef0a872a3dafb (diff)
downloadcpython-a811c38d8e822c23d899dec64a12cd025b01e65e.zip
cpython-a811c38d8e822c23d899dec64a12cd025b01e65e.tar.gz
cpython-a811c38d8e822c23d899dec64a12cd025b01e65e.tar.bz2
Fix various minor errors in passing arguments to
PyArg_ParseTuple.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/_ctypes/callproc.c18
-rw-r--r--Modules/_ssl.c2
-rw-r--r--Modules/audioop.c11
-rw-r--r--Modules/dbmmodule.c12
4 files changed, 27 insertions, 16 deletions
diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
index 19c4da4..18e1991 100644
--- a/Modules/_ctypes/callproc.c
+++ b/Modules/_ctypes/callproc.c
@@ -1247,11 +1247,11 @@ static PyObject *py_dl_open(PyObject *self, PyObject *args)
static PyObject *py_dl_close(PyObject *self, PyObject *args)
{
- void * handle;
+ int handle;
if (!PyArg_ParseTuple(args, "i:dlclose", &handle))
return NULL;
- if (dlclose(handle)) {
+ if (dlclose((void*)handle)) {
PyErr_SetString(PyExc_OSError,
ctypes_dlerror());
return NULL;
@@ -1263,12 +1263,12 @@ static PyObject *py_dl_close(PyObject *self, PyObject *args)
static PyObject *py_dl_sym(PyObject *self, PyObject *args)
{
char *name;
- void *handle;
+ int handle;
void *ptr;
if (!PyArg_ParseTuple(args, "is:dlsym", &handle, &name))
return NULL;
- ptr = ctypes_dlsym(handle, name);
+ ptr = ctypes_dlsym((void*)handle, name);
if (!ptr) {
PyErr_SetString(PyExc_OSError,
ctypes_dlerror());
@@ -1286,7 +1286,7 @@ static PyObject *py_dl_sym(PyObject *self, PyObject *args)
static PyObject *
call_function(PyObject *self, PyObject *args)
{
- PPROC func;
+ int func;
PyObject *arguments;
PyObject *result;
@@ -1296,7 +1296,7 @@ call_function(PyObject *self, PyObject *args)
&PyTuple_Type, &arguments))
return NULL;
- result = _CallProc(func,
+ result = _CallProc((PPROC)func,
arguments,
#ifdef MS_WIN32
NULL,
@@ -1317,7 +1317,7 @@ call_function(PyObject *self, PyObject *args)
static PyObject *
call_cdeclfunction(PyObject *self, PyObject *args)
{
- PPROC func;
+ int func;
PyObject *arguments;
PyObject *result;
@@ -1327,7 +1327,7 @@ call_cdeclfunction(PyObject *self, PyObject *args)
&PyTuple_Type, &arguments))
return NULL;
- result = _CallProc(func,
+ result = _CallProc((PPROC)func,
arguments,
#ifdef MS_WIN32
NULL,
@@ -1510,7 +1510,7 @@ resize(PyObject *self, PyObject *args)
#else
"On:resize",
#endif
- (PyObject *)&obj, &size))
+ &obj, &size))
return NULL;
dict = PyObject_stgdict((PyObject *)obj);
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index 3b91b24..f1e1092 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -317,7 +317,7 @@ PySocket_ssl(PyObject *self, PyObject *args)
if (!PyArg_ParseTuple(args, "O!|zz:ssl",
PySocketModule.Sock_Type,
- (PyObject*)&Sock,
+ &Sock,
&key_file, &cert_file))
return NULL;
diff --git a/Modules/audioop.c b/Modules/audioop.c
index 8f5d30c..ce00975 100644
--- a/Modules/audioop.c
+++ b/Modules/audioop.c
@@ -472,8 +472,12 @@ audioop_findfit(PyObject *self, PyObject *args)
double aj_m1, aj_lm1;
double sum_ri_2, sum_aij_2, sum_aij_ri, result, best_result, factor;
+ /* Passing a short** for an 's' argument is correct only
+ if the string contents is aligned for interpretation
+ as short[]. Due to the definition of PyStringObject,
+ this is currently (Python 2.6) the case. */
if ( !PyArg_ParseTuple(args, "s#s#:findfit",
- &cp1, &len1, &cp2, &len2) )
+ (char**)&cp1, &len1, (char**)&cp2, &len2) )
return 0;
if ( len1 & 1 || len2 & 1 ) {
PyErr_SetString(AudioopError, "Strings should be even-sized");
@@ -530,7 +534,7 @@ audioop_findfactor(PyObject *self, PyObject *args)
double sum_ri_2, sum_aij_ri, result;
if ( !PyArg_ParseTuple(args, "s#s#:findfactor",
- &cp1, &len1, &cp2, &len2) )
+ (char**)&cp1, &len1, (char**)&cp2, &len2) )
return 0;
if ( len1 & 1 || len2 & 1 ) {
PyErr_SetString(AudioopError, "Strings should be even-sized");
@@ -562,7 +566,8 @@ audioop_findmax(PyObject *self, PyObject *args)
double aj_m1, aj_lm1;
double result, best_result;
- if ( !PyArg_ParseTuple(args, "s#i:findmax", &cp1, &len1, &len2) )
+ if ( !PyArg_ParseTuple(args, "s#i:findmax",
+ (char**)&cp1, &len1, &len2) )
return 0;
if ( len1 & 1 ) {
PyErr_SetString(AudioopError, "Strings should be even-sized");
diff --git a/Modules/dbmmodule.c b/Modules/dbmmodule.c
index 9086c84..fa1fde2 100644
--- a/Modules/dbmmodule.c
+++ b/Modules/dbmmodule.c
@@ -208,11 +208,13 @@ dbm_keys(register dbmobject *dp, PyObject *unused)
static PyObject *
dbm_has_key(register dbmobject *dp, PyObject *args)
{
+ char *tmp_ptr;
datum key, val;
int tmp_size;
- if (!PyArg_ParseTuple(args, "s#:has_key", &key.dptr, &tmp_size))
+ if (!PyArg_ParseTuple(args, "s#:has_key", &tmp_ptr, &tmp_size))
return NULL;
+ key.dptr = tmp_ptr;
key.dsize = tmp_size;
check_dbmobject_open(dp);
val = dbm_fetch(dp->di_dbm, key);
@@ -224,11 +226,13 @@ dbm_get(register dbmobject *dp, PyObject *args)
{
datum key, val;
PyObject *defvalue = Py_None;
+ char *tmp_ptr;
int tmp_size;
if (!PyArg_ParseTuple(args, "s#|O:get",
- &key.dptr, &tmp_size, &defvalue))
+ &tmp_ptr, &tmp_size, &defvalue))
return NULL;
+ key.dptr = tmp_ptr;
key.dsize = tmp_size;
check_dbmobject_open(dp);
val = dbm_fetch(dp->di_dbm, key);
@@ -245,11 +249,13 @@ dbm_setdefault(register dbmobject *dp, PyObject *args)
{
datum key, val;
PyObject *defvalue = NULL;
+ char *tmp_ptr;
int tmp_size;
if (!PyArg_ParseTuple(args, "s#|S:setdefault",
- &key.dptr, &tmp_size, &defvalue))
+ &tmp_ptr, &tmp_size, &defvalue))
return NULL;
+ key.dptr = tmp_ptr;
key.dsize = tmp_size;
check_dbmobject_open(dp);
val = dbm_fetch(dp->di_dbm, key);