http://bugs.winehq.org/show_bug.cgi?id=13035
Summary: Bad HAVE_XSLTINIT in msxml3 Product: Wine Version: CVS/GIT Platform: Other OS/Version: other Status: NEW Severity: enhancement Priority: P2 Component: msxml3 AssignedTo: wine-bugs@winehq.org ReportedBy: fgouget@codeweavers.com
I think the HAVE_XSLTINIT in dlls/msxml3/main.c is wrong because it does not take into account potential differences between the compilation environment and the runtime environment.
Case 1 ------
If the libxslt.so available at compile time does not have xsltinit(), then HAVE_XSLTINIT will be undefined and thus msxml3 will not call it... So what happens then if at runtime the libxslt.so that's used does have that function? Will it crash randomly because it's uninitialized?
Conversely, the compilation environment could have xsltinit() but no the runtime environment. This this would cause msxml3.dll to fail to load.
Compile vs. runtime environment differences is why we dlopen() a lot of the Unix libraries and it seems to me that we should be using dlsym() here.