Commit 3da1ade4 authored by Guenter Knauf's avatar Guenter Knauf
Browse files

added cast macros to silent compiler warnings with 64-bit systems.

parent ff40c83a
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -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 bool gtls_inited = FALSE;
 */
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 @@ Curl_gtls_connect(struct connectdata *conn,

  /* 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);