[pypy-svn] r57704 - pypy/dist/pypy/lib
fijal at codespeak.net
fijal at codespeak.net
Sun Aug 31 19:50:50 CEST 2008
Author: fijal
Date: Sun Aug 31 19:50:47 2008
New Revision: 57704
Modified:
pypy/dist/pypy/lib/pyexpat.py
Log:
I'm stupid as hell. And ctypes does not help me. I wonder why it did not
bite before, but result is called restype in ctypes, not result. Fixes
64bit segfault in xml parser.
Modified: pypy/dist/pypy/lib/pyexpat.py
==============================================================================
--- pypy/dist/pypy/lib/pyexpat.py (original)
+++ pypy/dist/pypy/lib/pyexpat.py Sun Aug 31 19:50:47 2008
@@ -50,7 +50,7 @@
def declare_external(name, args, res):
func = getattr(lib, name)
func.args = args
- func.result = res
+ func.restype = res
globals()[name] = func
declare_external('XML_ParserCreate', [c_char_p], XML_Parser)
@@ -61,15 +61,14 @@
for name in currents:
func = getattr(lib, 'XML_Get' + name)
func.args = [XML_Parser]
- func.result = c_int
+ func.restype = c_int
declare_external('XML_SetReturnNSTriplet', [XML_Parser, c_int], None)
declare_external('XML_GetSpecifiedAttributeCount', [XML_Parser], c_int)
declare_external('XML_SetParamEntityParsing', [XML_Parser, c_int], None)
declare_external('XML_GetErrorCode', [XML_Parser], c_int)
declare_external('XML_StopParser', [XML_Parser, c_int], None)
-lib.XML_ErrorString.args = [c_int]
-lib.XML_ErrorString.result = c_int
+declare_external('XML_ErrorString', [c_int], c_char_p)
declare_external('XML_SetBase', [XML_Parser, c_char_p], None)
declare_external('XML_SetUnknownEncodingHandler', [XML_Parser, c_void_p,
@@ -77,12 +76,6 @@
declare_external('XML_FreeContentModel', [XML_Parser, POINTER(XML_Content)],
None)
-def XML_ErrorString(code):
- res = lib.XML_ErrorString(code)
- p = c_char_p()
- p.value = res
- return p.value
-
handler_names = [
'StartElement',
'EndElement',
More information about the Pypy-commit
mailing list