aboutsummaryrefslogtreecommitdiffstats
path: root/python/libxml_wrap.h
diff options
context:
space:
mode:
Diffstat (limited to 'python/libxml_wrap.h')
-rw-r--r--python/libxml_wrap.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/python/libxml_wrap.h b/python/libxml_wrap.h
index 68daf019..679260a3 100644
--- a/python/libxml_wrap.h
+++ b/python/libxml_wrap.h
@@ -15,20 +15,25 @@
#include <libxml/xinclude.h>
#include <libxml/xpointer.h>
-#define PyxmlNode_Get(v) (((PyxmlNode_Object *)(v))->obj)
+#define PyxmlNode_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyxmlNode_Object *)(v))->obj))
typedef struct {
PyObject_HEAD
xmlNodePtr obj;
} PyxmlNode_Object;
-#define PyxmlXPathContext_Get(v) (((PyxmlXPathContext_Object *)(v))->obj)
+#define PyxmlXPathContext_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyxmlXPathContext_Object *)(v))->obj))
+
typedef struct {
PyObject_HEAD
xmlXPathContextPtr obj;
} PyxmlXPathContext_Object;
-#define PyparserCtxt_Get(v) (((PyparserCtxt_Object *)(v))->obj)
+#define PyparserCtxt_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyparserCtxt_Object *)(v))->obj))
+
typedef struct {
PyObject_HEAD
xmlParserCtxtPtr obj;