On 4/01/2009 9:29 PM, Ulrich Eckhardt wrote:
If I'm still misunderstanding, can you be more specific about the exact
problem (ie, the exact function you are referring to, and how you intend
calling it)?
trunk/_fileio.c/fileio_init()
Let's leave aside that you can also pass a filedescriptor, that function
either takes a string or a Unicode string as first parameter. Now, under CE,
I always need a 'wchar_t*' in order to open a file, how would I get at that
easiest?
My approach now is to simply use "O" as format specifier for the filename and
then take a look at the object's type. If it is a char-string, I have to
convert (under CE) or call the char-API (desktop MS Windows), if it is a
Unicode string, I can use it as it is.
IIUC, the block:
#ifdef MS_WINDOWS
if (widename != NULL)
self->fd = _wopen(widename, flags, 0666);
else
#endif
self->fd = open(name, flags, 0666);
...
Would probably need to change - instead of falling back to plain open(),
if widename is NULL you would need to use MultiByteToWideChar before
calling _wopen(). This assumes the unicode CRT is available of course -
if not, I guess you'd need to call the win32 api instead of _wopen.
Alternatively, the PyArg_ParseTuple() call could possibly be changed to
use the 'e' format string
Hoping-that-was-what-you-were-asking, ly,
Mark
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com