diff options
Diffstat (limited to 'otherlibs/win32unix')
-rw-r--r-- | otherlibs/win32unix/pipe.c | 3 | ||||
-rw-r--r-- | otherlibs/win32unix/stat.c | 4 | ||||
-rw-r--r-- | otherlibs/win32unix/unixsupport.c | 1 |
3 files changed, 3 insertions, 5 deletions
diff --git a/otherlibs/win32unix/pipe.c b/otherlibs/win32unix/pipe.c index 67e381298..afacd3e17 100644 --- a/otherlibs/win32unix/pipe.c +++ b/otherlibs/win32unix/pipe.c @@ -19,7 +19,8 @@ #include "unixsupport.h" #include <fcntl.h> -#define SIZEBUF 1024 +/* PR#4749: pick a size that matches that of I/O buffers */ +#define SIZEBUF 4096 CAMLprim value unix_pipe(value unit) { diff --git a/otherlibs/win32unix/stat.c b/otherlibs/win32unix/stat.c index 313882a52..79fc3b2eb 100644 --- a/otherlibs/win32unix/stat.c +++ b/otherlibs/win32unix/stat.c @@ -107,9 +107,5 @@ CAMLprim value unix_fstat_64(value handle) ret = _fstati64(win_CRT_fd_of_filedescr(handle), &buf); if (ret == -1) uerror("fstat", Nothing); - if (buf.st_size > Max_long) { - win32_maperr(ERROR_ARITHMETIC_OVERFLOW); - uerror("fstat", Nothing); - } return stat_aux(1, &buf); } diff --git a/otherlibs/win32unix/unixsupport.c b/otherlibs/win32unix/unixsupport.c index b7d4ad92d..24c4a9e45 100644 --- a/otherlibs/win32unix/unixsupport.c +++ b/otherlibs/win32unix/unixsupport.c @@ -108,6 +108,7 @@ static struct error_entry win_error_table[] = { { ERROR_NO_PROC_SLOTS, 0, EAGAIN}, { ERROR_DRIVE_LOCKED, 0, EACCES}, { ERROR_BROKEN_PIPE, 0, EPIPE}, + { ERROR_NO_DATA, 0, EPIPE}, { ERROR_DISK_FULL, 0, ENOSPC}, { ERROR_INVALID_TARGET_HANDLE, 0, EBADF}, { ERROR_INVALID_HANDLE, 0, EINVAL}, |