On Fri, Sep 01, 2006 at 12:16:56PM +0400, Emelyanov Alexey wrote:
> >> Probably, an alternative version of patch will be more acceptable.
> >> [...]
> >
> > Roland's patch has been applied to CVS. So any further patch should
> > be against CVs head i.e. the version with Roland's code changes. This
> > would also help checking what you are really changing, please resubmit.
> > [...]
> >
> > Daniel
> >
> Here is patch for latest version in CVS.
> 
> Patched library was compiled with MSVC 5.0, MSVC 7.1, Mingw (gcc 3.4.2),
> Borland C++ 5.5 and was tested under Win 98, Win 2000 SP4, Win XP SP2.
> 
> Changes:
> 1. Platform specific code is moved to separate functions (opening
>    of files and status information retrieving).
> 2. As xmlInitParser() should be called in multithreaded programs
>    before use of any other library functions, detection of
>    platform and appropriate API features is carried out in
>    xmlRegisterDefaultInputCallbacks() and
>    xmlRegisterDefaultOutputCallbacks().
>    Thus there is no need to complicate a code,
>    protecting it with the mutex.
>    After initialization two static function pointers are
>    used only for reading, therefore problems with
>    multithreading will not arise too.
> 3. Unnecessary increase of string buffer length is removed in
>    function __xmlIOWin32UTF8ToWChar().
> 4. The dynamic loading of msvcrt.dll is not used at all.
>    The functions _wstat()/_wfopen() exists even in
>    msvcrt20.dll (Win 95 distribution).
> 5. Functions xmlMalloc()/xmlFree() are used instead of malloc()/free().
> 6. In a code the stat() calls are used. If there is _stat()
>    function in C library, appropriate macros is defined.
> 7. Code is changed for Windows only.

  This looks sensible, I particulary appreciate the large set of compilers
and platform that you report. Eric and others should still check it again
just in case but that sounds good ! Applied and commited to CVS,

   thanks a lot !

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
[EMAIL PROTECTED]  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to