Re: [xml] LoadLibrary needs to be LoadLibraryA
- From: "Jungshik Shin" <jshin1987 gmail com>
- To: "Roland Schwingel" <Roland Schwingel onevision com>
- Cc: xml gnome org
- Subject: Re: [xml] LoadLibrary needs to be LoadLibraryA
- Date: Wed, 20 Feb 2008 10:10:23 -0800
2008/2/19, Roland Schwingel <Roland Schwingel onevision com>:
Hi...
> When I tried to compile libxml on Windows along
with my application that is built with 'UNICODE' defined (i.e. as a Unicode
> application rather than as an "ANSI" application), I
came across a problem in xmlmodule.c.
>
>
> With UNICODE defined, LoadLibrary is resolved
to LoadLibraryW which expects to get 'const wchar_t*' rather than 'const
char*'.
> To avoid the problem, we have to use LoadLibraryA explicitly.
>
>
> Below is my trivial patch:
[...]
I agree that the explicitely stating
LoadLibraryA or LoadLibraryW would be best.
But IMHO LoadLibraryA would be a bad
idea. This would not allow to load modules
located in pathes containing unicode
characters.
IMHO interpreting the path as utf-8
and then converting it to wchar would be better
and then trying LoadLibraryW(). If the
path cannot be converted or LoadLibraryW()
fails a second attempt can be made using
the original argument of the xmlModulePlatformOpen
function passed to LoadLibraryA(). For
the utf-8 -> wchar thingy there is already code
in xmlIO.c doing these things it should
be recycled here.
Yeah, I thought about suggesting that, but didn't because it was not clear to me whether the argument is the full path or just a leaf filename. I have done exactly the same thing in another project and I fully agree with you that we'd better do it. It's not a perfect but a 'work-most-of-time' method (and, certainly better than just calling LoadLibraryA).
I'll make a new patch.
Jungshik
Roland
--
ÃÃÅÃrÃÃÅÃÃÃÃÄÃÅÃÅÃÃÃ ììì, çææ
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]