1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-24 17:18:48 -05:00

http2: use the correct function pointer typedef

Fixes gcc-8 picky compiler warnings
Reported-by: Rikard Falkeborn
Bug: #2560
Closes #2568
This commit is contained in:
Daniel Stenberg 2018-05-14 09:38:56 +02:00
parent 07b9826541
commit a5aa2bdf34
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
3 changed files with 18 additions and 22 deletions

View File

@ -186,9 +186,6 @@ struct HTTP {
#endif #endif
}; };
typedef int (*sending)(void); /* Curl_send */
typedef int (*recving)(void); /* Curl_recv */
#ifdef USE_NGHTTP2 #ifdef USE_NGHTTP2
/* h2 settings for this connection */ /* h2 settings for this connection */
struct h2settings { struct h2settings {
@ -197,15 +194,14 @@ struct h2settings {
}; };
#endif #endif
struct http_conn { struct http_conn {
#ifdef USE_NGHTTP2 #ifdef USE_NGHTTP2
#define H2_BINSETTINGS_LEN 80 #define H2_BINSETTINGS_LEN 80
nghttp2_session *h2; nghttp2_session *h2;
uint8_t binsettings[H2_BINSETTINGS_LEN]; uint8_t binsettings[H2_BINSETTINGS_LEN];
size_t binlen; /* length of the binsettings data */ size_t binlen; /* length of the binsettings data */
sending send_underlying; /* underlying send Curl_send callback */ Curl_send *send_underlying; /* underlying send Curl_send callback */
recving recv_underlying; /* underlying recv Curl_recv callback */ Curl_recv *recv_underlying; /* underlying recv Curl_recv callback */
char *inbuf; /* buffer to receive data from underlying socket */ char *inbuf; /* buffer to receive data from underlying socket */
size_t inbuflen; /* number of bytes filled in inbuf */ size_t inbuflen; /* number of bytes filled in inbuf */
size_t nread_inbuf; /* number of bytes read from in inbuf */ size_t nread_inbuf; /* number of bytes read from in inbuf */

View File

@ -2141,8 +2141,8 @@ CURLcode Curl_http2_switched(struct connectdata *conn,
if(result) if(result)
return result; return result;
httpc->recv_underlying = (recving)conn->recv[FIRSTSOCKET]; httpc->recv_underlying = conn->recv[FIRSTSOCKET];
httpc->send_underlying = (sending)conn->send[FIRSTSOCKET]; httpc->send_underlying = conn->send[FIRSTSOCKET];
conn->recv[FIRSTSOCKET] = http2_recv; conn->recv[FIRSTSOCKET] = http2_recv;
conn->send[FIRSTSOCKET] = http2_send; conn->send[FIRSTSOCKET] = http2_send;

View File

@ -98,6 +98,20 @@
#include "hash.h" #include "hash.h"
#include "splay.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 "mime.h"
#include "imap.h" #include "imap.h"
#include "pop3.h" #include "pop3.h"
@ -704,20 +718,6 @@ struct Curl_handler {
#define CONNRESULT_NONE 0 /* No extra information. */ #define CONNRESULT_NONE 0 /* No extra information. */
#define CONNRESULT_DEAD (1<<0) /* The connection is dead. */ #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 #ifdef USE_RECV_BEFORE_SEND_WORKAROUND
struct postponed_data { struct postponed_data {
char *buffer; /* Temporal store for received data during char *buffer; /* Temporal store for received data during