https://bugs.winehq.org/show_bug.cgi?id=57810
Bug ID: 57810 Summary: ITextStream::WriteBlankLines() needs to be implemented for libxml2's configure.js to work Product: Wine Version: unspecified Hardware: x86-64 URL: https://github.com/GNOME/libxml2 OS: FreeBSD Status: NEW Keywords: download, source Severity: normal Priority: P2 Component: scrrun Assignee: wine-bugs@winehq.org Reporter: damjan.jov@gmail.com
In libxml2's win32 subdirectory, running "wine cscript configure.js" fails with:
0330:fixme:scrrun:textstream_WriteBlankLines 008EF44C, 1 stub 0330:trace:jscript:handle_dispatch_exception 80004001 (null) (null) 0330:warn:jscript:unwind_exception Exception 80020009 undefined in: 0330:warn:jscript:print_backtrace 0 L"discoverVersion"() context 1 line 207 char 1 0330:warn:jscript:print_backtrace 1 [unnamed]([detached frame]) context 1 line 606 char 0 0330:warn:jscript:print_backtrace 2 [native code]
because in that "discoverVersion()" function called from configure.js line 207 here:
https://github.com/GNOME/libxml2/blob/3dcde736d012a191cca60e5d5dbd80ef971768...
---snip--- vf.WriteBlankLines(1); ---snip---
which is implemented in dlls/scrrun/filesystem.c function textstream_WriteBlankLines(), which is indeed a stub returning E_NOTIMPL.
Patching textstream_WriteBlankLines() to write newlines and return S_OK fixes the bug, and "wine cscript configure.js" runs to successful completion.
I will make a merge request soon.
This is why dog food bugs rule - when all the code is open source, debugging is so easy ;-).