summaryrefslogtreecommitdiff
path: root/comphelper/source/misc/DirectoryHelper.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'comphelper/source/misc/DirectoryHelper.cxx')
-rw-r--r--comphelper/source/misc/DirectoryHelper.cxx56
1 files changed, 28 insertions, 28 deletions
diff --git a/comphelper/source/misc/DirectoryHelper.cxx b/comphelper/source/misc/DirectoryHelper.cxx
index fa5380d425dd..5b0ffbf68465 100644
--- a/comphelper/source/misc/DirectoryHelper.cxx
+++ b/comphelper/source/misc/DirectoryHelper.cxx
@@ -69,41 +69,41 @@ bool DirectoryHelper::dirExists(const OUString& rDirURL)
void DirectoryHelper::scanDirsAndFiles(const OUString& rDirURL, std::set<OUString>& rDirs,
std::set<std::pair<OUString, OUString>>& rFiles)
{
- if (!rDirURL.isEmpty())
+ 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::Directory aDirectory(rDirURL);
+ osl::FileStatus aFileStatus(osl_FileStatus_Mask_Type | osl_FileStatus_Mask_FileURL
+ | osl_FileStatus_Mask_FileName);
- if (osl::FileBase::E_None == aDirectory.open())
+ if (osl::FileBase::E_None == aDirectoryItem.getFileStatus(aFileStatus))
{
- osl::DirectoryItem aDirectoryItem;
+ if (aFileStatus.isDirectory())
+ {
+ const OUString aFileName(aFileStatus.getFileName());
- while (osl::FileBase::E_None == aDirectory.getNextItem(aDirectoryItem))
+ if (!aFileName.isEmpty())
+ {
+ rDirs.insert(aFileName);
+ }
+ }
+ else if (aFileStatus.isRegular())
{
- osl::FileStatus aFileStatus(osl_FileStatus_Mask_Type | osl_FileStatus_Mask_FileURL
- | osl_FileStatus_Mask_FileName);
+ OUString aFileName(aFileStatus.getFileName());
+ OUString aExtension;
+ aFileName = splitAtLastToken(aFileName, '.', aExtension);
- if (osl::FileBase::E_None == aDirectoryItem.getFileStatus(aFileStatus))
+ if (!aFileName.isEmpty())
{
- if (aFileStatus.isDirectory())
- {
- const OUString aFileName(aFileStatus.getFileName());
-
- if (!aFileName.isEmpty())
- {
- rDirs.insert(aFileName);
- }
- }
- else if (aFileStatus.isRegular())
- {
- OUString aFileName(aFileStatus.getFileName());
- OUString aExtension;
- aFileName = splitAtLastToken(aFileName, '.', aExtension);
-
- if (!aFileName.isEmpty())
- {
- rFiles.insert(std::pair<OUString, OUString>(aFileName, aExtension));
- }
- }
+ rFiles.insert(std::pair<OUString, OUString>(aFileName, aExtension));
}
}
}