theller at python.net
Thu Oct 7 20:40:13 CEST 2004
Michele Petrazzo <michele.petrazzo at TOGLIunipex.it> writes:
> I'm using ctypes v 0.9.1 on linux for the first time.
> Then I try to use create_unicode_buffer(), I receive this error:
> File "/usr/lib/python2.3/site-packages/ctypes/__init__.py", line 74,
> in create_unicode_buffer
> buftype = c_wchar * init
> NameError: global name 'c_wchar' is not defined
> In __init__ file I see that at line:
> 208 if _os.name == "nt":
> 214 class c_wchar(_SimpleCData):
> This class if only for "nt" ?
> Michele Petrazzo
Ok, it seems I missed to put the create_unicode_buffer inside an if:
if os.name == "nt":
The deeper issue is that the unicode stuff in ctypes is only compiled in
when the Python header files define the HAVE_USABLE_WCHAR_T symbol. Of
the systems I build and test on, only Windows defines this.
I'm not really sure that this is really the right thing to do,
maybe this should be sufficient:
#if Py_UNICODE_SIZE == 2
More information about the Python-list