warnless: replace read()/write() wrapper functions with macros (Windows)

Map them to `_read()`/`_write()` (with underscore) to avoid recursive
mapping and to use the non-compatibility naming on Windows.

https://learn.microsoft.com/cpp/c-runtime-library/reference/read
https://learn.microsoft.com/cpp/c-runtime-library/reference/write

Follow-up to 6239146e93

Closes #17619
This commit is contained in:
Viktor Szakats 2025-06-14 12:43:20 +02:00
parent 924c7e15dc
commit 2f312a14da
No known key found for this signature in database
GPG Key ID: B5ABD165E2AEF201
2 changed files with 2 additions and 24 deletions

View File

@ -296,20 +296,6 @@ size_t curlx_sitouz(int sinum)
#endif
}
#ifdef _WIN32
ssize_t curlx_read(int fd, void *buf, size_t count)
{
return (ssize_t)read(fd, buf, curlx_uztoui(count));
}
ssize_t curlx_write(int fd, const void *buf, size_t count)
{
return (ssize_t)write(fd, buf, curlx_uztoui(count));
}
#endif /* _WIN32 */
/* Ensure that warnless.h redefinitions continue to have an effect
in "unity" builds. */
#undef HEADER_CURL_WARNLESS_H_REDEFS

View File

@ -57,14 +57,6 @@ unsigned short curlx_uitous(unsigned int uinum);
size_t curlx_sitouz(int sinum);
#ifdef _WIN32
ssize_t curlx_read(int fd, void *buf, size_t count);
ssize_t curlx_write(int fd, const void *buf, size_t count);
#endif /* _WIN32 */
#endif /* HEADER_CURL_WARNLESS_H */
#ifndef HEADER_CURL_WARNLESS_H_REDEFS
@ -72,9 +64,9 @@ ssize_t curlx_write(int fd, const void *buf, size_t count);
#ifdef _WIN32
#undef read
#define read(fd, buf, count) curlx_read(fd, buf, count)
#define read(fd, buf, count) (ssize_t)_read(fd, buf, curlx_uztoui(count))
#undef write
#define write(fd, buf, count) curlx_write(fd, buf, count)
#define write(fd, buf, count) (ssize_t)_write(fd, buf, curlx_uztoui(count))
#endif
#endif /* HEADER_CURL_WARNLESS_H_REDEFS */