From: Grigory Vasilyev h0tc0d3@gmail.com
--- dlls/msxml3/domdoc.c | 4 ++-- dlls/msxml3/main.c | 3 ++- dlls/msxml3/msxml_private.h | 2 +- dlls/msxml3/schema.c | 4 ++-- dlls/msxml3/selection.c | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c index 2acbffc0a88..e95b5313c16 100644 --- a/dlls/msxml3/domdoc.c +++ b/dlls/msxml3/domdoc.c @@ -26,7 +26,7 @@ #include <libxml/parser.h> #include <libxml/xmlerror.h> #include <libxml/xpathInternals.h> -# include <libxml/xmlsave.h> +#include <libxml/xmlsave.h> #include <libxml/SAX2.h> #include <libxml/parserInternals.h>
@@ -502,7 +502,7 @@ static void LIBXML2_LOG_CALLBACK sax_warning(void* ctx, char const* msg, ...) va_end(ap); }
-static void sax_serror(void* ctx, xmlErrorPtr err) +static void sax_serror(void* ctx, xmlError* err) { LIBXML2_CALLBACK_SERROR(doparse, err); } diff --git a/dlls/msxml3/main.c b/dlls/msxml3/main.c index 5e8de1676cf..8f9565d7000 100644 --- a/dlls/msxml3/main.c +++ b/dlls/msxml3/main.c @@ -22,6 +22,7 @@ #define COBJMACROS
#include <stdarg.h> +#include <libxml/globals.h> #include <libxml/parser.h> #include <libxml/xmlerror.h> #include <libxslt/pattern.h> @@ -77,7 +78,7 @@ void wineXmlCallbackLog(char const* caller, xmlErrorLevel lvl, char const* msg, wine_dbg_log(dbcl, &__wine_dbch_msxml, caller, "%s", buff); }
-void wineXmlCallbackError(char const* caller, xmlErrorPtr err) +void wineXmlCallbackError(char const* caller, xmlError* err) { enum __wine_debug_class dbcl;
diff --git a/dlls/msxml3/msxml_private.h b/dlls/msxml3/msxml_private.h index 54f54995c76..05f162c3303 100644 --- a/dlls/msxml3/msxml_private.h +++ b/dlls/msxml3/msxml_private.h @@ -165,7 +165,7 @@ extern MSXML_VERSION xmldoc_version( xmlDocPtr doc ); extern HRESULT XMLElement_create( xmlNodePtr node, LPVOID *ppObj, BOOL own );
extern void wineXmlCallbackLog(char const* caller, xmlErrorLevel lvl, char const* msg, va_list ap); -extern void wineXmlCallbackError(char const* caller, xmlErrorPtr err); +extern void wineXmlCallbackError(char const* caller, xmlError* err);
#define LIBXML2_LOG_CALLBACK WINAPIV __WINE_PRINTF_ATTR(2,3)
diff --git a/dlls/msxml3/schema.c b/dlls/msxml3/schema.c index b6b790d9894..8be448ebf4b 100644 --- a/dlls/msxml3/schema.c +++ b/dlls/msxml3/schema.c @@ -243,7 +243,7 @@ static void LIBXML2_LOG_CALLBACK parser_warning(void* ctx, char const* msg, ...) va_end(ap); }
-static void parser_serror(void* ctx, xmlErrorPtr err) +static void parser_serror(void* ctx, xmlError* err) { LIBXML2_CALLBACK_SERROR(Schema_parse, err); } @@ -273,7 +273,7 @@ static void LIBXML2_LOG_CALLBACK validate_warning(void* ctx, char const* msg, .. va_end(ap); }
-static void validate_serror(void* ctx, xmlErrorPtr err) +static void validate_serror(void* ctx, xmlError* err) { LIBXML2_CALLBACK_SERROR(Schema_validate_tree, err); } diff --git a/dlls/msxml3/selection.c b/dlls/msxml3/selection.c index f94b17379d9..aa7d2864907 100644 --- a/dlls/msxml3/selection.c +++ b/dlls/msxml3/selection.c @@ -756,7 +756,7 @@ static void XSLPattern_OP_IGEq(xmlXPathParserContextPtr pctx, int nargs) xmlFree(arg2); }
-static void query_serror(void* ctx, xmlErrorPtr err) +static void query_serror(void* ctx, xmlError* err) { LIBXML2_CALLBACK_SERROR(domselection_create, err); }
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=147824
Your paranoid android.
=== debian11b (64 bit WoW report) ===
ddraw: ddraw2.c:3735: Test failed: Expected screen size 1024x768, got 0x0. ddraw2.c:3814: Test failed: Expected (0,0)-(640,480), got (0,0)-(1024,768). ddraw2.c:3839: Test failed: Expected (0,0)-(640,480), got (0,0)-(1024,768).
kernel32: comm.c:1574: Test failed: AbortWaitCts hComPortEvent failed comm.c:1586: Test failed: Unexpected time 1000, expected around 500
user32: input.c:4305: Test succeeded inside todo block: button_down_hwnd_todo 1: got MSG_TEST_WIN hwnd 00000000014F00DC, msg WM_LBUTTONDOWN, wparam 0x1, lparam 0x320032
How are you building this? xmlStructuredErrorFunc is using xmlErrorPtr argument in current libxml2 code, that we have imported in wine.
@nsivov `--with-mingw=clang`.
This is my old patch. I tested it now, it seems to compile without it. About two months ago there was a clang bug, and it refused to accept `xmlErrorPtr`. It seems like he was complaining that the types were different and there was a `const` in the prototype, `const xmlErrorPtr` also didn't compile. Also in main.c some types were not resolved and it was necessary to add `#include <libxml/globals.h>`. It may have been a clang bug that was fixed in Fedora 40.
``` typedef void xmlStructuredErrorFunc (void * userData, const xmlError * error); ``` https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlerror.html
By default we are using imported libxml2 code, this prototype is different there.
This merge request was closed by Grigory Vasilyev.
Already works without it.