[ctypes-users] Re: code generation: translation of *char
Brought to you by:
theller
From: Thomas H. <th...@py...> - 2005-10-21 18:31:41
|
>> So, IMO it would be better if it were possible to replace >> POINTER(c_char) with c_char_p on a module by module basis > > This is exactly what I was aiming at: have a command line option for a per > module fine tuning of how "char *" should be translated. > > I understand that the current solution is the "safer" variant, but I believe > that c_char_p would be the "less surprising" variant. I've just committed this change to ctypes\wrap\codegenerator: The codegenerator now by default assumes 'char *' and 'wchar_t *' types are pointers to zero-terminated strings. It generates STRING = c_char_p WSTRING = c_wchar_p and STRING / WSTRING is used instead of POINTER(c_char) and POINTER(c_wchar). Maybe you can try it out by getting this file via viewcvs, once that version 1.6.2.5 appears on the anon CVS servers: http://cvs.sourceforge.net/viewcvs.py/ctypes/ctypes/ctypes/wrap/codegenerator.py There's not yet a command line option to switch it off, you have to set the global variable ASSUME_STRINGS to False in this file to revert to the previous behaviour. I hope that is what you need. Thomas |