Make the PyXXX_Check() macros for the numeric types inheritance-aware.

This commit is contained in:
Guido van Rossum 2001-08-29 15:45:32 +00:00
parent c51395d797
commit c16fcdf533
4 changed files with 4 additions and 4 deletions

View File

@ -42,7 +42,7 @@ typedef struct {
extern DL_IMPORT(PyTypeObject) PyComplex_Type; extern DL_IMPORT(PyTypeObject) PyComplex_Type;
#define PyComplex_Check(op) ((op)->ob_type == &PyComplex_Type) #define PyComplex_Check(op) PyObject_TypeCheck(op, &PyComplex_Type)
extern DL_IMPORT(PyObject *) PyComplex_FromCComplex(Py_complex); extern DL_IMPORT(PyObject *) PyComplex_FromCComplex(Py_complex);
extern DL_IMPORT(PyObject *) PyComplex_FromDoubles(double real, double imag); extern DL_IMPORT(PyObject *) PyComplex_FromDoubles(double real, double imag);

View File

@ -18,7 +18,7 @@ typedef struct {
extern DL_IMPORT(PyTypeObject) PyFloat_Type; extern DL_IMPORT(PyTypeObject) PyFloat_Type;
#define PyFloat_Check(op) ((op)->ob_type == &PyFloat_Type) #define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type)
/* Return Python float from string PyObject. Second argument ignored on /* Return Python float from string PyObject. Second argument ignored on
input, and, if non-NULL, NULL is stored into *junk (this tried to serve a input, and, if non-NULL, NULL is stored into *junk (this tried to serve a

View File

@ -27,7 +27,7 @@ typedef struct {
extern DL_IMPORT(PyTypeObject) PyInt_Type; extern DL_IMPORT(PyTypeObject) PyInt_Type;
#define PyInt_Check(op) ((op)->ob_type == &PyInt_Type) #define PyInt_Check(op) PyObject_TypeCheck(op, &PyInt_Type)
extern DL_IMPORT(PyObject *) PyInt_FromString(char*, char**, int); extern DL_IMPORT(PyObject *) PyInt_FromString(char*, char**, int);
#ifdef Py_USING_UNICODE #ifdef Py_USING_UNICODE

View File

@ -11,7 +11,7 @@ typedef struct _longobject PyLongObject; /* Revealed in longintrepr.h */
extern DL_IMPORT(PyTypeObject) PyLong_Type; extern DL_IMPORT(PyTypeObject) PyLong_Type;
#define PyLong_Check(op) ((op)->ob_type == &PyLong_Type) #define PyLong_Check(op) PyObject_TypeCheck(op, &PyLong_Type)
extern DL_IMPORT(PyObject *) PyLong_FromLong(long); extern DL_IMPORT(PyObject *) PyLong_FromLong(long);
extern DL_IMPORT(PyObject *) PyLong_FromUnsignedLong(unsigned long); extern DL_IMPORT(PyObject *) PyLong_FromUnsignedLong(unsigned long);