From 5fb407cffebb8ec0cc50cb3e96e1bebf79ad1bc0 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Fri, 26 Jun 2020 01:18:40 +0200 Subject: Linux/MacOSX: use standard std::shared_ptr instead of our custom implementation which is kept for compatibility with older compilers. We also introduce compatibility code for old compilers that don't define std::unique_ptr --- src/Core/CoreBase.cpp | 6 +++++- src/Core/Unix/CoreService.cpp | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'src/Core') diff --git a/src/Core/CoreBase.cpp b/src/Core/CoreBase.cpp index 01d3981a..29bfb74d 100644 --- a/src/Core/CoreBase.cpp +++ b/src/Core/CoreBase.cpp @@ -254,7 +254,11 @@ namespace VeraCrypt bool CoreBase::IsVolumeMounted (const VolumePath &volumePath) const { - return GetMountedVolume (volumePath); + shared_ptr mountedVolume = GetMountedVolume (volumePath); + if (mountedVolume) + return true; + else + return false; } shared_ptr CoreBase::OpenVolume (shared_ptr volumePath, bool preserveTimestamps, shared_ptr password, int pim, shared_ptr kdf, bool truecryptMode, shared_ptr keyfiles, VolumeProtection::Enum protection, shared_ptr protectionPassword, int protectionPim, shared_ptr protectionKdf, shared_ptr protectionKeyfiles, bool sharedAccessAllowed, VolumeType::Enum volumeType, bool useBackupHeaders, bool partitionInSystemEncryptionScope) const diff --git a/src/Core/Unix/CoreService.cpp b/src/Core/Unix/CoreService.cpp index 41cc5ec9..b129eff0 100644 --- a/src/Core/Unix/CoreService.cpp +++ b/src/Core/Unix/CoreService.cpp @@ -90,7 +90,7 @@ namespace VeraCrypt { try { - Core = std::move(CoreDirect); + Core = move_ptr(CoreDirect); shared_ptr inputStream (new FileStream (inputFD != -1 ? inputFD : InputPipe->GetReadFD())); shared_ptr outputStream (new FileStream (outputFD != -1 ? outputFD : OutputPipe->GetWriteFD())); @@ -573,8 +573,8 @@ namespace VeraCrypt byte sync[] = { 0, 0x11, 0x22 }; ServiceInputStream->Write (ConstBufferPtr (sync, array_capacity (sync))); - AdminInputPipe = std::move(inPipe); - AdminOutputPipe = std::move(outPipe); + AdminInputPipe = move_ptr(inPipe); + AdminOutputPipe = move_ptr(outPipe); } void CoreService::Stop () -- cgit v1.2.3