mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-30 22:43:14 +03:00
Cleanup of the python Makefiles based on Jacob and James feedback, fixed
* libxml.spec.in python/Makefile.am python/tests/Makefile.am python/generator.py python/libxml.c python/types.c: Cleanup of the python Makefiles based on Jacob and James feedback, fixed the spec file accordingly, fixed the number of warning that passing my pedantic CFLAGS was generating. Conclusion is that Python includes are real crap. Daniel
This commit is contained in:
@ -1,3 +1,12 @@
|
||||
Fri Mar 15 23:21:40 CET 2002 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* libxml.spec.in python/Makefile.am python/tests/Makefile.am
|
||||
python/generator.py python/libxml.c python/types.c: Cleanup
|
||||
of the python Makefiles based on Jacob and James feedback,
|
||||
fixed the spec file accordingly, fixed the number of warning
|
||||
that passing my pedantic CFLAGS was generating. Conclusion
|
||||
is that Python includes are real crap.
|
||||
|
||||
Fri Mar 15 19:41:25 CET 2002 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* configure,in: it was reported quite a few times that
|
||||
|
@ -98,8 +98,10 @@ do
|
||||
echo generating bindings for Python $py_version
|
||||
(cd python ; make clean ; \
|
||||
make PYTHON="%{prefix}/bin/python$py_version" \
|
||||
PYTHON_INCLUDES="%{prefix}/include/python$py_version" \
|
||||
PYTHON_VERSION="$py_version"; \
|
||||
make PYTHON="%{prefix}/bin/python$py_version" \
|
||||
PYTHON_INCLUDES="%{prefix}/include/python$py_version" \
|
||||
PYTHON_VERSION="$py_version" \
|
||||
prefix=$RPM_BUILD_ROOT%{prefix} \
|
||||
mandir=$RPM_BUILD_ROOT%{_mandir} install)
|
||||
|
@ -4,12 +4,12 @@ AUTOMAKE_OPTIONS = 1.4 foreign
|
||||
SUBDIRS= . tests
|
||||
|
||||
INCLUDES = \
|
||||
-I/usr/include/python$(PYTHON_VERSION) \
|
||||
-I$(PYTHON_INCLUDES) \
|
||||
-I$(top_srcdir)/include
|
||||
|
||||
DOCS_DIR = $(prefix)/share/doc/libxml2-python-$(LIBXML_VERSION)
|
||||
DOCS = TODO libxml2class.txt
|
||||
# libxml2class.txt is generated
|
||||
DOCS = TODO
|
||||
|
||||
EXTRA_DIST = \
|
||||
libxml.c \
|
||||
@ -22,24 +22,19 @@ EXTRA_DIST = \
|
||||
libxml2-python-api.xml \
|
||||
$(DOCS)
|
||||
|
||||
libxml2mod_la_LDFLAGS = -module -avoid-version
|
||||
|
||||
if WITH_PYTHON
|
||||
mylibs = \
|
||||
$(top_builddir)/libxml2.la
|
||||
|
||||
all: libxml2mod.so libxml2.py
|
||||
all: libxml2.py # libxml2mod.so
|
||||
|
||||
pythondir = $(prefix)/lib/python${PYTHON_VERSION}/site-packages
|
||||
python_PROGRAMS = libxml2mod.so
|
||||
|
||||
libxml2mod_so_SOURCES =
|
||||
libxml2mod_so_LDFLAGS = $(mylibs) $(LIBS) -shared -Wl,-soname,libxml2mod.so
|
||||
|
||||
noinst_LTLIBRARIES = libxmlmodule.la
|
||||
libxmlmodule_la_SOURCES = libxml.c types.c libxml2-py.c
|
||||
|
||||
libxml2mod.so: $(libxmlmodule_la_OBJECTS) $(mylibs)
|
||||
$(LINK) -o $@ $(libxmlmodule_la_OBJECTS) $(libxml2mod_so_LDFLAGS)
|
||||
python_LTLIBRARIES = libxml2mod.la
|
||||
|
||||
libxml2mod_la_SOURCES = libxml.c types.c libxml2-py.c
|
||||
libxml2mod_la_LIBADD = $(mylibs)
|
||||
|
||||
libxml2.py: $(srcdir)/libxml.py libxml2class.py
|
||||
cat $(srcdir)/libxml.py libxml2class.py > libxml2.py
|
||||
@ -62,7 +57,6 @@ $(GENERATED): $(srcdir)/$(GENERATE) $(API_DESC)
|
||||
cd $(srcdir) && $(PYTHON) $(GENERATE)
|
||||
|
||||
$(libxmlmodule_la_OBJECTS): $(GENERATED)
|
||||
|
||||
else
|
||||
all:
|
||||
endif
|
||||
|
@ -350,7 +350,7 @@ def print_function_wrapper(name, output, export, include):
|
||||
if args[1][1] == "char *" or args[1][1] == "xmlChar *":
|
||||
c_call = "\n if (%s->%s != NULL) xmlFree(%s->%s);\n" % (
|
||||
args[0][0], args[1][0], args[0][0], args[1][0])
|
||||
c_call = c_call + " %s->%s = xmlStrdup(%s);\n" % (args[0][0],
|
||||
c_call = c_call + " %s->%s = xmlStrdup((const xmlChar *)%s);\n" % (args[0][0],
|
||||
args[1][0], args[1][0])
|
||||
else:
|
||||
c_call = "\n %s->%s = %s;\n" % (args[0][0], args[1][0],
|
||||
@ -384,9 +384,9 @@ def print_function_wrapper(name, output, export, include):
|
||||
return -1
|
||||
|
||||
include.write("PyObject * ")
|
||||
include.write("libxml_%s(PyObject *self, PyObject *args);\n" % (name))
|
||||
include.write("libxml_%s(PyObject *self, PyObject *args);\n" % (name));
|
||||
|
||||
export.write(" { \"%s\", libxml_%s, METH_VARARGS, NULL },\n" %
|
||||
export.write(" { (char *)\"%s\", libxml_%s, METH_VARARGS, NULL },\n" %
|
||||
(name, name))
|
||||
|
||||
if file == "python":
|
||||
@ -397,7 +397,10 @@ def print_function_wrapper(name, output, export, include):
|
||||
return 1
|
||||
|
||||
output.write("PyObject *\n")
|
||||
output.write("libxml_%s(PyObject *self, PyObject *args) {\n" % (name))
|
||||
output.write("libxml_%s(ATTRIBUTE_UNUSED PyObject *self," % (name))
|
||||
if format == "":
|
||||
output.write("ATTRIBUTE_UNUSED ")
|
||||
output.write(" PyObject *args) {\n")
|
||||
if ret[0] != 'void':
|
||||
output.write(" PyObject *py_retval;\n")
|
||||
if c_return != "":
|
||||
@ -405,7 +408,7 @@ def print_function_wrapper(name, output, export, include):
|
||||
if c_args != "":
|
||||
output.write(c_args)
|
||||
if format != "":
|
||||
output.write("\n if (!PyArg_ParseTuple(args, \"%s\"%s))\n" %
|
||||
output.write("\n if (!PyArg_ParseTuple(args, (char *)\"%s\"%s))\n" %
|
||||
(format, format_args))
|
||||
output.write(" return(NULL);\n")
|
||||
if c_convert != "":
|
||||
@ -465,6 +468,8 @@ def buildStubs():
|
||||
wrapper = open("libxml2-py.c", "w")
|
||||
wrapper.write("/* Generated */\n\n")
|
||||
wrapper.write("#include <Python.h>\n")
|
||||
wrapper.write("#include \"config.h\"\n")
|
||||
wrapper.write("#include <libxml/xmlversion.h>\n")
|
||||
wrapper.write("#include <libxml/tree.h>\n")
|
||||
wrapper.write("#include \"libxml_wrap.h\"\n")
|
||||
wrapper.write("#include \"libxml2-py.h\"\n\n")
|
||||
|
482
python/libxml.c
482
python/libxml.c
File diff suppressed because it is too large
Load Diff
@ -25,7 +25,7 @@ EXTRA_DIST = $(PYTESTS) $(XMLS)
|
||||
|
||||
if WITH_PYTHON
|
||||
tests: $(PYTESTS)
|
||||
-@(PYTHONPATH=".." ; export PYTHONPATH; \
|
||||
-@(PYTHONPATH="..:../.libs" ; export PYTHONPATH; \
|
||||
for test in $(PYTESTS) ; do echo "-- $$test" ; $(PYTHON) $$test ; done)
|
||||
else
|
||||
tests:
|
||||
|
137
python/types.c
137
python/types.c
@ -9,7 +9,8 @@
|
||||
#include "libxml_wrap.h"
|
||||
|
||||
PyObject *
|
||||
libxml_intWrap(int val) {
|
||||
libxml_intWrap(int val)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -20,7 +21,8 @@ libxml_intWrap(int val) {
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_longWrap(long val) {
|
||||
libxml_longWrap(long val)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -31,7 +33,8 @@ libxml_longWrap(long val) {
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_doubleWrap(double val) {
|
||||
libxml_doubleWrap(double val)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -42,7 +45,8 @@ libxml_doubleWrap(double val) {
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_charPtrWrap(char *str) {
|
||||
libxml_charPtrWrap(char *str)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -59,7 +63,8 @@ libxml_charPtrWrap(char *str) {
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_charPtrConstWrap(const char *str) {
|
||||
libxml_charPtrConstWrap(const char *str)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -75,7 +80,8 @@ libxml_charPtrConstWrap(const char *str) {
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_xmlCharPtrWrap(xmlChar *str) {
|
||||
libxml_xmlCharPtrWrap(xmlChar * str)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -86,13 +92,14 @@ libxml_xmlCharPtrWrap(xmlChar *str) {
|
||||
return (Py_None);
|
||||
}
|
||||
/* TODO: look at deallocation */
|
||||
ret = PyString_FromString(str);
|
||||
ret = PyString_FromString((char *) str);
|
||||
xmlFree(str);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_xmlCharPtrConstWrap(const xmlChar *str) {
|
||||
libxml_xmlCharPtrConstWrap(const xmlChar * str)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -103,12 +110,13 @@ libxml_xmlCharPtrConstWrap(const xmlChar *str) {
|
||||
return (Py_None);
|
||||
}
|
||||
/* TODO: look at deallocation */
|
||||
ret = PyString_FromString(str);
|
||||
ret = PyString_FromString((char *) str);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_constcharPtrWrap(const char *str) {
|
||||
libxml_constcharPtrWrap(const char *str)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -124,7 +132,8 @@ libxml_constcharPtrWrap(const char *str) {
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_constxmlCharPtrWrap(const xmlChar *str) {
|
||||
libxml_constxmlCharPtrWrap(const xmlChar * str)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -135,12 +144,13 @@ libxml_constxmlCharPtrWrap(const xmlChar *str) {
|
||||
return (Py_None);
|
||||
}
|
||||
/* TODO: look at deallocation */
|
||||
ret = PyString_FromString(str);
|
||||
ret = PyString_FromString((char *) str);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_xmlDocPtrWrap(xmlDocPtr doc) {
|
||||
libxml_xmlDocPtrWrap(xmlDocPtr doc)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -151,12 +161,15 @@ libxml_xmlDocPtrWrap(xmlDocPtr doc) {
|
||||
return (Py_None);
|
||||
}
|
||||
/* TODO: look at deallocation */
|
||||
ret = PyCObject_FromVoidPtrAndDesc((void *) doc, "xmlDocPtr", NULL);
|
||||
ret =
|
||||
PyCObject_FromVoidPtrAndDesc((void *) doc, (char *) "xmlDocPtr",
|
||||
NULL);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_xmlNodePtrWrap(xmlNodePtr node) {
|
||||
libxml_xmlNodePtrWrap(xmlNodePtr node)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -166,12 +179,15 @@ libxml_xmlNodePtrWrap(xmlNodePtr node) {
|
||||
Py_INCREF(Py_None);
|
||||
return (Py_None);
|
||||
}
|
||||
ret = PyCObject_FromVoidPtrAndDesc((void *) node, "xmlNodePtr", NULL);
|
||||
ret =
|
||||
PyCObject_FromVoidPtrAndDesc((void *) node, (char *) "xmlNodePtr",
|
||||
NULL);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_xmlURIPtrWrap(xmlURIPtr uri) {
|
||||
libxml_xmlURIPtrWrap(xmlURIPtr uri)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -181,12 +197,15 @@ libxml_xmlURIPtrWrap(xmlURIPtr uri) {
|
||||
Py_INCREF(Py_None);
|
||||
return (Py_None);
|
||||
}
|
||||
ret = PyCObject_FromVoidPtrAndDesc((void *) uri, "xmlURIPtr", NULL);
|
||||
ret =
|
||||
PyCObject_FromVoidPtrAndDesc((void *) uri, (char *) "xmlURIPtr",
|
||||
NULL);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_xmlNsPtrWrap(xmlNsPtr ns) {
|
||||
libxml_xmlNsPtrWrap(xmlNsPtr ns)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -196,12 +215,15 @@ libxml_xmlNsPtrWrap(xmlNsPtr ns) {
|
||||
Py_INCREF(Py_None);
|
||||
return (Py_None);
|
||||
}
|
||||
ret = PyCObject_FromVoidPtrAndDesc((void *) ns, "xmlNsPtr", NULL);
|
||||
ret =
|
||||
PyCObject_FromVoidPtrAndDesc((void *) ns, (char *) "xmlNsPtr",
|
||||
NULL);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_xmlAttrPtrWrap(xmlAttrPtr attr) {
|
||||
libxml_xmlAttrPtrWrap(xmlAttrPtr attr)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -211,12 +233,15 @@ libxml_xmlAttrPtrWrap(xmlAttrPtr attr) {
|
||||
Py_INCREF(Py_None);
|
||||
return (Py_None);
|
||||
}
|
||||
ret = PyCObject_FromVoidPtrAndDesc((void *) attr, "xmlAttrPtr", NULL);
|
||||
ret =
|
||||
PyCObject_FromVoidPtrAndDesc((void *) attr, (char *) "xmlAttrPtr",
|
||||
NULL);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_xmlAttributePtrWrap(xmlAttributePtr attr) {
|
||||
libxml_xmlAttributePtrWrap(xmlAttributePtr attr)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -226,12 +251,15 @@ libxml_xmlAttributePtrWrap(xmlAttributePtr attr) {
|
||||
Py_INCREF(Py_None);
|
||||
return (Py_None);
|
||||
}
|
||||
ret = PyCObject_FromVoidPtrAndDesc((void *) attr, "xmlAttributePtr", NULL);
|
||||
ret =
|
||||
PyCObject_FromVoidPtrAndDesc((void *) attr,
|
||||
(char *) "xmlAttributePtr", NULL);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_xmlElementPtrWrap(xmlElementPtr elem) {
|
||||
libxml_xmlElementPtrWrap(xmlElementPtr elem)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -241,12 +269,15 @@ libxml_xmlElementPtrWrap(xmlElementPtr elem) {
|
||||
Py_INCREF(Py_None);
|
||||
return (Py_None);
|
||||
}
|
||||
ret = PyCObject_FromVoidPtrAndDesc((void *) elem, "xmlElementPtr", NULL);
|
||||
ret =
|
||||
PyCObject_FromVoidPtrAndDesc((void *) elem,
|
||||
(char *) "xmlElementPtr", NULL);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_xmlXPathContextPtrWrap(xmlXPathContextPtr ctxt) {
|
||||
libxml_xmlXPathContextPtrWrap(xmlXPathContextPtr ctxt)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -256,8 +287,9 @@ libxml_xmlXPathContextPtrWrap(xmlXPathContextPtr ctxt) {
|
||||
Py_INCREF(Py_None);
|
||||
return (Py_None);
|
||||
}
|
||||
ret = PyCObject_FromVoidPtrAndDesc((void *) ctxt, "xmlXPathContextPtr",
|
||||
NULL);
|
||||
ret =
|
||||
PyCObject_FromVoidPtrAndDesc((void *) ctxt,
|
||||
(char *) "xmlXPathContextPtr", NULL);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
@ -274,12 +306,14 @@ libxml_xmlXPathParserContextPtrWrap(xmlXPathParserContextPtr ctxt)
|
||||
return (Py_None);
|
||||
}
|
||||
ret = PyCObject_FromVoidPtrAndDesc((void *) ctxt,
|
||||
"xmlXPathParserContextPtr", NULL);
|
||||
(char *) "xmlXPathParserContextPtr",
|
||||
NULL);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_xmlParserCtxtPtrWrap(xmlParserCtxtPtr ctxt) {
|
||||
libxml_xmlParserCtxtPtrWrap(xmlParserCtxtPtr ctxt)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -289,13 +323,15 @@ libxml_xmlParserCtxtPtrWrap(xmlParserCtxtPtr ctxt) {
|
||||
Py_INCREF(Py_None);
|
||||
return (Py_None);
|
||||
}
|
||||
ret = PyCObject_FromVoidPtrAndDesc((void *) ctxt, "xmlParserCtxtPtr",
|
||||
NULL);
|
||||
ret =
|
||||
PyCObject_FromVoidPtrAndDesc((void *) ctxt,
|
||||
(char *) "xmlParserCtxtPtr", NULL);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_xmlXPathObjectPtrWrap(xmlXPathObjectPtr obj) {
|
||||
libxml_xmlXPathObjectPtrWrap(xmlXPathObjectPtr obj)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -309,7 +345,8 @@ libxml_xmlXPathObjectPtrWrap(xmlXPathObjectPtr obj) {
|
||||
case XPATH_XSLT_TREE:
|
||||
/* TODO !!!! Allocation problems */
|
||||
case XPATH_NODESET:
|
||||
if ((obj->nodesetval == NULL) || (obj->nodesetval->nodeNr == 0))
|
||||
if ((obj->nodesetval == NULL)
|
||||
|| (obj->nodesetval->nodeNr == 0))
|
||||
ret = PyList_New(0);
|
||||
else {
|
||||
int i;
|
||||
@ -330,7 +367,7 @@ libxml_xmlXPathObjectPtrWrap(xmlXPathObjectPtr obj) {
|
||||
ret = PyFloat_FromDouble(obj->floatval);
|
||||
break;
|
||||
case XPATH_STRING:
|
||||
ret = PyString_FromString(obj->stringval);
|
||||
ret = PyString_FromString((char *) obj->stringval);
|
||||
break;
|
||||
case XPATH_POINT:
|
||||
case XPATH_RANGE:
|
||||
@ -345,7 +382,8 @@ libxml_xmlXPathObjectPtrWrap(xmlXPathObjectPtr obj) {
|
||||
}
|
||||
|
||||
xmlXPathObjectPtr
|
||||
libxml_xmlXPathObjectPtrConvert(PyObject * obj) {
|
||||
libxml_xmlXPathObjectPtrConvert(PyObject * obj)
|
||||
{
|
||||
xmlXPathObjectPtr ret = NULL;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -354,15 +392,18 @@ libxml_xmlXPathObjectPtrConvert(PyObject * obj) {
|
||||
if (obj == NULL) {
|
||||
return (NULL);
|
||||
}
|
||||
if PyFloat_Check(obj) {
|
||||
if PyFloat_Check
|
||||
(obj) {
|
||||
ret = xmlXPathNewFloat((double) PyFloat_AS_DOUBLE(obj));
|
||||
} else if PyString_Check(obj) {
|
||||
} else if PyString_Check
|
||||
(obj) {
|
||||
xmlChar *str;
|
||||
|
||||
str = xmlStrndup((const xmlChar *) PyString_AS_STRING(obj),
|
||||
PyString_GET_SIZE(obj));
|
||||
ret = xmlXPathWrapString(str);
|
||||
} else if PyList_Check(obj) {
|
||||
} else if PyList_Check
|
||||
(obj) {
|
||||
int i;
|
||||
PyObject *node;
|
||||
xmlNodePtr cur;
|
||||
@ -382,12 +423,15 @@ libxml_xmlXPathObjectPtrConvert(PyObject * obj) {
|
||||
} else if (PyInstance_Check(node)) {
|
||||
PyInstanceObject *inst = (PyInstanceObject *) node;
|
||||
PyObject *name = inst->in_class->cl_name;
|
||||
if PyString_Check(name) {
|
||||
|
||||
if PyString_Check
|
||||
(name) {
|
||||
char *type = PyString_AS_STRING(name);
|
||||
PyObject *wrapper;
|
||||
|
||||
if (!strcmp(type, "xmlNode")) {
|
||||
wrapper = PyObject_GetAttrString(node, "_o");
|
||||
wrapper =
|
||||
PyObject_GetAttrString(node, (char *) "_o");
|
||||
if (wrapper != NULL) {
|
||||
cur = PyxmlNode_Get(wrapper);
|
||||
}
|
||||
@ -409,7 +453,8 @@ libxml_xmlXPathObjectPtrConvert(PyObject * obj) {
|
||||
}
|
||||
|
||||
PyObject *
|
||||
libxml_xmlCatalogPtrWrap(xmlCatalogPtr catal) {
|
||||
libxml_xmlCatalogPtrWrap(xmlCatalogPtr catal)
|
||||
{
|
||||
PyObject *ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
@ -419,8 +464,8 @@ libxml_xmlCatalogPtrWrap(xmlCatalogPtr catal) {
|
||||
Py_INCREF(Py_None);
|
||||
return (Py_None);
|
||||
}
|
||||
ret = PyCObject_FromVoidPtrAndDesc((void *) catal, "xmlCatalogPtr", NULL);
|
||||
ret =
|
||||
PyCObject_FromVoidPtrAndDesc((void *) catal,
|
||||
(char *) "xmlCatalogPtr", NULL);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user