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 26221653ee
commit d50f39c8b8

View file

@ -964,6 +964,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", writeCtx->tmpFileName, writeCtx->fd ); DEBUG_WEBDAV("opening temp directory %s: %d", writeCtx->tmpFileName, writeCtx->fd );