]> granicus.if.org Git - curl/commitdiff
warnless: add wrapper function for read and write on Windows
authorMarc Hoersken <info@marc-hoersken.de>
Sun, 16 Feb 2014 10:03:22 +0000 (11:03 +0100)
committerMarc Hoersken <info@marc-hoersken.de>
Sun, 16 Feb 2014 10:03:22 +0000 (11:03 +0100)
lib/warnless.c
lib/warnless.h
src/Makefile.inc

index 7a4b01eb6daba5f7cbb848af645c7fbbebd1cd9a..c14d05f09760985006615b25593f2009684fd8dd 100644 (file)
@@ -400,6 +400,20 @@ curl_socket_t curlx_sitosk(int i)
 
 #endif /* USE_WINSOCK */
 
+#if defined(WIN32) || defined(_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 || _WIN32 */
+
 #if defined(__INTEL_COMPILER) && defined(__unix__)
 
 int curlx_FD_ISSET(int fd, fd_set *fdset)
index f22f0bae4fef2917d4f575e1ca7db7ed2574818d..93195f6fe987db3d0923b73448b07fc92e445d19 100644 (file)
@@ -60,6 +60,21 @@ curl_socket_t curlx_sitosk(int i);
 
 #endif /* USE_WINSOCK */
 
+#if defined(WIN32) || defined(_WIN32)
+
+ssize_t curlx_read(int fd, void *buf, size_t count);
+
+ssize_t curlx_write(int fd, const void *buf, size_t count);
+
+#ifndef BUILDING_WARNLESS_C
+#  undef  read
+#  define read(fd, buf, count)  curlx_read(fd, buf, count)
+#  undef  write
+#  define write(fd, buf, count) curlx_write(fd, buf, count)
+#endif
+
+#endif /* WIN32 || _WIN32 */
+
 #if defined(__INTEL_COMPILER) && defined(__unix__)
 
 int curlx_FD_ISSET(int fd, fd_set *fdset);
index cd890accc7a1060ae259be217935a583f1546bfa..f6062e7c4d306ba0c8fdf53f5b4243431ebb8a36 100644 (file)
@@ -13,7 +13,8 @@ CURLX_ONES = \
        ../lib/strtoofft.c \
        ../lib/strdup.c \
        ../lib/rawstr.c \
-       ../lib/nonblock.c
+       ../lib/nonblock.c \
+       ../lib/warnless.c
 
 CURL_CFILES = \
        tool_binmode.c \