libxslt version 1.1.15 was released 16 years ago. I think we can safely assume that people will be using it (or a later version)
Signed-off-by: Emil Velikov emil.l.velikov@gmail.com --- dlls/msxml3/main.c | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-)
diff --git a/dlls/msxml3/main.c b/dlls/msxml3/main.c index 25400b698ca..7738d607c9b 100644 --- a/dlls/msxml3/main.c +++ b/dlls/msxml3/main.c @@ -175,6 +175,7 @@ DECL_FUNCPTR(xsltCleanupGlobals); DECL_FUNCPTR(xsltFreeStylesheet); DECL_FUNCPTR(xsltFreeTransformContext); DECL_FUNCPTR(xsltFunctionNodeSet); +DECL_FUNCPTR(xsltInit); DECL_FUNCPTR(xsltNewTransformContext); DECL_FUNCPTR(xsltNextImport); DECL_FUNCPTR(xsltParseStylesheetDoc); @@ -188,33 +189,30 @@ DECL_FUNCPTR(xsltSetLoaderFunc); static void init_libxslt(void) { #ifdef SONAME_LIBXSLT - void (*pxsltInit)(void); /* Missing in libxslt <= 1.1.14 */ - libxslt_handle = dlopen(SONAME_LIBXSLT, RTLD_NOW); if (!libxslt_handle) return;
-#define LOAD_FUNCPTR(f, needed) \ +#define LOAD_FUNCPTR(f) \ if ((p##f = dlsym(libxslt_handle, #f)) == NULL) \ - if (needed) { WARN("Can't find symbol %s\n", #f); goto sym_not_found; } - LOAD_FUNCPTR(xsltInit, 0); - LOAD_FUNCPTR(xsltApplyStylesheet, 1); - LOAD_FUNCPTR(xsltApplyStylesheetUser, 1); - LOAD_FUNCPTR(xsltCleanupGlobals, 1); - LOAD_FUNCPTR(xsltFreeStylesheet, 1); - LOAD_FUNCPTR(xsltFreeTransformContext, 1); - LOAD_FUNCPTR(xsltFunctionNodeSet, 1); - LOAD_FUNCPTR(xsltNewTransformContext, 1); - LOAD_FUNCPTR(xsltNextImport, 1); - LOAD_FUNCPTR(xsltParseStylesheetDoc, 1); - LOAD_FUNCPTR(xsltQuoteUserParams, 1); - LOAD_FUNCPTR(xsltRegisterExtModuleFunction, 1); - LOAD_FUNCPTR(xsltSaveResultTo, 1); - LOAD_FUNCPTR(xsltSetLoaderFunc, 1); + { WARN("Can't find symbol %s\n", #f); goto sym_not_found; } + LOAD_FUNCPTR(xsltInit); + LOAD_FUNCPTR(xsltApplyStylesheet); + LOAD_FUNCPTR(xsltApplyStylesheetUser); + LOAD_FUNCPTR(xsltCleanupGlobals); + LOAD_FUNCPTR(xsltFreeStylesheet); + LOAD_FUNCPTR(xsltFreeTransformContext); + LOAD_FUNCPTR(xsltFunctionNodeSet); + LOAD_FUNCPTR(xsltNewTransformContext); + LOAD_FUNCPTR(xsltNextImport); + LOAD_FUNCPTR(xsltParseStylesheetDoc); + LOAD_FUNCPTR(xsltQuoteUserParams); + LOAD_FUNCPTR(xsltRegisterExtModuleFunction); + LOAD_FUNCPTR(xsltSaveResultTo); + LOAD_FUNCPTR(xsltSetLoaderFunc); #undef LOAD_FUNCPTR
- if (pxsltInit) - pxsltInit(); + pxsltInit();
pxsltSetLoaderFunc(xslt_doc_default_loader); pxsltRegisterExtModuleFunction(