From: Viktor Szakats Date: Tue, 11 Mar 2025 18:29:14 +0000 (+0100) Subject: tests/server: do not redefine standard functions in `sockfilt` X-Git-Tag: curl-8_13_0~150 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2283e40fc32327365e1e25ff5e5e0349a543b3f3;p=thirdparty%2Fcurl.git tests/server: do not redefine standard functions in `sockfilt` Use a namespaced macro instead. To avoid confusion when other headers also redefine these functions. And to improve readability by making it apparent that the code sometimes overrides these functions. Cherry-picked from #15000 Closes #16698 --- diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c index 4afac7f3f2..6fb8a4d18c 100644 --- a/tests/server/sockfilt.c +++ b/tests/server/sockfilt.c @@ -159,8 +159,6 @@ static ssize_t read_wincon(int fd, void *buf, size_t count) CURL_SETERRNO((int)GetLastError()); return -1; } -#undef read -#define read(a,b,c) read_wincon(a,b,c) /* * write-wrapper to support writing to stdout and stderr on Windows. @@ -194,8 +192,11 @@ static ssize_t write_wincon(int fd, const void *buf, size_t count) CURL_SETERRNO((int)GetLastError()); return -1; } -#undef write -#define write(a,b,c) write_wincon(a,b,c) +#define SOCKFILT_read read_wincon +#define SOCKFILT_write write_wincon +#else +#define SOCKFILT_read read +#define SOCKFILT_write write #endif #ifndef UNDER_CE @@ -217,8 +218,9 @@ static ssize_t fullread(int filedes, void *buffer, size_t nbytes) ssize_t nread = 0; do { - ssize_t rc = read(filedes, - (unsigned char *)buffer + nread, nbytes - nread); + ssize_t rc = SOCKFILT_read(filedes, + (unsigned char *)buffer + nread, + nbytes - nread); if(got_exit_signal) { logmsg("signalled to die"); @@ -269,8 +271,9 @@ static ssize_t fullwrite(int filedes, const void *buffer, size_t nbytes) ssize_t nwrite = 0; do { - ssize_t wc = write(filedes, (const unsigned char *)buffer + nwrite, - nbytes - nwrite); + ssize_t wc = SOCKFILT_write(filedes, + (const unsigned char *)buffer + nwrite, + nbytes - nwrite); if(got_exit_signal) { logmsg("signalled to die"); @@ -875,7 +878,9 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds, return ret; } -#define select(a,b,c,d,e) select_ws(a,b,c,d,e) +#define SOCKFILT_select(a,b,c,d,e) select_ws(a,b,c,d,e) +#else +#define SOCKFILT_select(a,b,c,d,e) select(a,b,c,d,e) #endif /* USE_WINSOCK */ @@ -1069,7 +1074,7 @@ static bool juggle(curl_socket_t *sockfdp, /* select() blocking behavior call on blocking descriptors please */ - rc = select(maxfd + 1, &fds_read, &fds_write, &fds_err, &timeout); + rc = SOCKFILT_select(maxfd + 1, &fds_read, &fds_write, &fds_err, &timeout); if(got_exit_signal) { logmsg("signalled to die, exiting...");