RETURN_ERROR_IF(dry_run, 0);
RETURN_ERROR_IF(read_only, EROFS);
-#if defined(HAVE_SECURE_MKSTEMP) && defined(HAVE_FCHMOD)
+#if HAVE_SECURE_MKSTEMP && HAVE_FCHMOD && (!HAVE_OPEN64 || HAVE_MKSTEMP64)
{
int fd = mkstemp(template);
if (fd == -1)
errno = errno_save;
return -1;
}
+#if HAVE_SETMODE && O_BINARY
+ setmode(fd, O_BINARY);
+#endif
return fd;
}
#else