Hi Daniel, based on my recent discussion with Simon I've looked into the hackish macros he suggested, and tested with a small sample that these silent the compiler warnings with 64-bit; can you please take a look at the attached patch, and tell me if it looks ok, or if I missed something?
thanks, Gün.
--- gtls.c.orig 2009-08-30 03:36:01.000000000 +0200 +++ gtls.c 2009-10-18 18:56:39.000000000 +0200 @@ -58,6 +58,17 @@ /* The last #include file should be: */ #include "memdebug.h" +/* + Some hackish cast macros based on: + http://library.gnome.org/devel/glib/unstable/glib-Type-Conversion-Macros.html +*/ +#ifndef GNUTLS_POINTER_TO_INT_CAST +#define GNUTLS_POINTER_TO_INT_CAST(p) ((int) (long) (p)) +#endif +#ifndef GNUTLS_INT_TO_POINTER_CAST +#define GNUTLS_INT_TO_POINTER_CAST(i) ((void*) (long) (i)) +#endif + /* Enable GnuTLS debugging by defining GTLSDEBUG */ /*#define GTLSDEBUG */ @@ -78,12 +89,12 @@ */ static ssize_t Curl_gtls_push(void *s, const void *buf, size_t len) { - return swrite(s, buf, len); + return swrite(GNUTLS_POINTER_TO_INT_CAST(s), buf, len); } static ssize_t Curl_gtls_pull(void *s, void *buf, size_t len) { - return sread(s, buf, len); + return sread(GNUTLS_POINTER_TO_INT_CAST(s), buf, len); } /* Curl_gtls_init() @@ -381,7 +392,7 @@ /* set the connection handle (file descriptor for the socket) */ gnutls_transport_set_ptr(session, - (gnutls_transport_ptr)conn->sock[sockindex]); + GNUTLS_INT_TO_POINTER_CAST(conn->sock[sockindex])); /* register callback functions to send and receive data. */ gnutls_transport_set_push_function(session, Curl_gtls_push);
------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
