[Lxml-checkins] r54972 - in lxml/trunk: . src/lxml

scoder at codespeak.net scoder at codespeak.net
Tue May 20 00:01:09 CEST 2008


Author: scoder
Date: Tue May 20 00:01:07 2008
New Revision: 54972

Modified:
   lxml/trunk/   (props changed)
   lxml/trunk/src/lxml/apihelpers.pxi
   lxml/trunk/src/lxml/etree_defs.h
   lxml/trunk/src/lxml/python.pxd
Log:
 r4230 at delle:  sbehnel | 2008-05-19 09:35:46 +0200
 let funicode() always return unicode strings in Py3


Modified: lxml/trunk/src/lxml/apihelpers.pxi
==============================================================================
--- lxml/trunk/src/lxml/apihelpers.pxi	(original)
+++ lxml/trunk/src/lxml/apihelpers.pxi	Tue May 20 00:01:07 2008
@@ -1004,6 +1004,9 @@
     cdef Py_ssize_t slen
     cdef char* spos
     cdef bint is_non_ascii
+    if python.IS_PYTHON3:
+        slen = cstd.strlen(s)
+        return python.PyUnicode_DecodeUTF8(s, slen, NULL)
     spos = s
     is_non_ascii = 0
     while spos[0] != c'\0':

Modified: lxml/trunk/src/lxml/etree_defs.h
==============================================================================
--- lxml/trunk/src/lxml/etree_defs.h	(original)
+++ lxml/trunk/src/lxml/etree_defs.h	Tue May 20 00:01:07 2008
@@ -17,6 +17,12 @@
 #  define PyFile_AsFile(o) (NULL)
 #endif
 
+#if PY_VERSION_HEX >= 0x03000000
+#  define IS_PYTHON3 1
+#else
+#  define IS_PYTHON3 0
+#endif
+
 #ifdef WITHOUT_THREADING
 #  define PyEval_SaveThread() (NULL)
 #  define PyEval_RestoreThread(state)

Modified: lxml/trunk/src/lxml/python.pxd
==============================================================================
--- lxml/trunk/src/lxml/python.pxd	(original)
+++ lxml/trunk/src/lxml/python.pxd	Tue May 20 00:01:07 2008
@@ -122,3 +122,4 @@
     cdef bint _isString(object obj)
     cdef char* _fqtypename(object t)
     cdef object PY_NEW(object t)
+    cdef bint IS_PYTHON3


More information about the lxml-checkins mailing list