Unverified Commit 52d9a11c authored by Marcel Raad's avatar Marcel Raad
Browse files

memdebug: use send/recv signature for curl_dosend/curl_dorecv

This avoids build errors and warnings caused by implicit casts.

Closes https://github.com/curl/curl/pull/2031
parent 6089aa53
Loading
Loading
Loading
Loading
+13 −10
Original line number Original line Diff line number Diff line
@@ -356,29 +356,32 @@ curl_socket_t curl_socket(int domain, int type, int protocol,
  return sockfd;
  return sockfd;
}
}


ssize_t curl_dosend(int sockfd, const void *buf, size_t len, int flags,
SEND_TYPE_RETV curl_dosend(SEND_TYPE_ARG1 sockfd,
                    int line, const char *source)
                           SEND_QUAL_ARG2 SEND_TYPE_ARG2 buf,
                           SEND_TYPE_ARG3 len, SEND_TYPE_ARG4 flags, int line,
                           const char *source)
{
{
  ssize_t rc;
  SEND_TYPE_RETV rc;
  if(countcheck("send", line, source))
  if(countcheck("send", line, source))
    return -1;
    return -1;
  rc = send(sockfd, buf, len, flags);
  rc = send(sockfd, buf, len, flags);
  if(source)
  if(source)
    curl_memlog("SEND %s:%d send(%zu) = %zd\n",
    curl_memlog("SEND %s:%d send(%lu) = %ld\n",
                source, line, len, rc);
                source, line, (unsigned long)len, (long)rc);
  return rc;
  return rc;
}
}


ssize_t curl_dorecv(int sockfd, void *buf, size_t len, int flags,
RECV_TYPE_RETV curl_dorecv(RECV_TYPE_ARG1 sockfd, RECV_TYPE_ARG2 buf,
                    int line, const char *source)
                           RECV_TYPE_ARG3 len, RECV_TYPE_ARG4 flags, int line,
                           const char *source)
{
{
  ssize_t rc;
  RECV_TYPE_RETV rc;
  if(countcheck("recv", line, source))
  if(countcheck("recv", line, source))
    return -1;
    return -1;
  rc = recv(sockfd, buf, len, flags);
  rc = recv(sockfd, buf, len, flags);
  if(source)
  if(source)
    curl_memlog("RECV %s:%d recv(%zu) = %zd\n",
    curl_memlog("RECV %s:%d recv(%lu) = %ld\n",
                source, line, len, rc);
                source, line, (unsigned long)len, (long)rc);
  return rc;
  return rc;
}
}


+9 −4
Original line number Original line Diff line number Diff line
@@ -67,10 +67,15 @@ CURL_EXTERN int curl_socketpair(int domain, int type, int protocol,
#endif
#endif


/* send/receive sockets */
/* send/receive sockets */
CURL_EXTERN ssize_t curl_dosend(int sockfd, const void *buf, size_t len,
CURL_EXTERN SEND_TYPE_RETV curl_dosend(SEND_TYPE_ARG1 sockfd,
                                int flags, int line, const char *source);
                                       SEND_QUAL_ARG2 SEND_TYPE_ARG2 buf,
CURL_EXTERN ssize_t curl_dorecv(int sockfd, void *buf, size_t len, int flags,
                                       SEND_TYPE_ARG3 len,
                                int line, const char *source);
                                       SEND_TYPE_ARG4 flags, int line,
                                       const char *source);
CURL_EXTERN RECV_TYPE_RETV curl_dorecv(RECV_TYPE_ARG1 sockfd,
                                       RECV_TYPE_ARG2 buf, RECV_TYPE_ARG3 len,
                                       RECV_TYPE_ARG4 flags, int line,
                                       const char *source);


/* FILE functions */
/* FILE functions */
CURL_EXTERN FILE *curl_fopen(const char *file, const char *mode, int line,
CURL_EXTERN FILE *curl_fopen(const char *file, const char *mode, int line,