X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/7a27e9b599a48f4b0ab6e6ade69a99a120c042fe..3267d6a9ceeefad438080b17c02daa7775820803:/syscall.c diff --git a/syscall.c b/syscall.c index 95646a3b..600d91c4 100644 --- a/syscall.c +++ b/syscall.c @@ -152,7 +152,7 @@ int do_mkstemp(char *template, mode_t perms) 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) @@ -164,6 +164,9 @@ int do_mkstemp(char *template, mode_t perms) errno = errno_save; return -1; } +#if HAVE_SETMODE && O_BINARY + setmode(fd, O_BINARY); +#endif return fd; } #else