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
This commit is contained in:
Marcel Raad 2017-10-27 10:10:30 +02:00
parent 6089aa53e4
commit 52d9a11c1c
No known key found for this signature in database
GPG Key ID: 33C416EFAE4D6F02
2 changed files with 22 additions and 14 deletions

View File

@ -356,29 +356,32 @@ curl_socket_t curl_socket(int domain, int type, int protocol,
return sockfd;
}
ssize_t curl_dosend(int sockfd, const void *buf, size_t len, int flags,
int line, const char *source)
SEND_TYPE_RETV curl_dosend(SEND_TYPE_ARG1 sockfd,
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))
return -1;
rc = send(sockfd, buf, len, flags);
if(source)
curl_memlog("SEND %s:%d send(%zu) = %zd\n",
source, line, len, rc);
curl_memlog("SEND %s:%d send(%lu) = %ld\n",
source, line, (unsigned long)len, (long)rc);
return rc;
}
ssize_t curl_dorecv(int sockfd, void *buf, size_t len, int flags,
int line, const char *source)
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)
{
ssize_t rc;
RECV_TYPE_RETV rc;
if(countcheck("recv", line, source))
return -1;
rc = recv(sockfd, buf, len, flags);
if(source)
curl_memlog("RECV %s:%d recv(%zu) = %zd\n",
source, line, len, rc);
curl_memlog("RECV %s:%d recv(%lu) = %ld\n",
source, line, (unsigned long)len, (long)rc);
return rc;
}

View File

@ -67,10 +67,15 @@ CURL_EXTERN int curl_socketpair(int domain, int type, int protocol,
#endif
/* send/receive sockets */
CURL_EXTERN ssize_t curl_dosend(int sockfd, const void *buf, size_t len,
int flags, int line, const char *source);
CURL_EXTERN ssize_t curl_dorecv(int sockfd, void *buf, size_t len, int flags,
int line, const char *source);
CURL_EXTERN SEND_TYPE_RETV curl_dosend(SEND_TYPE_ARG1 sockfd,
SEND_QUAL_ARG2 SEND_TYPE_ARG2 buf,
SEND_TYPE_ARG3 len,
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 */
CURL_EXTERN FILE *curl_fopen(const char *file, const char *mode, int line,