diff options
author | Antoine Brodin <antoine@FreeBSD.org> | 2019-03-08 06:47:53 +0000 |
---|---|---|
committer | Antoine Brodin <antoine@FreeBSD.org> | 2019-03-08 06:47:53 +0000 |
commit | 89b855b456dc7fd5cc9b62ffec24f741a26e199f (patch) | |
tree | a6ea7dd7457a1f45b4e780a632e5ff4d739a677c | |
parent | b8165b1aefc22e44358e0869e8b29353ea9ba005 (diff) |
Notes
-rw-r--r-- | textproc/libxml2/files/patch-python_libxml.c | 35 | ||||
-rw-r--r-- | textproc/py-libxml2/Makefile | 2 |
2 files changed, 36 insertions, 1 deletions
diff --git a/textproc/libxml2/files/patch-python_libxml.c b/textproc/libxml2/files/patch-python_libxml.c new file mode 100644 index 000000000000..caef687fc265 --- /dev/null +++ b/textproc/libxml2/files/patch-python_libxml.c @@ -0,0 +1,35 @@ +# Workaround https://bugzilla.gnome.org/show_bug.cgi?id=789714 +# Obtained from openSuse / Fedora + +--- python/libxml.c.orig 2016-06-07 10:04:14 UTC ++++ python/libxml.c +@@ -1620,6 +1620,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU + PyObject *message; + PyObject *result; + char str[1000]; ++ unsigned char *ptr = (unsigned char *)str; + + #ifdef DEBUG_ERROR + printf("libxml_xmlErrorFuncHandler(%p, %s, ...) called\n", ctx, msg); +@@ -1636,12 +1637,20 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU + str[999] = 0; + va_end(ap); + ++#if PY_MAJOR_VERSION >= 3 ++ /* Ensure the error string doesn't start at UTF8 continuation. */ ++ while (*ptr && (*ptr & 0xc0) == 0x80) ++ ptr++; ++#endif ++ + list = PyTuple_New(2); + PyTuple_SetItem(list, 0, libxml_xmlPythonErrorFuncCtxt); + Py_XINCREF(libxml_xmlPythonErrorFuncCtxt); +- message = libxml_charPtrConstWrap(str); ++ message = libxml_charPtrConstWrap(ptr); + PyTuple_SetItem(list, 1, message); + result = PyEval_CallObject(libxml_xmlPythonErrorFuncHandler, list); ++ /* Forget any errors caused in the error handler. */ ++ PyErr_Clear(); + Py_XDECREF(list); + Py_XDECREF(result); + } diff --git a/textproc/py-libxml2/Makefile b/textproc/py-libxml2/Makefile index b20aab2ed70c..b4c29d06f3cf 100644 --- a/textproc/py-libxml2/Makefile +++ b/textproc/py-libxml2/Makefile @@ -1,7 +1,7 @@ # Created by: Alexander Nedotsukov <bland@FreeBSD.org> # $FreeBSD$ -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= textproc gnome python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} |