Re: [xml] GetProcAddress and ascii or wide



On Wed, Aug 15, 2012 at 08:38:02AM -0400, Earnie Boyd wrote:
On Tue, Aug 14, 2012 at 9:09 PM, Daniel Veillard wrote:
On Wed, Aug 15, 2012 at 01:22:38AM +0300, Roumen Petrov wrote:
Hi ,

After recent  commits I count not link build for mingw* host  as
GetProcAddressA is missing.

The "uncode" patch change LoadLibrary to ansi version (LoadLibraryA)
and MSDN document availability of both versions.

Function GetProcAddress is described as is, i.e. requirements
chapter lack note for ansi and uncode .


Could we restore GetProcAddress call to old one ?

  <grin/>

  Looking around a bit it seems you are right:
    http://voidnish.wordpress.com/2005/06/14/getprocaddress-in-unicode-builds/
except it was introduced in Windows CE
    http://msdn.microsoft.com/en-us/library/ms885634.aspx

I would be tempted to add in the following

Daniel


diff --git a/xmlmodule.c b/xmlmodule.c
index a59a1ec..fc84d96 100644
--- a/xmlmodule.c
+++ b/xmlmodule.c
@@ -334,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;
 }

Or define HAVE_GETPROCADDRESSA in config.h in the event that some
other cousin system has it in the future?  It seems the signature in

  Well will that future system support auto* . I would not bet on this
and would rather keep this simple.

WinCE for GetProcAddress is different as well LPCWSTR for name instead
of LPCSTR which is why WinCE has GetProcAddressA.

  Yes c.f. the thread which led to that patch in the first place !
At this point I'm shooting for the simplest solution which works for
all platforms.

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel veillard com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]