owncloud: Win32 use c_tmpname and set _fmode to O_BINARY.

This commit is contained in:
Klaas Freitag 2012-03-07 14:46:47 +01:00
parent 4f8c6729ff
commit 4c8fe93412

View file

@ -894,6 +894,15 @@ static csync_vio_method_handle_t *owncloud_open(const char *durl,
} }
#else #else
writeCtx->tmpFileName = c_strdup( "/tmp/csync.XXXXXX" ); 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 ); writeCtx->fd = mkstemp( writeCtx->tmpFileName );
#endif #endif
DEBUG_WEBDAV(("opening temp directory %s: %d\n", writeCtx->tmpFileName, writeCtx->fd )); DEBUG_WEBDAV(("opening temp directory %s: %d\n", writeCtx->tmpFileName, writeCtx->fd ));