Mercurial > pidgin
changeset 29539:db6735e579f8
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.
author | John Bailey <rekkanoryo@rekkanoryo.org> |
---|---|
date | Mon, 22 Feb 2010 00:36:15 +0000 |
parents | 6359fde67f4c |
children | c0d337670835 |
files | libpurple/protocols/gg/lib/common.c libpurple/protocols/gg/lib/dcc.c libpurple/protocols/gg/lib/dcc7.c libpurple/protocols/gg/lib/events.c libpurple/protocols/gg/lib/http.c libpurple/protocols/gg/lib/libgadu.c libpurple/protocols/gg/lib/pubdir.c libpurple/protocols/gg/lib/resolver.c libpurple/protocols/gg/lib/resolver.h |
diffstat | 9 files changed, 104 insertions(+), 59 deletions(-) [+] |
line wrap: on
line diff
--- 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 <sys/types.h> -#include <sys/ioctl.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#ifdef sun -# include <sys/filio.h> + +#include "libgadu.h" +#include "libgadu-internal.h" + +#ifndef _WIN32 +# include <sys/types.h> +# include <sys/ioctl.h> +# include <sys/socket.h> +# include <netinet/in.h> +# include <arpa/inet.h> +# ifdef sun +# include <sys/filio.h> +# endif #endif #include <errno.h> #include <fcntl.h> -#include <netdb.h> + +#ifndef _WIN32 +# include <netdb.h> +#endif + #include <stdarg.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> -#include "libgadu.h" -#include "libgadu-internal.h" - /** * Plik, do którego będą przekazywane informacje odpluskwiania. *
--- 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 <sys/types.h> #include <sys/stat.h> -#include <sys/ioctl.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#ifdef sun -# include <sys/filio.h> + +#ifndef _WIN32 +# include <sys/ioctl.h> +# include <sys/socket.h> +# include <netinet/in.h> +# include <arpa/inet.h> +# ifdef sun +# include <sys/filio.h> +# endif #endif #include <ctype.h> @@ -46,7 +50,6 @@ #include <unistd.h> #include "compat.h" -#include "libgadu.h" #ifndef GG_DEBUG_DISABLE
--- 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 <sys/types.h> #include <sys/stat.h> -#include <sys/ioctl.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#ifdef sun -# include <sys/filio.h> + +#ifndef _WIN32 +# include <sys/ioctl.h> +# include <sys/socket.h> +# include <netinet/in.h> +# include <arpa/inet.h> +# ifdef sun +# include <sys/filio.h> +# endif #endif + #include <time.h> #include <ctype.h> @@ -49,7 +55,6 @@ #include <unistd.h> #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");
--- 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 <sys/types.h> -#include <sys/ioctl.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> + +#ifndef _WIN32 +# include <sys/ioctl.h> +# include <sys/socket.h> +# include <netinet/in.h> +# include <arpa/inet.h> +#endif #include "compat.h" -#include "libgadu.h" #include "protocol.h" -#include "libgadu-internal.h" #include <errno.h> #include <stdio.h> @@ -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");
--- 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 <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> + +#ifndef _WIN32 +# include <sys/socket.h> +# include <netinet/in.h> +# include <arpa/inet.h> +#endif #include "compat.h" -#include "libgadu.h" #include "resolver.h" #include <ctype.h> #include <errno.h> -#include <netdb.h> + +#ifndef _WIN32 +# include <netdb.h> +#endif + #include <signal.h> #include <stdarg.h> #include <stdio.h> @@ -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);
--- 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 <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#ifdef sun -# include <sys/filio.h> + +#ifdef _WIN32 +# include <io.h> +# include <fcntl.h> +# include <errno.h> +# define SHUT_RDWR SD_BOTH +#else +# include <sys/socket.h> +# include <netinet/in.h> +# include <arpa/inet.h> +# ifdef sun +# include <sys/filio.h> +# endif #endif #include "compat.h" -#include "libgadu.h" #include "protocol.h" #include "resolver.h" -#include "libgadu-internal.h" -#include <errno.h> -#include <netdb.h> +#ifndef _WIN32 +# include <errno.h> /* on Win32 this is included above */ +# include <netdb.h> +#endif + #include <stdarg.h> #include <stdio.h> #include <stdlib.h>
--- 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 <ctype.h> #include <errno.h> #include <stdarg.h> @@ -34,8 +37,6 @@ #include <string.h> #include <unistd.h> -#include "libgadu.h" - /** * Rejestruje nowego użytkownika. *
--- 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 <sys/wait.h> -#include <netdb.h> +#ifndef _WIN32 +# include <sys/wait.h> +# include <netdb.h> +# include <signal.h> +# include <netinet/in.h> +# include <arpa/inet.h> +#endif + #include <errno.h> #include <stdlib.h> #include <string.h> #include <unistd.h> -#include <signal.h> -#include <netinet/in.h> -#include <arpa/inet.h> #include "libgadu.h" #include "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 <arpa/inet.h> +#ifndef _WIN32 +# include <arpa/inet.h> +#endif int gg_gethostbyname_real(const char *hostname, struct in_addr *result, int pthread);