> Here comes my revised/extended patch.
 > [...]
 > Roland
 >
Sorry, but it will not work:

1. function MultiByteToWideChar() in __xmlIOWin32UTF8ToWChar() converts
    native string to unicode even if not all byte sequences are valid;
    so, you need use flag MB_ERR_INVALID_CHARS to ensure,
    that whole string looks like utf-8;
   (but it not guarantee, that source string is really utf-8)
2. functions _wstat() / _wfopen() are implemented in msvcrt.dll on 
Windows 9.x,
    but they use unicode variants  of  Win32 API  functions, which also 
exists in
    kernel32.dll, but simply returns error "not implemented";
    IMHO, the only way to solve this problem is to
    detect platform using GetVersionEx()
3. one time detection of function presence is good idea;
    but can you reassure me, that using of static variables will not
    led to problems in multithreaded environment?
    may be, it is more safe to detect platform during
    library initialization in main thread?

PS.
Probably, I am excessively fastidious. Sorry once again.
But I don't like that some functions in libxml become
platform dependent and use heuristic tricks.

Really include in documentation note about using
file names on different platforms?

Is finer decision possible?

_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to