{
#if HAVE_DUP3
# undef dup3
+# if HAVE_SETDTABLESIZE
+ /* Avoid a cygwin crasher. */
+ setdtablesize (newfd + 1);
+# endif
/* Try the system call first, if it exists. (We may be running with a glibc
that has the function but with an older kernel that lacks it.) */
{
#if O_BINARY
if (flags & O_BINARY)
- setmode (newfd, O_BINARY);
+ set_binary_mode (newfd, O_BINARY);
else if (flags & O_TEXT)
- setmode (newfd, O_TEXT);
+ set_binary_mode (newfd, O_TEXT);
#endif
return newfd;