solved by registering a WCHAR_T encoding handler for Windows.
On Fri, Jan 14, 2011 at 12:17 PM, Bevan Collins <[email protected]>wrote:
> Please tell me what I am doing wrong:
>
> #include <libxml/encoding.h>
> #include <wchar.h>
>
> int main()
> {
> xmlCharEncodingHandlerPtr utf16Enc = xmlFindCharEncodingHandler("UTF-16");
> wchar_t* url = L"http://atest.com";
> xmlBufferPtr in = xmlBufferCreateStatic(url, wcslen(url) * 2);
> xmlBufferPtr out = xmlBufferCreate();
>
> int rc = xmlCharEncInFunc(utf16Enc, out, in);
> printf("rc=%d url=%s\n", rc, (char*)out->content);
>
> xmlBufferFree(in);
> xmlBufferFree(out);
>
> return 0;
> }
>
> on Windows with version libxml2-2.7.7 I get:
> rc=16 url=http://atest.com
>
> on i386 Debian with version libxml2-2.7.8 I get:
> rc=16 url=h
>
> It looks like on Debian that it has simply copied the input buffer into the
> output buffer:
> url[0] = 'h'
> url[1] = '\0'
> url[2] = 't'
> ...
>
>
> Thanks.
>
_______________________________________________
xml mailing list, project page http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml