| Index: third_party/libxml/src/xmlmodule.c
|
| diff --git a/third_party/libxml/src/xmlmodule.c b/third_party/libxml/src/xmlmodule.c
|
| index cbe30b6bbf3e82256a6b6c9912f86ac15d5fa183..50ed666af7843309261733065d49857a49d8575a 100644
|
| --- a/third_party/libxml/src/xmlmodule.c
|
| +++ b/third_party/libxml/src/xmlmodule.c
|
| @@ -30,7 +30,7 @@ static int xmlModulePlatformSymbol(void *handle, const char *name, void **result
|
|
|
| /************************************************************************
|
| * *
|
| - * module memory error handler *
|
| + * module memory error handler *
|
| * *
|
| ************************************************************************/
|
|
|
| @@ -61,6 +61,10 @@ xmlModuleErrMemory(xmlModulePtr module, const char *extra)
|
| * @options: a set of xmlModuleOption
|
| *
|
| * Opens a module/shared library given its name or path
|
| + * NOTE: that due to portability issues, behaviour can only be
|
| + * guaranteed with @name using ASCII. We canot guarantee that
|
| + * an UTF-8 string would work, which is why name is a const char *
|
| + * and not a const xmlChar * .
|
| * TODO: options are not yet implemented.
|
| *
|
| * Returns a handle for the module or NULL in case of error
|
| @@ -99,6 +103,10 @@ xmlModuleOpen(const char *name, int options ATTRIBUTE_UNUSED)
|
| * @symbol: the resulting symbol address
|
| *
|
| * Lookup for a symbol address in the given module
|
| + * NOTE: that due to portability issues, behaviour can only be
|
| + * guaranteed with @name using ASCII. We canot guarantee that
|
| + * an UTF-8 string would work, which is why name is a const char *
|
| + * and not a const xmlChar * .
|
| *
|
| * Returns 0 if the symbol was found, or -1 in case of error
|
| */
|
| @@ -106,8 +114,8 @@ int
|
| xmlModuleSymbol(xmlModulePtr module, const char *name, void **symbol)
|
| {
|
| int rc = -1;
|
| -
|
| - if ((NULL == module) || (symbol == NULL)) {
|
| +
|
| + if ((NULL == module) || (symbol == NULL) || (name == NULL)) {
|
| __xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_MODULE,
|
| XML_MODULE_OPEN, XML_ERR_FATAL, NULL, 0, 0,
|
| NULL, NULL, 0, 0, "null parameter\n");
|
| @@ -326,7 +334,14 @@ xmlModulePlatformClose(void *handle)
|
| static int
|
| xmlModulePlatformSymbol(void *handle, const char *name, void **symbol)
|
| {
|
| +#ifdef _WIN32_WCE
|
| + /*
|
| + * GetProcAddressA seems only available on WinCE
|
| + */
|
| + *symbol = GetProcAddressA(handle, name);
|
| +#else
|
| *symbol = GetProcAddress(handle, name);
|
| +#endif
|
| return (NULL == *symbol) ? -1 : 0;
|
| }
|
|
|
|
|