New issue 2360: Windows ctypes.CDLL : TypeError: function name must be a string or integer https://bitbucket.org/pypy/pypy/issues/2360/windows-ctypescdll-typeerror-function-name
RyoYokoyama: On Windows, ctypes.CDLL cannot accept unicode function name. On PyPy2: ``` #!python >>>> import ctypes >>>> lib = ctypes.CDLL('sqlite3') >>>> lib[b'sqlite3_libversion']() 1642690176 >>>> lib[u'sqlite3_libversion']() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "c:\pypy2\lib-python\2.7\ctypes\__init__.py", line 387, in __getitem__ func = self._FuncPtr((name_or_ordinal, self)) File "c:\pypy2\lib_pypy\_ctypes\function.py", line 254, in __init__ ptr = self._getfuncptr([], ctypes.c_int) File "c:\pypy2\lib_pypy\_ctypes\function.py", line 439, in _getfuncptr self._ptr = cdll.getfunc(self.name, ffi_argtypes, ffi_restype) TypeError: function name must be a string or integer ``` On CPython 2.7: ``` #!python >>> import ctypes >>> lib = ctypes.CDLL('sqlite3') >>> lib[b'sqlite3_libversion']() 1787770432 >>> lib[u'sqlite3_libversion']() 1787770432 ``` _______________________________________________ pypy-issue mailing list pypy-issue@python.org https://mail.python.org/mailman/listinfo/pypy-issue