From e061f90a77f43a7f32a0f5df3768650cfab9b748 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Wed, 28 Feb 2018 10:48:41 +0100 Subject: Clean up Desktop::CreateTemporaryDirectory ...avoiding the confusing, and apparently unnecessary back-and-forth between system path and file URL. (Superseding "Don't overwrite system temppath with old one that failed already".) Change-Id: I247982a40d54565f5c98bda9a36209cba83c5c9f Reviewed-on: https://gerrit.libreoffice.org/50494 Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- desktop/source/app/appinit.cxx | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/desktop/source/app/appinit.cxx b/desktop/source/app/appinit.cxx index 826c525eb6c1..2aec3928ad87 100644 --- a/desktop/source/app/appinit.cxx +++ b/desktop/source/app/appinit.cxx @@ -252,26 +252,19 @@ void Desktop::CreateTemporaryDirectory() if ( aTempBaseURL.endsWith( "/" ) ) aTempBaseURL = aTempBaseURL.copy( 0, aTempBaseURL.getLength() - 1 ); - OUString aRet; - OUString aTempPath( aTempBaseURL ); - // create new current temporary directory - osl::FileBase::getSystemPathFromFileURL( aTempBaseURL, aRet ); - ::osl::FileBase::getFileURLFromSystemPath( aRet, aTempPath ); - aTempPath = ::utl::TempFile::SetTempNameBaseDirectory( aTempPath ); - if ( aTempPath.isEmpty() ) + OUString aTempPath = ::utl::TempFile::SetTempNameBaseDirectory( aTempBaseURL ); + if ( aTempPath.isEmpty() + && ::osl::File::getTempDirURL( aTempBaseURL ) == osl::FileBase::E_None ) { - ::osl::File::getTempDirURL( aTempBaseURL ); - if ( aTempBaseURL.endsWith( "/" ) ) aTempBaseURL = aTempBaseURL.copy( 0, aTempBaseURL.getLength() - 1 ); - aTempPath = aTempBaseURL; - ::osl::FileBase::getFileURLFromSystemPath( aRet, aTempPath ); - aTempPath = ::utl::TempFile::SetTempNameBaseDirectory( aTempPath ); + aTempPath = ::utl::TempFile::SetTempNameBaseDirectory( aTempBaseURL ); } // set new current temporary directory + OUString aRet; if (osl::FileBase::getFileURLFromSystemPath( aTempPath, aRet ) != osl::FileBase::E_None) { -- cgit