]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
pingpong: remove the 'conn' struct member
authorDaniel Stenberg <daniel@haxx.se>
Mon, 25 Jan 2021 16:23:33 +0000 (17:23 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 26 Jan 2021 09:12:59 +0000 (10:12 +0100)
... as it's superfluous now when Curl_easy is passed in and we can
derive the connection from that instead and avoid the duplicate copy.

Closes #6525

lib/ftp.c
lib/imap.c
lib/pingpong.c
lib/pingpong.h
lib/pop3.c
lib/smtp.c

index 69b3f35dfc4e7c3fade79d093b5795e179cfaa3f..c7162e152744fd4be5c51c9e52c46594a66920ae 100644 (file)
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -803,8 +803,7 @@ static int ftp_getsock(struct Curl_easy *data,
                        struct connectdata *conn,
                        curl_socket_t *socks)
 {
-  (void)data;
-  return Curl_pp_getsock(&conn->proto.ftpc.pp, socks);
+  return Curl_pp_getsock(data, &conn->proto.ftpc.pp, socks);
 }
 
 /* For the FTP "DO_MORE" phase only */
@@ -850,7 +849,7 @@ static int ftp_domore_getsock(struct Curl_easy *data,
 
     return bits;
   }
-  return Curl_pp_getsock(&conn->proto.ftpc.pp, socks);
+  return Curl_pp_getsock(data, &conn->proto.ftpc.pp, socks);
 }
 
 /* This is called after the FTP_QUOTE state is passed.
index a09a00c2128a37610131f309347c48d6b7ac232c..2d8069921c9596da4e648143e175fd2b7067fd42 100644 (file)
@@ -1411,8 +1411,7 @@ static int imap_getsock(struct Curl_easy *data,
                         struct connectdata *conn,
                         curl_socket_t *socks)
 {
-  (void)data;
-  return Curl_pp_getsock(&conn->proto.imapc.pp, socks);
+  return Curl_pp_getsock(data, &conn->proto.imapc.pp, socks);
 }
 
 /***********************************************************************
index 11d219125d65bbf5eaee99d36705105b4562836f..481173995f98c6a7926dee60a3fc403cb9126c61 100644 (file)
@@ -47,7 +47,7 @@
 timediff_t Curl_pp_state_timeout(struct Curl_easy *data,
                                  struct pingpong *pp, bool disconnecting)
 {
-  struct connectdata *conn = pp->conn;
+  struct connectdata *conn = data->conn;
   timediff_t timeout_ms; /* in milliseconds */
   timediff_t response_time = (data->set.server_response_timeout)?
     data->set.server_response_timeout: pp->response_time;
@@ -81,7 +81,7 @@ CURLcode Curl_pp_statemach(struct Curl_easy *data,
                            struct pingpong *pp, bool block,
                            bool disconnecting)
 {
-  struct connectdata *conn = pp->conn;
+  struct connectdata *conn = data->conn;
   curl_socket_t sock = conn->sock[FIRSTSOCKET];
   int rc;
   timediff_t interval_ms;
@@ -131,7 +131,7 @@ CURLcode Curl_pp_statemach(struct Curl_easy *data,
     result = CURLE_OUT_OF_MEMORY;
   }
   else if(rc)
-    result = pp->statemachine(data, pp->conn);
+    result = pp->statemachine(data, data->conn);
 
   return result;
 }
@@ -171,7 +171,7 @@ CURLcode Curl_pp_vsendf(struct Curl_easy *data,
   size_t write_len;
   char *s;
   CURLcode result;
-  struct connectdata *conn = pp->conn;
+  struct connectdata *conn = data->conn;
 
 #ifdef HAVE_GSSAPI
   enum protection_level data_sec;
@@ -274,7 +274,7 @@ CURLcode Curl_pp_readresp(struct Curl_easy *data,
   bool keepon = TRUE;
   ssize_t gotbytes;
   char *ptr;
-  struct connectdata *conn = pp->conn;
+  struct connectdata *conn = data->conn;
   char * const buf = data->state.buffer;
   CURLcode result = CURLE_OK;
 
@@ -455,9 +455,10 @@ CURLcode Curl_pp_readresp(struct Curl_easy *data,
   return result;
 }
 
-int Curl_pp_getsock(struct pingpong *pp, curl_socket_t *socks)
+int Curl_pp_getsock(struct Curl_easy *data,
+                    struct pingpong *pp, curl_socket_t *socks)
 {
-  struct connectdata *conn = pp->conn;
+  struct connectdata *conn = data->conn;
   socks[0] = conn->sock[FIRSTSOCKET];
 
   if(pp->sendleft) {
@@ -473,7 +474,7 @@ CURLcode Curl_pp_flushsend(struct Curl_easy *data,
                            struct pingpong *pp)
 {
   /* we have a piece of a command still left to send */
-  struct connectdata *conn = pp->conn;
+  struct connectdata *conn = data->conn;
   ssize_t written;
   curl_socket_t sock = conn->sock[FIRSTSOCKET];
   CURLcode result = Curl_write(data, sock, pp->sendthis + pp->sendsize -
index 9a0431b425e2145161a45bcbcab7f5636081b382..4f7d7ea6b949419b076eddef6a9f7a9bb7f74631 100644 (file)
@@ -62,7 +62,6 @@ struct pingpong {
                                off, used to time-out response reading */
   timediff_t response_time; /* When no timeout is given, this is the amount of
                                milliseconds we await for a server response. */
-  struct connectdata *conn; /* the connection */
   struct dynbuf sendbuf;
 
   /* Function pointers the protocols MUST implement and provide for the
@@ -78,7 +77,6 @@ struct pingpong {
     pp->response_time = RESP_TIMEOUT;            \
     pp->statemachine = s;                        \
     pp->endofresp = e;                           \
-    pp->conn = conn;                             \
   } while(0)
 
 /*
@@ -149,7 +147,8 @@ CURLcode Curl_pp_flushsend(struct Curl_easy *data,
 /* call this when a pingpong connection is disconnected */
 CURLcode Curl_pp_disconnect(struct pingpong *pp);
 
-int Curl_pp_getsock(struct pingpong *pp, curl_socket_t *socks);
+int Curl_pp_getsock(struct Curl_easy *data, struct pingpong *pp,
+                    curl_socket_t *socks);
 
 
 /***********************************************************************
index 0110f85620daeb2cc297ab6b2b6da7263e3b4887..0ed3d3ee18da687a7c4911c446c865d95d33bf34 100644 (file)
@@ -1072,8 +1072,7 @@ static CURLcode pop3_init(struct Curl_easy *data)
 static int pop3_getsock(struct Curl_easy *data,
                         struct connectdata *conn, curl_socket_t *socks)
 {
-  (void)data;
-  return Curl_pp_getsock(&conn->proto.pop3c.pp, socks);
+  return Curl_pp_getsock(data, &conn->proto.pop3c.pp, socks);
 }
 
 /***********************************************************************
index 99a7d93876541b608d11ae31debdcc2e95fa14ce..1fc880065a78050e106294e6d97ee7aa4d1708e5 100644 (file)
@@ -1299,8 +1299,7 @@ static CURLcode smtp_init(struct Curl_easy *data)
 static int smtp_getsock(struct Curl_easy *data,
                         struct connectdata *conn, curl_socket_t *socks)
 {
-  (void)data;
-  return Curl_pp_getsock(&conn->proto.smtpc.pp, socks);
+  return Curl_pp_getsock(data, &conn->proto.smtpc.pp, socks);
 }
 
 /***********************************************************************