diff options
author | Thomas Heller <theller@ctypes.org> | 2006-03-20 10:22:42 (GMT) |
---|---|---|
committer | Thomas Heller <theller@ctypes.org> | 2006-03-20 10:22:42 (GMT) |
commit | ba29e4c573bba3650744082276db9afb85e03c3c (patch) | |
tree | 69e49d692645c9a02f6c0e8e9a9bc068d04e8b6c /Modules | |
parent | a0dd3e32f6c68f20666131810fe29c24c881af68 (diff) | |
download | cpython-ba29e4c573bba3650744082276db9afb85e03c3c.zip cpython-ba29e4c573bba3650744082276db9afb85e03c3c.tar.gz cpython-ba29e4c573bba3650744082276db9afb85e03c3c.tar.bz2 |
Apply patch from Martin v. Loewis: Avoid function pointer casts.
https://sourceforge.net/tracker/?func=detail&atid=532156&aid=1453037&group_id=71702
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/_ctypes/_ctypes.c | 59 | ||||
-rw-r--r-- | Modules/_ctypes/ctypes.h | 9 |
2 files changed, 34 insertions, 34 deletions
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c index fcc8c2a..ac4859e 100644 --- a/Modules/_ctypes/_ctypes.c +++ b/Modules/_ctypes/_ctypes.c @@ -1878,8 +1878,9 @@ static PyMemberDef CData_members[] = { { NULL }, }; -static Py_ssize_t CData_GetBuffer(CDataObject *self, Py_ssize_t seg, void **pptr) +static Py_ssize_t CData_GetBuffer(PyObject *_self, Py_ssize_t seg, void **pptr) { + CDataObject *self = (CDataObject *)_self; if (seg != 0) { /* Hm. Must this set an exception? */ return -1; @@ -1888,7 +1889,7 @@ static Py_ssize_t CData_GetBuffer(CDataObject *self, Py_ssize_t seg, void **pptr return self->b_size; } -static Py_ssize_t CData_GetSegcount(CDataObject *self, Py_ssize_t *lenp) +static Py_ssize_t CData_GetSegcount(PyObject *_self, Py_ssize_t *lenp) { if (lenp) *lenp = 1; @@ -1896,10 +1897,10 @@ static Py_ssize_t CData_GetSegcount(CDataObject *self, Py_ssize_t *lenp) } static PyBufferProcs CData_as_buffer = { - (readbufferproc)CData_GetBuffer, - (writebufferproc)CData_GetBuffer, - (segcountproc)CData_GetSegcount, - (charbufferproc)NULL, + CData_GetBuffer, + CData_GetBuffer, + CData_GetSegcount, + NULL, }; /* @@ -3492,8 +3493,9 @@ Array_init(CDataObject *self, PyObject *args, PyObject *kw) } static PyObject * -Array_item(CDataObject *self, int index) +Array_item(PyObject *_self, int index) { + CDataObject *self = (CDataObject *)_self; int offset, size; StgDictObject *stgdict; @@ -3516,8 +3518,9 @@ Array_item(CDataObject *self, int index) } static PyObject * -Array_slice(CDataObject *self, Py_ssize_t ilow, Py_ssize_t ihigh) +Array_slice(PyObject *_self, Py_ssize_t ilow, Py_ssize_t ihigh) { + CDataObject *self = (CDataObject *)_self; StgDictObject *stgdict, *itemdict; PyObject *proto; PyListObject *np; @@ -3551,15 +3554,16 @@ Array_slice(CDataObject *self, Py_ssize_t ilow, Py_ssize_t ihigh) return NULL; for (i = 0; i < len; i++) { - PyObject *v = Array_item(self, i+ilow); + PyObject *v = Array_item(_self, i+ilow); PyList_SET_ITEM(np, i, v); } return (PyObject *)np; } static int -Array_ass_item(CDataObject *self, int index, PyObject *value) +Array_ass_item(PyObject *_self, int index, PyObject *value) { + CDataObject *self = (CDataObject *)_self; int size, offset; StgDictObject *stgdict; char *ptr; @@ -3585,8 +3589,9 @@ Array_ass_item(CDataObject *self, int index, PyObject *value) } static int -Array_ass_slice(CDataObject *self, int ilow, int ihigh, PyObject *value) +Array_ass_slice(PyObject *_self, int ilow, int ihigh, PyObject *value) { + CDataObject *self = (CDataObject *)_self; int i, len; if (value == NULL) { @@ -3617,7 +3622,7 @@ Array_ass_slice(CDataObject *self, int ilow, int ihigh, PyObject *value) int result; if (item == NULL) return -1; - result = Array_ass_item(self, i+ilow, item); + result = Array_ass_item(_self, i+ilow, item); Py_DECREF(item); if (result == -1) return -1; @@ -3626,19 +3631,20 @@ Array_ass_slice(CDataObject *self, int ilow, int ihigh, PyObject *value) } static int -Array_length(CDataObject *self) +Array_length(PyObject *_self) { + CDataObject *self = (CDataObject *)_self; return self->b_length; } static PySequenceMethods Array_as_sequence = { - (lenfunc)Array_length, /* sq_length; */ + Array_length, /* sq_length; */ 0, /* sq_concat; */ 0, /* sq_repeat; */ - (ssizeargfunc)Array_item, /* sq_item; */ - (ssizessizeargfunc)Array_slice, /* sq_slice; */ - (ssizeobjargproc)Array_ass_item, /* sq_ass_item; */ - (ssizessizeobjargproc)Array_ass_slice, /* sq_ass_slice; */ + Array_item, /* sq_item; */ + Array_slice, /* sq_slice; */ + Array_ass_item, /* sq_ass_item; */ + Array_ass_slice, /* sq_ass_slice; */ 0, /* sq_contains; */ 0, /* sq_inplace_concat; */ @@ -3990,8 +3996,9 @@ static PyTypeObject Simple_Type = { Pointer_Type */ static PyObject * -Pointer_item(CDataObject *self, int index) +Pointer_item(PyObject *_self, int index) { + CDataObject *self = (CDataObject *)_self; int size, offset; StgDictObject *stgdict, *itemdict; PyObject *proto; @@ -4017,8 +4024,9 @@ Pointer_item(CDataObject *self, int index) } static int -Pointer_ass_item(CDataObject *self, int index, PyObject *value) +Pointer_ass_item(PyObject *_self, int index, PyObject *value) { + CDataObject *self = (CDataObject *)_self; int size; StgDictObject *stgdict; @@ -4159,8 +4167,9 @@ Pointer_new(PyTypeObject *type, PyObject *args, PyObject *kw) } static PyObject * -Pointer_slice(CDataObject *self, Py_ssize_t ilow, Py_ssize_t ihigh) +Pointer_slice(PyObject *_self, Py_ssize_t ilow, Py_ssize_t ihigh) { + CDataObject *self = (CDataObject *)_self; PyListObject *np; StgDictObject *stgdict, *itemdict; PyObject *proto; @@ -4190,7 +4199,7 @@ Pointer_slice(CDataObject *self, Py_ssize_t ilow, Py_ssize_t ihigh) return NULL; for (i = 0; i < len; i++) { - PyObject *v = Pointer_item(self, i+ilow); + PyObject *v = Pointer_item(_self, i+ilow); PyList_SET_ITEM(np, i, v); } return (PyObject *)np; @@ -4200,9 +4209,9 @@ static PySequenceMethods Pointer_as_sequence = { 0, /* inquiry sq_length; */ 0, /* binaryfunc sq_concat; */ 0, /* intargfunc sq_repeat; */ - (ssizeargfunc)Pointer_item, /* intargfunc sq_item; */ - (ssizessizeargfunc)Pointer_slice, /* intintargfunc sq_slice; */ - (ssizeobjargproc)Pointer_ass_item, /* intobjargproc sq_ass_item; */ + Pointer_item, /* intargfunc sq_item; */ + Pointer_slice, /* intintargfunc sq_slice; */ + Pointer_ass_item, /* intobjargproc sq_ass_item; */ 0, /* intintobjargproc sq_ass_slice; */ 0, /* objobjproc sq_contains; */ /* Added in release 2.0 */ diff --git a/Modules/_ctypes/ctypes.h b/Modules/_ctypes/ctypes.h index 179dcf1..9e8c7b9 100644 --- a/Modules/_ctypes/ctypes.h +++ b/Modules/_ctypes/ctypes.h @@ -2,15 +2,6 @@ #if (PY_VERSION_HEX < 0x02050000) typedef int Py_ssize_t; -#define lenfunc inquiry -#define readbufferproc getreadbufferproc -#define writebufferproc getwritebufferproc -#define segcountproc getsegcountproc -#define charbufferproc getcharbufferproc -#define ssizeargfunc intargfunc -#define ssizessizeargfunc intintargfunc -#define ssizeobjargproc intobjargproc -#define ssizessizeobjargproc intintobjargproc #endif #ifndef MS_WIN32 |