Use a type flag to determine the applicability of the tp_weaklistoffset

field.  This should avoid binary incompatibility problems with older modules
that have not been recompiled.
This commit is contained in:
Fred Drake 2001-02-02 18:17:30 +00:00
parent 26d1f14433
commit 033f31270c
2 changed files with 10 additions and 1 deletions

View file

@ -344,11 +344,18 @@ given type object has a specified feature.
#define Py_TPFLAGS_HAVE_RICHCOMPARE (1L<<5)
/* Objects which are weakly referencable if their tp_weaklistoffset is >0 */
/* XXX Should this have the same value as Py_TPFLAGS_HAVE_RICHCOMPARE?
* These both indicate a feature that appeared in the same alpha release.
*/
#define Py_TPFLAGS_HAVE_WEAKREFS (1L<<6)
#define Py_TPFLAGS_DEFAULT ( \
Py_TPFLAGS_HAVE_GETCHARBUFFER | \
Py_TPFLAGS_HAVE_SEQUENCE_IN | \
Py_TPFLAGS_HAVE_INPLACEOPS | \
Py_TPFLAGS_HAVE_RICHCOMPARE | \
Py_TPFLAGS_HAVE_WEAKREFS | \
0)
#define PyType_HasFeature(t,f) (((t)->tp_flags & (f)) != 0)