]> granicus.if.org Git - python/commitdiff
Apply patch from Martin v. Loewis: Avoid function pointer casts.
authorThomas Heller <theller@ctypes.org>
Mon, 20 Mar 2006 10:22:42 +0000 (10:22 +0000)
committerThomas Heller <theller@ctypes.org>
Mon, 20 Mar 2006 10:22:42 +0000 (10:22 +0000)
https://sourceforge.net/tracker/?func=detail&atid=532156&aid=1453037&group_id=71702

Modules/_ctypes/_ctypes.c
Modules/_ctypes/ctypes.h

index fcc8c2a83dd95160612540133c427491375ff178..ac4859ee05515c246610ef90793f6a5b8587302d 100644 (file)
@@ -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 */
index 179dcf16166b5ab03b0d148696d30a8cc2085403..9e8c7b9136fc99579217ef1bb4c0881aca56dff6 100644 (file)
@@ -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