diff options
author | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2020-01-20 15:23:06 +0100 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2020-08-19 09:05:47 +0200 |
commit | 8d162eb24d7a442357fee8c61dfbec2f3484c128 (patch) | |
tree | 145a915449e414e856a960e0b3a660103c42992d /xmlsecurity | |
parent | 021d17006c970bbd784bc3a5474d56fff02fdca0 (diff) |
Make TempFile destructor remove temp directory recursively
Change-Id: Idcfa93ffe86112477ad81bcbf74b8e5b858423f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87080
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
(cherry picked from commit 4a25fb867f7cc0a0fc21c4079c84fadec6647ad1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100880
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'xmlsecurity')
-rw-r--r-- | xmlsecurity/source/xmlsec/nss/nssinitializer.cxx | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx b/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx index 4288e1ed426d..d486676bff8b 100644 --- a/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx +++ b/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx @@ -70,65 +70,6 @@ class InitNSSPrivate private: std::unique_ptr<utl::TempFile> m_pTempFileDatabaseDirectory; - static void scanDirsAndFiles(OUString const & rDirURL, std::vector<OUString> & rDirs, std::vector<OUString> & rFiles) - { - if (rDirURL.isEmpty()) - return; - osl::Directory aDirectory(rDirURL); - - if (osl::FileBase::E_None != aDirectory.open()) - return; - - osl::DirectoryItem aDirectoryItem; - - while (osl::FileBase::E_None == aDirectory.getNextItem(aDirectoryItem)) - { - osl::FileStatus aFileStatus(osl_FileStatus_Mask_Type | osl_FileStatus_Mask_FileURL | osl_FileStatus_Mask_FileName); - - if (osl::FileBase::E_None == aDirectoryItem.getFileStatus(aFileStatus)) - { - if (aFileStatus.isDirectory()) - { - const OUString aFileName(aFileStatus.getFileName()); - if (!aFileName.isEmpty()) - rDirs.push_back(aFileName); - } - else if (aFileStatus.isRegular()) - { - const OUString aFileName(aFileStatus.getFileName()); - if (!aFileName.isEmpty()) - rFiles.push_back(aFileName); - - } - } - } - } - - static bool deleteDirRecursively(OUString const & rDirURL) - { - std::vector<OUString> aDirs; - std::vector<OUString> aFiles; - bool bError(false); - - scanDirsAndFiles(rDirURL, aDirs, aFiles); - - for (const auto& sDir : aDirs) - { - const OUString aNewDirURL(rDirURL + "/" + sDir); - bError |= deleteDirRecursively(aNewDirURL); - } - - for (const auto& sFile : aFiles) - { - OUString aNewFileURL(rDirURL + "/" + sFile); - bError |= (osl::FileBase::E_None != osl::File::remove(aNewFileURL)); - } - - bError |= (osl::FileBase::E_None != osl::Directory::remove(rDirURL)); - - return bError; - } - public: OUString getTempDatabasePath() { @@ -144,7 +85,6 @@ public: { if (m_pTempFileDatabaseDirectory) { - deleteDirRecursively(m_pTempFileDatabaseDirectory->GetURL()); m_pTempFileDatabaseDirectory.reset(); } } |