- should fix compiling with older python versions (<2.5)

- made the isA() function accept python types as well as strings.
- renamed _getattr_dict to py_getattr_dict
This commit is contained in:
Campbell Barton
2009-04-04 08:20:52 +00:00
parent c31f806c99
commit a35a8f7a38
4 changed files with 31 additions and 24 deletions

View File

@@ -62,6 +62,7 @@
/* for pre Py 2.5 */
#if PY_VERSION_HEX < 0x02050000
typedef int Py_ssize_t;
typedef Py_ssize_t (*lenfunc)(PyObject *);
#define PY_SSIZE_T_MAX INT_MAX
#define PY_SSIZE_T_MIN INT_MIN
#define PY_METHODCHAR char *
@@ -74,6 +75,7 @@ typedef int Py_ssize_t;
#include "descrobject.h"
static inline void Py_Fatal(const char *M) {
fprintf(stderr, "%s\n", M);
exit(-1);
@@ -108,7 +110,7 @@ static inline void Py_Fatal(const char *M) {
} \
\
if (strcmp(PyString_AsString(attr), "__dict__")==0) {\
rvalue = _getattr_dict(rvalue, Methods, Attributes); \
rvalue = py_getattr_dict(rvalue, Methods, Attributes); \
} \
return rvalue; \
@@ -404,7 +406,7 @@ public:
}
};
PyObject *_getattr_dict(PyObject *pydict, PyMethodDef *meth, PyAttributeDef *attrdef);
PyObject *py_getattr_dict(PyObject *pydict, PyMethodDef *meth, PyAttributeDef *attrdef);
#endif // _adr_py_lib_h_