[Bug 24395] Issues making telepathy-gabble 0.8.3 work on windows

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Oct 28 17:33:11 CET 2009


http://bugs.freedesktop.org/show_bug.cgi?id=24395





--- Comment #18 from Simon McVittie <simon.mcvittie at collabora.co.uk>  2009-10-28 09:33:11 PST ---
Try this new snapshot (I've also updated the git branch):

http://people.collabora.co.uk/~smcv/telepathy-gabble-0.8.7+portability2.tar.gz

I believe this should include or obsolete all your portability changes, except
for the DNS-resolution stuff; please see how much of your patch you can delete
:-)

I believe you should be able to delete basically everything, except for:

* HEADER in the extra structs file
* possibly the EAI_* constants
* the res_query vs DnsQuery_A stuff

Regarding those, I strongly suspect that HEADER and the EAI_* constants will no
longer be required either, if you follow the principle of "think about the
purpose, not the implementation" - if you plug in the DnsQuery call at a
slightly higher level in the API, you shouldn't need these hacks.

PDNS_RECORD appears to be Windows' version of HEADER, and the DNS_STATUS
returned by DnsQuery_A is probably Windows' version of EAI_*, so if you're
careful about the scope of the #ifdef, you shouldn't need to define HEADER or
EAI_* at all.

Also, judging by the list of functions in MSDN, you probably want to be using
DnsQuery_UTF8 - GLib applications like Gabble generally expect all strings to
be UTF-8.

Please use #ifdef G_OS_WIN32 as I've been doing, not #ifdef WIN32.

(In reply to comment #12)
> Anyway the config.h generated by configure.ac for window should contain these
> definitons:
> /* WIN32 STUFF */
> #define HAVE_WINSOCK2_H
> #define HAVE_WS2TCPIP_H
> #define HAVE_DNSQUERY_A
> #define HAVE_WINDNS_H
> 
> /* ioctl */
> #define ioctl ioctlsocket
> #define fcntl ioctlsocket
> #define F_SETFL FIONBIO
> #define O_NONBLOCK 1
> #define EAFNOSUPPORT    WSAEAFNOSUPPORT
> #define EADDRINUSE              WSAEADDRINUSE

You should no longer need to do any of these (or the CMake equivalents).


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the telepathy-bugs mailing list