X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcpython.h;h=070d33af9e61df3a6abe968a223bc5533985f227;hb=141816828389e3ad98f66db29b4a702479dcb05d;hp=880fa4ce29adb8333e1c0576480dfa292affe0da;hpb=2df75b141dc7474a72ce949bd0ce1ca5739e6fef;p=collectd.git diff --git a/src/cpython.h b/src/cpython.h index 880fa4ce..070d33af 100644 --- a/src/cpython.h +++ b/src/cpython.h @@ -52,32 +52,6 @@ PyGILState_Release(gil_state);\ } -/* Python 2.4 has this macro, older versions do not. */ -#ifndef Py_VISIT -#define Py_VISIT(o) do {\ - int _vret;\ - if ((o) != NULL) {\ - _vret = visit((o), arg);\ - if (_vret != 0)\ - return _vret;\ - }\ -} while (0) -#endif - -/* Python 2.4 has this macro, older versions do not. */ -#ifndef Py_CLEAR -#define Py_CLEAR(o) do {\ - PyObject *tmp = o;\ - (o) = NULL;\ - Py_XDECREF(tmp);\ -} while (0) -#endif - -/* Python 2.4 has this macro, older versions do not. */ -#ifndef Py_RETURN_NONE -# define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None -#endif - /* This macro is a shortcut for calls like * x = PyObject_Repr(x); * This can't be done like this example because this would leak @@ -170,7 +144,7 @@ typedef struct { PyObject *values; /* Sequence */ PyObject *children; /* Sequence */ } Config; -PyTypeObject ConfigType; +extern PyTypeObject ConfigType; typedef struct { PyObject_HEAD /* No semicolon! */ @@ -181,7 +155,7 @@ typedef struct { char type[DATA_MAX_NAME_LEN]; char type_instance[DATA_MAX_NAME_LEN]; } PluginData; -PyTypeObject PluginDataType; +extern PyTypeObject PluginDataType; #define PluginData_New() PyObject_CallFunctionObjArgs((PyObject *) &PluginDataType, (void *) 0) typedef struct { @@ -190,7 +164,7 @@ typedef struct { PyObject *meta; /* dict */ double interval; } Values; -PyTypeObject ValuesType; +extern PyTypeObject ValuesType; #define Values_New() PyObject_CallFunctionObjArgs((PyObject *) &ValuesType, (void *) 0) typedef struct { @@ -198,12 +172,12 @@ typedef struct { int severity; char message[NOTIF_MAX_MSG_LEN]; } Notification; -PyTypeObject NotificationType; +extern PyTypeObject NotificationType; #define Notification_New() PyObject_CallFunctionObjArgs((PyObject *) &NotificationType, (void *) 0) typedef PyLongObject Signed; -PyTypeObject SignedType; +extern PyTypeObject SignedType; typedef PyLongObject Unsigned; -PyTypeObject UnsignedType; +extern PyTypeObject UnsignedType;