owncloud: win32 use c_tmpname and set _fmode variable for binary mode.

This commit is contained in:
Klaas Freitag 2012-03-07 14:46:47 +01:00
parent fcb3aa6208
commit b6d908e16f

View file

@ -894,6 +894,15 @@ static csync_vio_method_handle_t *owncloud_open(const char *durl,
}
#else
writeCtx->tmpFileName = c_strdup( "/tmp/csync.XXXXXX" );
#ifdef _WIN32
if( c_tmpname( writeCtx->tmpFileName ) == 0 ) {
_fmode = _O_BINARY;
writeCtx->fd = open( writeCtx->tmpFileName, O_RDWR | O_CREAT | O_EXCL, 0600 );
} else {
writeCtx->fd = -1;
}
#else
writeCtx->fd = mkstemp( writeCtx->tmpFileName );
#endif
DEBUG_WEBDAV(("opening temp directory %s: %d\n", writeCtx->tmpFileName, writeCtx->fd ));