# HG changeset patch # User John Bailey # Date 1266798975 0 # Node ID db6735e579f8b2e4545c3fcba55ebe5f9ee1cdf9 # Parent 6359fde67f4cf938d460eaf078e43a99f315d634 Partially fix libgadu build on Win32. Refs #10542. I'm still not sure how to handle all the stuff in resolver.c for DNS resolution. I couldn't quite see how to reconcile our earlier stuff with this new code. Hopefully a more skilled Win32 developer can finish this. diff -r 6359fde67f4c -r db6735e579f8 libpurple/protocols/gg/lib/common.c --- a/libpurple/protocols/gg/lib/common.c Sun Feb 21 16:52:42 2010 +0000 +++ b/libpurple/protocols/gg/lib/common.c Mon Feb 22 00:36:15 2010 +0000 @@ -47,27 +47,34 @@ * * \brief Funkcje wykorzystywane przez różne moduły biblioteki */ -#include -#include -#include -#include -#include -#ifdef sun -# include + +#include "libgadu.h" +#include "libgadu-internal.h" + +#ifndef _WIN32 +# include +# include +# include +# include +# include +# ifdef sun +# include +# endif #endif #include #include -#include + +#ifndef _WIN32 +# include +#endif + #include #include #include #include #include -#include "libgadu.h" -#include "libgadu-internal.h" - /** * Plik, do którego będą przekazywane informacje odpluskwiania. * diff -r 6359fde67f4c -r db6735e579f8 libpurple/protocols/gg/lib/dcc.c --- a/libpurple/protocols/gg/lib/dcc.c Sun Feb 21 16:52:42 2010 +0000 +++ b/libpurple/protocols/gg/lib/dcc.c Mon Feb 22 00:36:15 2010 +0000 @@ -25,15 +25,19 @@ * * \brief Obsługa połączeń bezpośrednich do wersji Gadu-Gadu 6.x */ +#include "libgadu.h" #include #include -#include -#include -#include -#include -#ifdef sun -# include + +#ifndef _WIN32 +# include +# include +# include +# include +# ifdef sun +# include +# endif #endif #include @@ -46,7 +50,6 @@ #include #include "compat.h" -#include "libgadu.h" #ifndef GG_DEBUG_DISABLE diff -r 6359fde67f4c -r db6735e579f8 libpurple/protocols/gg/lib/dcc7.c --- a/libpurple/protocols/gg/lib/dcc7.c Sun Feb 21 16:52:42 2010 +0000 +++ b/libpurple/protocols/gg/lib/dcc7.c Mon Feb 22 00:36:15 2010 +0000 @@ -28,15 +28,21 @@ * \brief Obsługa połączeń bezpośrednich od wersji Gadu-Gadu 7.x */ +#include "libgadu.h" + #include #include -#include -#include -#include -#include -#ifdef sun -# include + +#ifndef _WIN32 +# include +# include +# include +# include +# ifdef sun +# include +# endif #endif + #include #include @@ -49,7 +55,6 @@ #include #include "compat.h" -#include "libgadu.h" #define gg_debug_dcc(dcc, fmt...) \ gg_debug_session((dcc) ? (dcc)->sess : NULL, fmt) @@ -942,7 +947,7 @@ { struct sockaddr_in sin; int fd, one = 1; - unsigned int sin_len = sizeof(sin); + socklen_t sin_len = sizeof(sin); gg_debug_dcc(dcc, GG_DEBUG_MISC, "// gg_dcc7_watch_fd() GG_STATE_LISTENING\n"); diff -r 6359fde67f4c -r db6735e579f8 libpurple/protocols/gg/lib/events.c --- a/libpurple/protocols/gg/lib/events.c Sun Feb 21 16:52:42 2010 +0000 +++ b/libpurple/protocols/gg/lib/events.c Mon Feb 22 00:36:15 2010 +0000 @@ -27,16 +27,20 @@ * \brief Obsługa zdarzeń */ +#include "libgadu.h" +#include "libgadu-internal.h" + #include -#include -#include -#include -#include + +#ifndef _WIN32 +# include +# include +# include +# include +#endif #include "compat.h" -#include "libgadu.h" #include "protocol.h" -#include "libgadu-internal.h" #include #include @@ -1534,7 +1538,7 @@ { char buf[1024], *client, *auth; int res = 0; - unsigned int res_size = sizeof(res); + socklen_t res_size = sizeof(res); const char *host; gg_debug_session(sess, GG_DEBUG_MISC, "// gg_watch_fd() GG_STATE_CONNECTING_HUB\n"); @@ -1752,7 +1756,7 @@ case GG_STATE_CONNECTING_GG: { int res = 0; - unsigned int res_size = sizeof(res); + socklen_t res_size = sizeof(res); gg_debug_session(sess, GG_DEBUG_MISC, "// gg_watch_fd() GG_STATE_CONNECTING_GG\n"); @@ -2054,7 +2058,7 @@ if (gg_dcc_ip == (unsigned long) inet_addr("255.255.255.255")) { struct sockaddr_in sin; - unsigned int sin_len = sizeof(sin); + socklen_t sin_len = sizeof(sin); gg_debug_session(sess, GG_DEBUG_MISC, "// gg_watch_fd() detecting address\n"); diff -r 6359fde67f4c -r db6735e579f8 libpurple/protocols/gg/lib/http.c --- a/libpurple/protocols/gg/lib/http.c Sun Feb 21 16:52:42 2010 +0000 +++ b/libpurple/protocols/gg/lib/http.c Mon Feb 22 00:36:15 2010 +0000 @@ -24,18 +24,26 @@ * \brief Obsługa połączeń HTTP */ +#include "libgadu.h" + #include -#include -#include -#include + +#ifndef _WIN32 +# include +# include +# include +#endif #include "compat.h" -#include "libgadu.h" #include "resolver.h" #include #include -#include + +#ifndef _WIN32 +# include +#endif + #include #include #include @@ -230,7 +238,7 @@ if (h->state == GG_STATE_CONNECTING) { int res = 0; - unsigned int res_size = sizeof(res); + socklen_t res_size = sizeof(res); if (h->async && (getsockopt(h->fd, SOL_SOCKET, SO_ERROR, &res, &res_size) || res)) { gg_debug(GG_DEBUG_MISC, "=> http, async connection failed (errno=%d, %s)\n", (res) ? res : errno , strerror((res) ? res : errno)); @@ -249,7 +257,7 @@ } if (h->state == GG_STATE_SENDING_QUERY) { - int res; + ssize_t res; if ((res = write(h->fd, h->query, strlen(h->query))) < 1) { gg_debug(GG_DEBUG_MISC, "=> http, write() failed (len=%d, res=%d, errno=%d)\n", strlen(h->query), res, errno); diff -r 6359fde67f4c -r db6735e579f8 libpurple/protocols/gg/lib/libgadu.c --- a/libpurple/protocols/gg/lib/libgadu.c Sun Feb 21 16:52:42 2010 +0000 +++ b/libpurple/protocols/gg/lib/libgadu.c Mon Feb 22 00:36:15 2010 +0000 @@ -28,22 +28,34 @@ * \brief Główny moduł biblioteki */ +#include "libgadu.h" +#include "libgadu-internal.h" + #include -#include -#include -#include -#ifdef sun -# include + +#ifdef _WIN32 +# include +# include +# include +# define SHUT_RDWR SD_BOTH +#else +# include +# include +# include +# ifdef sun +# include +# endif #endif #include "compat.h" -#include "libgadu.h" #include "protocol.h" #include "resolver.h" -#include "libgadu-internal.h" -#include -#include +#ifndef _WIN32 +# include /* on Win32 this is included above */ +# include +#endif + #include #include #include diff -r 6359fde67f4c -r db6735e579f8 libpurple/protocols/gg/lib/pubdir.c --- a/libpurple/protocols/gg/lib/pubdir.c Sun Feb 21 16:52:42 2010 +0000 +++ b/libpurple/protocols/gg/lib/pubdir.c Mon Feb 22 00:36:15 2010 +0000 @@ -26,6 +26,9 @@ * \brief Obsługa katalogu publicznego */ +#include "libgadu.h" +#include "libgadu-config.h" + #include #include #include @@ -34,8 +37,6 @@ #include #include -#include "libgadu.h" - /** * Rejestruje nowego użytkownika. * diff -r 6359fde67f4c -r db6735e579f8 libpurple/protocols/gg/lib/resolver.c --- a/libpurple/protocols/gg/lib/resolver.c Sun Feb 21 16:52:42 2010 +0000 +++ b/libpurple/protocols/gg/lib/resolver.c Mon Feb 22 00:36:15 2010 +0000 @@ -28,15 +28,18 @@ * \brief Funkcje rozwiązywania nazw */ -#include -#include +#ifndef _WIN32 +# include +# include +# include +# include +# include +#endif + #include #include #include #include -#include -#include -#include #include "libgadu.h" #include "resolver.h" diff -r 6359fde67f4c -r db6735e579f8 libpurple/protocols/gg/lib/resolver.h --- a/libpurple/protocols/gg/lib/resolver.h Sun Feb 21 16:52:42 2010 +0000 +++ b/libpurple/protocols/gg/lib/resolver.h Mon Feb 22 00:36:15 2010 +0000 @@ -21,7 +21,9 @@ #ifndef LIBGADU_RESOLVER_H #define LIBGADU_RESOLVER_H -#include +#ifndef _WIN32 +# include +#endif int gg_gethostbyname_real(const char *hostname, struct in_addr *result, int pthread);