From a5aa2bdf348391ee79bcbd9f43166f4a7dd4ed52 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 14 May 2018 09:38:56 +0200 Subject: http2: use the correct function pointer typedef Fixes gcc-8 picky compiler warnings Reported-by: Rikard Falkeborn Bug: #2560 Closes #2568 --- lib/http.h | 8 ++------ lib/http2.c | 4 ++-- lib/urldata.h | 28 ++++++++++++++-------------- 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/lib/http.h b/lib/http.h index a5573c738..1d373e8f4 100644 --- a/lib/http.h +++ b/lib/http.h @@ -186,9 +186,6 @@ struct HTTP { #endif }; -typedef int (*sending)(void); /* Curl_send */ -typedef int (*recving)(void); /* Curl_recv */ - #ifdef USE_NGHTTP2 /* h2 settings for this connection */ struct h2settings { @@ -197,15 +194,14 @@ struct h2settings { }; #endif - struct http_conn { #ifdef USE_NGHTTP2 #define H2_BINSETTINGS_LEN 80 nghttp2_session *h2; uint8_t binsettings[H2_BINSETTINGS_LEN]; size_t binlen; /* length of the binsettings data */ - sending send_underlying; /* underlying send Curl_send callback */ - recving recv_underlying; /* underlying recv Curl_recv callback */ + Curl_send *send_underlying; /* underlying send Curl_send callback */ + Curl_recv *recv_underlying; /* underlying recv Curl_recv callback */ char *inbuf; /* buffer to receive data from underlying socket */ size_t inbuflen; /* number of bytes filled in inbuf */ size_t nread_inbuf; /* number of bytes read from in inbuf */ diff --git a/lib/http2.c b/lib/http2.c index 62b109293..ef93e6560 100644 --- a/lib/http2.c +++ b/lib/http2.c @@ -2141,8 +2141,8 @@ CURLcode Curl_http2_switched(struct connectdata *conn, if(result) return result; - httpc->recv_underlying = (recving)conn->recv[FIRSTSOCKET]; - httpc->send_underlying = (sending)conn->send[FIRSTSOCKET]; + httpc->recv_underlying = conn->recv[FIRSTSOCKET]; + httpc->send_underlying = conn->send[FIRSTSOCKET]; conn->recv[FIRSTSOCKET] = http2_recv; conn->send[FIRSTSOCKET] = http2_send; diff --git a/lib/urldata.h b/lib/urldata.h index db8113937..7fae00fd9 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -98,6 +98,20 @@ #include "hash.h" #include "splay.h" +/* return the count of bytes sent, or -1 on error */ +typedef ssize_t (Curl_send)(struct connectdata *conn, /* connection data */ + int sockindex, /* socketindex */ + const void *buf, /* data to write */ + size_t len, /* max amount to write */ + CURLcode *err); /* error to return */ + +/* return the count of bytes read, or -1 on error */ +typedef ssize_t (Curl_recv)(struct connectdata *conn, /* connection data */ + int sockindex, /* socketindex */ + char *buf, /* store data here */ + size_t len, /* max amount to read */ + CURLcode *err); /* error to return */ + #include "mime.h" #include "imap.h" #include "pop3.h" @@ -704,20 +718,6 @@ struct Curl_handler { #define CONNRESULT_NONE 0 /* No extra information. */ #define CONNRESULT_DEAD (1<<0) /* The connection is dead. */ -/* return the count of bytes sent, or -1 on error */ -typedef ssize_t (Curl_send)(struct connectdata *conn, /* connection data */ - int sockindex, /* socketindex */ - const void *buf, /* data to write */ - size_t len, /* max amount to write */ - CURLcode *err); /* error to return */ - -/* return the count of bytes read, or -1 on error */ -typedef ssize_t (Curl_recv)(struct connectdata *conn, /* connection data */ - int sockindex, /* socketindex */ - char *buf, /* store data here */ - size_t len, /* max amount to read */ - CURLcode *err); /* error to return */ - #ifdef USE_RECV_BEFORE_SEND_WORKAROUND struct postponed_data { char *buffer; /* Temporal store for received data during -- cgit v1.2.3