From 334fb8985bc126f62af65669150c30787eabddd9 Mon Sep 17 00:00:00 2001 From: Thomas Wouters Date: Tue, 25 Jul 2000 12:56:38 +0000 Subject: [PATCH] Use 'void' directly instead of the ANY #define, now that all code is ANSI C. Leave the actual #define in for API compatibility. --- Include/ceval.h | 2 +- Include/mymalloc.h | 40 +++++++++++----------------------------- Include/objimpl.h | 14 +++++++------- Modules/dlmodule.c | 2 +- Modules/signalmodule.c | 2 +- Modules/socketmodule.c | 8 ++++---- Modules/timemodule.c | 6 +++--- Objects/listobject.c | 4 ++-- Objects/object.c | 16 ++++++++-------- Parser/intrcheck.c | 3 +-- Python/ceval.c | 10 +++++----- 11 files changed, 44 insertions(+), 63 deletions(-) diff --git a/Include/ceval.h b/Include/ceval.h index 9468451c4fd..08311732442 100644 --- a/Include/ceval.h +++ b/Include/ceval.h @@ -40,7 +40,7 @@ DL_IMPORT(int) PyEval_GetRestricted(void); DL_IMPORT(int) Py_FlushLine(void); -DL_IMPORT(int) Py_AddPendingCall(int (*func)(ANY *), ANY *arg); +DL_IMPORT(int) Py_AddPendingCall(int (*func)(void *), void *arg); DL_IMPORT(int) Py_MakePendingCalls(void); diff --git a/Include/mymalloc.h b/Include/mymalloc.h index 88faf9031c0..5bbd1e576aa 100644 --- a/Include/mymalloc.h +++ b/Include/mymalloc.h @@ -12,25 +12,7 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. /* Lowest-level memory allocation interface */ -#ifdef macintosh -#define ANY void -#endif - -#ifdef __STDC__ -#define ANY void -#endif - -#ifdef __TURBOC__ -#define ANY void -#endif - -#ifdef __GNUC__ -#define ANY void -#endif - -#ifndef ANY -#define ANY char -#endif +#define ANY void /* For API compatibility only. Obsolete, do not use. */ #ifdef HAVE_STDLIB_H #include @@ -49,7 +31,7 @@ extern "C" { #endif #ifndef NULL -#define NULL ((ANY *)0) +#define NULL ((void *)0) #endif #ifdef MALLOC_ZERO_RETURNS_NULL @@ -87,13 +69,13 @@ extern "C" { #undef PyCore_REALLOC_PROTO #undef PyCore_FREE_PROTO #define PyCore_MALLOC_PROTO (size_t) -#define PyCore_REALLOC_PROTO (ANY *, size_t) -#define PyCore_FREE_PROTO (ANY *) +#define PyCore_REALLOC_PROTO (void *, size_t) +#define PyCore_FREE_PROTO (void *) #endif #ifdef NEED_TO_DECLARE_MALLOC_AND_FRIEND -extern ANY *PyCore_MALLOC_FUNC PyCore_MALLOC_PROTO; -extern ANY *PyCore_REALLOC_FUNC PyCore_REALLOC_PROTO; +extern void *PyCore_MALLOC_FUNC PyCore_MALLOC_PROTO; +extern void *PyCore_REALLOC_FUNC PyCore_REALLOC_PROTO; extern void PyCore_FREE_FUNC PyCore_FREE_PROTO; #endif @@ -134,17 +116,17 @@ extern void PyCore_FREE_FUNC PyCore_FREE_PROTO; returns a non-NULL pointer, even if the underlying malloc doesn't. Returned pointers must be checked for NULL explicitly. No action is performed on failure. */ -extern DL_IMPORT(ANY *) PyMem_Malloc(size_t); -extern DL_IMPORT(ANY *) PyMem_Realloc(ANY *, size_t); -extern DL_IMPORT(void) PyMem_Free(ANY *); +extern DL_IMPORT(void *) PyMem_Malloc(size_t); +extern DL_IMPORT(void *) PyMem_Realloc(void *, size_t); +extern DL_IMPORT(void) PyMem_Free(void *); /* Starting from Python 1.6, the wrappers Py_{Malloc,Realloc,Free} are no longer supported. They used to call PyErr_NoMemory() on failure. */ /* Macros */ #define PyMem_MALLOC(n) PyCore_MALLOC(n) -#define PyMem_REALLOC(p, n) PyCore_REALLOC((ANY *)(p), (n)) -#define PyMem_FREE(p) PyCore_FREE((ANY *)(p)) +#define PyMem_REALLOC(p, n) PyCore_REALLOC((void *)(p), (n)) +#define PyMem_FREE(p) PyCore_FREE((void *)(p)) /* * Type-oriented memory interface diff --git a/Include/objimpl.h b/Include/objimpl.h index 76fab9291e4..dfdbca079af 100644 --- a/Include/objimpl.h +++ b/Include/objimpl.h @@ -101,8 +101,8 @@ recommended to use PyObject_{New, NewVar, Del}. */ #endif #ifdef NEED_TO_DECLARE_OBJECT_MALLOC_AND_FRIEND -extern ANY *PyCore_OBJECT_MALLOC_FUNC PyCore_OBJECT_MALLOC_PROTO; -extern ANY *PyCore_OBJECT_REALLOC_FUNC PyCore_OBJECT_REALLOC_PROTO; +extern void *PyCore_OBJECT_MALLOC_FUNC PyCore_OBJECT_MALLOC_PROTO; +extern void *PyCore_OBJECT_REALLOC_FUNC PyCore_OBJECT_REALLOC_PROTO; extern void PyCore_OBJECT_FREE_FUNC PyCore_OBJECT_FREE_PROTO; #endif @@ -137,14 +137,14 @@ extern void PyCore_OBJECT_FREE_FUNC PyCore_OBJECT_FREE_PROTO; as Python. These wrappers *do not* make sure that allocating 0 bytes returns a non-NULL pointer. Returned pointers must be checked for NULL explicitly; no action is performed on failure. */ -extern DL_IMPORT(ANY *) PyObject_Malloc(size_t); -extern DL_IMPORT(ANY *) PyObject_Realloc(ANY *, size_t); -extern DL_IMPORT(void) PyObject_Free(ANY *); +extern DL_IMPORT(void *) PyObject_Malloc(size_t); +extern DL_IMPORT(void *) PyObject_Realloc(void *, size_t); +extern DL_IMPORT(void) PyObject_Free(void *); /* Macros */ #define PyObject_MALLOC(n) PyCore_OBJECT_MALLOC(n) -#define PyObject_REALLOC(op, n) PyCore_OBJECT_REALLOC((ANY *)(op), (n)) -#define PyObject_FREE(op) PyCore_OBJECT_FREE((ANY *)(op)) +#define PyObject_REALLOC(op, n) PyCore_OBJECT_REALLOC((void *)(op), (n)) +#define PyObject_FREE(op) PyCore_OBJECT_FREE((void *)(op)) /* * Generic object allocator interface diff --git a/Modules/dlmodule.c b/Modules/dlmodule.c index 09bd9d30e11..18e1458f1c6 100644 --- a/Modules/dlmodule.c +++ b/Modules/dlmodule.c @@ -18,7 +18,7 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. #define RTLD_LAZY 1 #endif -typedef ANY *PyUnivPtr; +typedef void *PyUnivPtr; typedef struct { PyObject_HEAD PyUnivPtr *dl_handle; diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c index f2004279633..4829dbfc633 100644 --- a/Modules/signalmodule.c +++ b/Modules/signalmodule.c @@ -633,7 +633,7 @@ PyErr_SetInterrupt(void) { is_tripped++; Handlers[SIGINT].tripped = 1; - Py_AddPendingCall((int (*)(ANY *))PyErr_CheckSignals, NULL); + Py_AddPendingCall((int (*)(void *))PyErr_CheckSignals, NULL); } void diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index e95e33927bd..f146e8f1252 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -799,7 +799,7 @@ PySocketSock_setsockopt(PySocketSockObject *s, PyObject *args) &level, &optname, &buf, &buflen)) return NULL; } - res = setsockopt(s->sock_fd, level, optname, (ANY *)buf, buflen); + res = setsockopt(s->sock_fd, level, optname, (void *)buf, buflen); if (res < 0) return PySocket_Err(); Py_INCREF(Py_None); @@ -841,7 +841,7 @@ PySocketSock_getsockopt(PySocketSockObject *s, PyObject *args) int flag = 0; socklen_t flagsize = sizeof flag; res = getsockopt(s->sock_fd, level, optname, - (ANY *)&flag, &flagsize); + (void *)&flag, &flagsize); if (res < 0) return PySocket_Err(); return PyInt_FromLong(flag); @@ -855,7 +855,7 @@ PySocketSock_getsockopt(PySocketSockObject *s, PyObject *args) if (buf == NULL) return NULL; res = getsockopt(s->sock_fd, level, optname, - (ANY *)PyString_AsString(buf), &buflen); + (void *)PyString_AsString(buf), &buflen); if (res < 0) { Py_DECREF(buf); return PySocket_Err(); @@ -1230,7 +1230,7 @@ PySocketSock_recvfrom(PySocketSockObject *s, PyObject *args) #if defined(PYOS_OS2) (struct sockaddr *)addrbuf, &addrlen #else - (ANY *)addrbuf, &addrlen + (void *)addrbuf, &addrlen #endif #else (struct sockaddr *)addrbuf, &addrlen diff --git a/Modules/timemodule.c b/Modules/timemodule.c index 18223b2883d..4d2089ca660 100644 --- a/Modules/timemodule.c +++ b/Modules/timemodule.c @@ -293,7 +293,7 @@ static int gettmarg(PyObject *args, struct tm *p) { int y; - memset((ANY *) p, '\0', sizeof(struct tm)); + memset((void *) p, '\0', sizeof(struct tm)); if (!PyArg_Parse(args, "(iiiiiiiii)", &y, @@ -343,7 +343,7 @@ time_strftime(PyObject *self, PyObject *args) char *outbuf = 0; size_t i; - memset((ANY *) &buf, '\0', sizeof(buf)); + memset((void *) &buf, '\0', sizeof(buf)); if (!PyArg_ParseTuple(args, "sO:strftime", &fmt, &tup) || !gettmarg(tup, &buf)) @@ -398,7 +398,7 @@ time_strptime(PyObject *self, PyObject *args) if (!PyArg_ParseTuple(args, "s|s:strptime", &buf, &fmt)) return NULL; - memset((ANY *) &tm, '\0', sizeof(tm)); + memset((void *) &tm, '\0', sizeof(tm)); s = strptime(buf, fmt, &tm); if (s == NULL) { PyErr_SetString(PyExc_ValueError, "format mismatch"); diff --git a/Objects/listobject.c b/Objects/listobject.c index 52640fb0837..42eedf2b728 100644 --- a/Objects/listobject.c +++ b/Objects/listobject.c @@ -1258,8 +1258,8 @@ PyList_AsTuple(PyObject *v) if (w == NULL) return NULL; p = ((PyTupleObject *)w)->ob_item; - memcpy((ANY *)p, - (ANY *)((PyListObject *)v)->ob_item, + memcpy((void *)p, + (void *)((PyListObject *)v)->ob_item, n*sizeof(PyObject *)); while (--n >= 0) { Py_INCREF(*p); diff --git a/Objects/object.c b/Objects/object.c index ef3455eb7f6..6fe05f1e871 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -962,7 +962,7 @@ int (*_Py_abstract_hack)(PyObject *) = &PyObject_Size; /* Python's malloc wrappers (see mymalloc.h) */ -ANY * +void * PyMem_Malloc(size_t nbytes) { #if _PyMem_EXTRA > 0 @@ -972,8 +972,8 @@ PyMem_Malloc(size_t nbytes) return PyMem_MALLOC(nbytes); } -ANY * -PyMem_Realloc(ANY *p, size_t nbytes) +void * +PyMem_Realloc(void *p, size_t nbytes) { #if _PyMem_EXTRA > 0 if (nbytes == 0) @@ -983,7 +983,7 @@ PyMem_Realloc(ANY *p, size_t nbytes) } void -PyMem_Free(ANY *p) +PyMem_Free(void *p) { PyMem_FREE(p); } @@ -991,20 +991,20 @@ PyMem_Free(ANY *p) /* Python's object malloc wrappers (see objimpl.h) */ -ANY * +void * PyObject_Malloc(size_t nbytes) { return PyObject_MALLOC(nbytes); } -ANY * -PyObject_Realloc(ANY *p, size_t nbytes) +void * +PyObject_Realloc(void *p, size_t nbytes) { return PyObject_REALLOC(p, nbytes); } void -PyObject_Free(ANY *p) +PyObject_Free(void *p) { PyObject_FREE(p); } diff --git a/Parser/intrcheck.c b/Parser/intrcheck.c index a17041dcdb6..1b816464e28 100644 --- a/Parser/intrcheck.c +++ b/Parser/intrcheck.c @@ -18,11 +18,10 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. #endif #include "myproto.h" -#include "mymalloc.h" /* For ANY */ #include "intrcheck.h" /* Copied here from ceval.h -- can't include that file. */ -int Py_AddPendingCall(int (*func)(ANY *), ANY *arg); +int Py_AddPendingCall(int (*func)(void *), void *arg); #ifdef QUICKWIN diff --git a/Python/ceval.c b/Python/ceval.c index db22756d9bf..5822a85006a 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -210,15 +210,15 @@ PyEval_RestoreThread(PyThreadState *tstate) #define NPENDINGCALLS 32 static struct { - int (*func)(ANY *); - ANY *arg; + int (*func)(void *); + void *arg; } pendingcalls[NPENDINGCALLS]; static volatile int pendingfirst = 0; static volatile int pendinglast = 0; static volatile int things_to_do = 0; int -Py_AddPendingCall(int (*func)(ANY *), ANY *arg) +Py_AddPendingCall(int (*func)(void *), void *arg) { static int busy = 0; int i, j; @@ -255,8 +255,8 @@ Py_MakePendingCalls(void) things_to_do = 0; for (;;) { int i; - int (*func)(ANY *); - ANY *arg; + int (*func)(void *); + void *arg; i = pendingfirst; if (i == pendinglast) break; /* Queue empty */