diff --git a/mythplugins/mythgallery/mythgallery/galleryfilter.cpp b/mythplugins/mythgallery/mythgallery/galleryfilter.cpp index 4cc2882c785..0a4736436ae 100644 --- a/mythplugins/mythgallery/mythgallery/galleryfilter.cpp +++ b/mythplugins/mythgallery/mythgallery/galleryfilter.cpp @@ -73,7 +73,8 @@ bool GalleryFilter::TestFilter(const QString& dir, const GalleryFilter& flt, QDir d(dir); QString currDir = d.absolutePath(); QFileInfoList list = d.entryInfoList(GalleryUtil::GetMediaFilter(), - QDir::Files | QDir::AllDirs, + QDir::Files | QDir::AllDirs | + QDir::NoDotAndDotDot, (QDir::SortFlag)flt.getSort()); if (list.isEmpty()) @@ -86,8 +87,6 @@ bool GalleryFilter::TestFilter(const QString& dir, const GalleryFilter& flt, it != list.end(); ++it) { fi = &(*it); - if (fi->fileName() == "." || fi->fileName() == "..") - continue; // remove these already-resized pictures. if ((fi->fileName().indexOf(".thumb.") > 0) || diff --git a/mythplugins/mythgallery/mythgallery/galleryutil.cpp b/mythplugins/mythgallery/mythgallery/galleryutil.cpp index 9130d38ab67..1cf3a67d92d 100644 --- a/mythplugins/mythgallery/mythgallery/galleryutil.cpp +++ b/mythplugins/mythgallery/mythgallery/galleryutil.cpp @@ -260,9 +260,10 @@ bool GalleryUtil::LoadDirectory(ThumbList& itemList, const QString& dir, // Create .thumbcache dir if neccesary if (thumbGen) thumbGen->getThumbcacheDir(currDir); - + QFileInfoList list = d.entryInfoList(GetMediaFilter(), - QDir::Files | QDir::AllDirs, + QDir::Files | QDir::AllDirs | + QDir::NoDotAndDotDot, (QDir::SortFlag)flt.getSort()); if (list.isEmpty()) @@ -286,8 +287,6 @@ bool GalleryUtil::LoadDirectory(ThumbList& itemList, const QString& dir, { fi = &(*it); ++it; - if (fi->fileName() == "." || fi->fileName() == "..") - continue; // remove these already-resized pictures. if (isGallery && ( @@ -585,16 +584,14 @@ bool GalleryUtil::CopyDirectory(const QFileInfo src, QFileInfo &dst) bool ok = true; QDir dstDir(dst.absoluteFilePath()); + srcDir.setFilter(QDir::NoDotAndDotDot); QFileInfoList list = srcDir.entryInfoList(); QFileInfoList::const_iterator it = list.begin(); for (; it != list.end(); ++it) { const QString fn = it->fileName(); - if (fn != "." && fn != "..") - { - QFileInfo dfi(dstDir, fn); - ok &= Copy(*it, dfi); - } + QFileInfo dfi(dstDir, fn); + ok &= Copy(*it, dfi); } return ok; @@ -616,16 +613,14 @@ bool GalleryUtil::MoveDirectory(const QFileInfo src, QFileInfo &dst) bool ok = true; QDir dstDir(dst.absoluteFilePath()); + srcDir.setFilter(QDir::NoDotAndDotDot); QFileInfoList list = srcDir.entryInfoList(); QFileInfoList::const_iterator it = list.begin(); for (; it != list.end(); ++it) { const QString fn = it->fileName(); - if (fn != "." && fn != "..") - { - QFileInfo dfi(dstDir, fn); - ok &= Move(*it, dfi); - } + QFileInfo dfi(dstDir, fn); + ok &= Move(*it, dfi); } return ok && FileDelete(src); @@ -637,13 +632,13 @@ bool GalleryUtil::DeleteDirectory(const QFileInfo &dir) return false; QDir srcDir(dir.absoluteFilePath()); + srcDir.setFilter(QDir::NoDotAndDotDot); QFileInfoList list = srcDir.entryInfoList(); QFileInfoList::const_iterator it = list.begin(); for (; it != list.end(); ++it) { const QString fn = it->fileName(); - if (fn != "." && fn != "..") - Delete(*it); + Delete(*it); } return FileDelete(dir); diff --git a/mythplugins/mythgallery/mythgallery/iconview.cpp b/mythplugins/mythgallery/mythgallery/iconview.cpp index b15022210bb..53a6bb82d39 100644 --- a/mythplugins/mythgallery/mythgallery/iconview.cpp +++ b/mythplugins/mythgallery/mythgallery/iconview.cpp @@ -1388,7 +1388,8 @@ void IconView::ImportFromDir(const QString &fromDir, const QString &toDir) d.setNameFilters(GalleryUtil::GetMediaFilter()); d.setSorting((QDir::SortFlag)m_sortorder); d.setFilter(QDir::Files | QDir::AllDirs | - QDir::NoSymLinks | QDir::Readable); + QDir::NoSymLinks | QDir::Readable | + QDir::NoDotAndDotDot); QFileInfoList list = d.entryInfoList(); QFileInfoList::const_iterator it = list.begin(); const QFileInfo *fi; @@ -1397,8 +1398,6 @@ void IconView::ImportFromDir(const QString &fromDir, const QString &toDir) { fi = &(*it); ++it; - if (fi->fileName() == "." || fi->fileName() == "..") - continue; if (fi->isDir()) { @@ -1566,7 +1565,8 @@ int ChildCountThread::getChildCount(const QString &filepath) isGallery = (gList.count() != 0); QFileInfoList list = d.entryInfoList(GalleryUtil::GetMediaFilter(), - QDir::Files | QDir::AllDirs); + QDir::Files | QDir::AllDirs | + QDir::NoDotAndDotDot); if (list.isEmpty()) return 0; @@ -1579,8 +1579,6 @@ int ChildCountThread::getChildCount(const QString &filepath) { fi = &(*it); ++it; - if (fi->fileName() == "." || fi->fileName() == "..") - continue; // remove these already-resized pictures. if (isGallery && ( diff --git a/mythplugins/mythgallery/mythgallery/thumbgenerator.cpp b/mythplugins/mythgallery/mythgallery/thumbgenerator.cpp index 70b74a54193..cb01522f3fb 100644 --- a/mythplugins/mythgallery/mythgallery/thumbgenerator.cpp +++ b/mythplugins/mythgallery/mythgallery/thumbgenerator.cpp @@ -262,7 +262,7 @@ void ThumbGenerator::loadDir(QImage& image, const QFileInfo& fi) // if we didn't find the image yet // go into subdirs and keep looking - dir.setFilter(QDir::Dirs); + dir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot); QFileInfoList dirlist = dir.entryInfoList(); if (dirlist.isEmpty()) return; @@ -271,10 +271,6 @@ void ThumbGenerator::loadDir(QImage& image, const QFileInfo& fi) it != dirlist.end() && image.isNull() && !m_cancel; ++it) { const QFileInfo *f = &(*it); - - if (f->fileName() == "." || f->fileName() == "..") - continue; - loadDir(image, *f); } } diff --git a/mythplugins/mythgame/mythgame/gamehandler.cpp b/mythplugins/mythgame/mythgame/gamehandler.cpp index d934dcaf720..81fc6dbc734 100644 --- a/mythplugins/mythgame/mythgame/gamehandler.cpp +++ b/mythplugins/mythgame/mythgame/gamehandler.cpp @@ -561,6 +561,7 @@ int GameHandler::buildFileCount(QString directory, GameHandler *handler) if (!RomDir.isReadable()) return 0; + RomDir.setFilter(QDir::NoDotAndDotDot); QFileInfoList List = RomDir.entryInfoList(); for (QFileInfoList::const_iterator it = List.begin(); it != List.end(); ++it) @@ -568,12 +569,6 @@ int GameHandler::buildFileCount(QString directory, GameHandler *handler) QFileInfo Info = *it; QString RomName = Info.fileName(); - if (RomName == "." || - RomName == "..") - { - continue; - } - if (Info.isDir()) { filecount += buildFileCount(Info.filePath(), handler); @@ -633,6 +628,7 @@ void GameHandler::buildFileList(QString directory, GameHandler *handler, return; RomDir.setSorting( QDir:: DirsFirst | QDir::Name ); + RomDir.setFilter(QDir::NoDotAndDotDot); QFileInfoList List = RomDir.entryInfoList(); for (QFileInfoList::const_iterator it = List.begin(); it != List.end(); ++it) @@ -641,12 +637,6 @@ void GameHandler::buildFileList(QString directory, GameHandler *handler, QString RomName = Info.fileName(); QString GameName = Info.completeBaseName(); - if (RomName == "." || - RomName == "..") - { - continue; - } - if (Info.isDir()) { buildFileList(Info.filePath(), handler, filecount); diff --git a/mythplugins/mythmusic/mythmusic/filescanner.cpp b/mythplugins/mythmusic/mythmusic/filescanner.cpp index 2b5faaaf642..613657973ec 100644 --- a/mythplugins/mythmusic/mythmusic/filescanner.cpp +++ b/mythplugins/mythmusic/mythmusic/filescanner.cpp @@ -87,6 +87,7 @@ void FileScanner::BuildFileList(QString &directory, MusicLoadedMap &music_files, if (!d.exists()) return; + d.setFilter(QDir::NoDotAndDotDot); QFileInfoList list = d.entryInfoList(); if (list.isEmpty()) return; @@ -102,8 +103,6 @@ void FileScanner::BuildFileList(QString &directory, MusicLoadedMap &music_files, { fi = &(*it); ++it; - if (fi->fileName() == "." || fi->fileName() == "..") - continue; QString filename = fi->absoluteFilePath(); if (fi->isDir()) { diff --git a/mythplugins/mythmusic/mythmusic/importmusic.cpp b/mythplugins/mythmusic/mythmusic/importmusic.cpp index c48cae09ad8..1cad5c0c476 100644 --- a/mythplugins/mythmusic/mythmusic/importmusic.cpp +++ b/mythplugins/mythmusic/mythmusic/importmusic.cpp @@ -554,6 +554,7 @@ void ImportMusicDialog::scanDirectory(QString &directory, vector *tr if (!d.exists()) return; + d.setFilter(QDir::NoDotAndDotDot); const QFileInfoList list = d.entryInfoList(); if (list.isEmpty()) return; @@ -565,8 +566,6 @@ void ImportMusicDialog::scanDirectory(QString &directory, vector *tr { fi = &(*it); ++it; - if (fi->fileName() == "." || fi->fileName() == "..") - continue; QString filename = fi->absoluteFilePath(); if (fi->isDir()) scanDirectory(filename, tracks); @@ -1028,7 +1027,8 @@ void ImportCoverArtDialog::scanDirectory() QString nameFilter = gCoreContext->GetSetting("AlbumArtFilter", "*.png;*.jpg;*.jpeg;*.gif;*.bmp"); - QFileInfoList list = d.entryInfoList(nameFilter.split(";")); + QFileInfoList list = d.entryInfoList(nameFilter.split(";"), + QDir::NoDotAndDotDot); if (list.isEmpty()) return; @@ -1039,8 +1039,6 @@ void ImportCoverArtDialog::scanDirectory() { fi = &(*it); ++it; - if (fi->fileName() == "." || fi->fileName() == "..") - continue; QString filename = fi->absoluteFilePath(); if (!fi->isDir()) { diff --git a/mythplugins/mythweather/mythweather/sourceManager.cpp b/mythplugins/mythweather/mythweather/sourceManager.cpp index f920f775aff..2e000d0b871 100644 --- a/mythplugins/mythweather/mythweather/sourceManager.cpp +++ b/mythplugins/mythweather/mythweather/sourceManager.cpp @@ -375,7 +375,8 @@ void SourceManager::recurseDirs( QDir dir ) if (!dir.exists()) return; - dir.setFilter(QDir::Executable | QDir::Files | QDir::Dirs); + dir.setFilter(QDir::Executable | QDir::Files | QDir::Dirs | + QDir::NoDotAndDotDot); QFileInfoList files = dir.entryInfoList(); QFileInfo file; @@ -385,8 +386,6 @@ void SourceManager::recurseDirs( QDir dir ) file = files.at(x); if (file.isDir()) { - if (file.fileName() == QString("..")) continue; - if (file.fileName() == QString(".")) continue; QDir recurseTo(file.filePath()); recurseDirs(recurseTo); } diff --git a/mythtv/libs/libmyth/mediamonitor-unix.cpp b/mythtv/libs/libmyth/mediamonitor-unix.cpp index c202b74846d..ba19383c316 100644 --- a/mythtv/libs/libmyth/mediamonitor-unix.cpp +++ b/mythtv/libs/libmyth/mediamonitor-unix.cpp @@ -256,15 +256,12 @@ bool MediaMonitorUnix::CheckMountable(void) m_fifo = open(kUDEV_FIFO, O_RDONLY | O_NONBLOCK); QDir sysfs("/sys/block"); - sysfs.setFilter(QDir::Dirs); + sysfs.setFilter(QDir::Dirs | QDir::NoDotAndDotDot); QStringList devices = sysfs.entryList(); for (QStringList::iterator it = devices.begin(); it != devices.end(); ++it) { - if (*it == "." || *it == "..") - continue; - // ignore floppies, too slow if ((*it).startsWith("fd")) continue; @@ -772,16 +769,13 @@ bool MediaMonitorUnix::FindPartitions(const QString &dev, bool checkPartitions) { // check for partitions QDir sysfs(dev); - sysfs.setFilter(QDir::Dirs); + sysfs.setFilter(QDir::Dirs | QDir::NoDotAndDotDot); bool found_partitions = false; QStringList parts = sysfs.entryList(); for (QStringList::iterator pit = parts.begin(); pit != parts.end(); ++pit) { - if (*pit == "." || *pit == "..") - continue; - // skip some sysfs dirs that are _not_ sub-partitions if (*pit == "device" || *pit == "holders" || *pit == "queue" || *pit == "slaves" || *pit == "subsystem" diff --git a/mythtv/libs/libmythbase/mythmedia.cpp b/mythtv/libs/libmythbase/mythmedia.cpp index 9da36740fc9..96b081aaa8d 100644 --- a/mythtv/libs/libmythbase/mythmedia.cpp +++ b/mythtv/libs/libmythbase/mythmedia.cpp @@ -249,7 +249,7 @@ bool MythMediaDevice::ScanMediaType(const QString &directory, ext_cnt_t &cnt) if (!d.exists()) return false; - + d.setFilter(QDir::NoDotAndDotDot); QFileInfoList list = d.entryInfoList(); for( QFileInfoList::iterator it = list.begin(); @@ -258,9 +258,6 @@ bool MythMediaDevice::ScanMediaType(const QString &directory, ext_cnt_t &cnt) { QFileInfo &fi = *it; - if (("." == fi.fileName()) || (".." == fi.fileName())) - continue; - if (fi.isSymLink()) continue; diff --git a/mythtv/libs/libmythbase/storagegroup.cpp b/mythtv/libs/libmythbase/storagegroup.cpp index db579e39df4..7553f577a5e 100644 --- a/mythtv/libs/libmythbase/storagegroup.cpp +++ b/mythtv/libs/libmythbase/storagegroup.cpp @@ -300,18 +300,15 @@ QStringList StorageGroup::GetFileInfoList(QString Path) if (!d.exists()) return files; + d.setFilter(QDir::NoDotAndDotDot); QFileInfoList list = d.entryInfoList(); if (!list.size()) return files; for (QFileInfoList::iterator p = list.begin(); p != list.end(); ++p) { - if (p->fileName() == "." || - p->fileName() == ".." || - p->fileName() == "Thumbs.db") - { + if (p->fileName() == "Thumbs.db") continue; - } QString tmp; diff --git a/mythtv/libs/libmythmetadata/dirscan.cpp b/mythtv/libs/libmythmetadata/dirscan.cpp index f3b2b0127a8..f6ee0228f11 100644 --- a/mythtv/libs/libmythmetadata/dirscan.cpp +++ b/mythtv/libs/libmythmetadata/dirscan.cpp @@ -54,7 +54,8 @@ namespace // Return a fail if directory doesn't exist. if (!d.exists()) return false; - + + d.setFilter(QDir::NoDotAndDotDot); QFileInfoList list = d.entryInfoList(); // An empty directory is fine if (!list.size()) @@ -64,12 +65,8 @@ namespace for (QFileInfoList::iterator p = list.begin(); p != list.end(); ++p) { - if (p->fileName() == "." || - p->fileName() == ".." || - p->fileName() == "Thumbs.db") - { + if (p->fileName() == "Thumbs.db") continue; - } if (!p->isDir() && ext_settings.extension_ignored(p->suffix())) continue; diff --git a/mythtv/libs/libmythmetadata/videometadata.cpp b/mythtv/libs/libmythmetadata/videometadata.cpp index 279490ff007..cb790ba0a61 100644 --- a/mythtv/libs/libmythmetadata/videometadata.cpp +++ b/mythtv/libs/libmythmetadata/videometadata.cpp @@ -414,7 +414,8 @@ class VideoMetadataImp bool VideoMetadataImp::removeDir(const QString &dirName) { QDir d(dirName); - + + d.setFilter(QDir::NoDotAndDotDot); QFileInfoList contents = d.entryInfoList(); if (!contents.size()) { @@ -423,11 +424,6 @@ bool VideoMetadataImp::removeDir(const QString &dirName) for (QFileInfoList::iterator p = contents.begin(); p != contents.end(); ++p) { - if (p->fileName() == "." || - p->fileName() == "..") - { - continue; - } if (p->isDir()) { QString fileName = p->fileName(); diff --git a/mythtv/libs/libmythui/mythuihelper.cpp b/mythtv/libs/libmythui/mythuihelper.cpp index 330cdc3e405..4177c7c47a1 100644 --- a/mythtv/libs/libmythui/mythuihelper.cpp +++ b/mythtv/libs/libmythui/mythuihelper.cpp @@ -746,6 +746,7 @@ void MythUIHelper::ClearOldImageCache(void) dir.setPath(cachedirname); + dir.setFilter(QDir::NoDotAndDotDot); QFileInfoList list = dir.entryInfoList(); QFileInfoList::const_iterator it = list.begin(); @@ -756,9 +757,6 @@ void MythUIHelper::ClearOldImageCache(void) { fi = &(*it++); - if (fi->fileName() == "." || fi->fileName() == "..") - continue; - if (fi->isDir() && !fi->isSymLink()) { if (fi->absoluteFilePath() == themecachedir) @@ -805,6 +803,7 @@ void MythUIHelper::RemoveCacheDir(const QString &dirname) if (!dir.exists()) return; + dir.setFilter(QDir::NoDotAndDotDot); QFileInfoList list = dir.entryInfoList(); QFileInfoList::const_iterator it = list.begin(); const QFileInfo *fi; @@ -813,9 +812,6 @@ void MythUIHelper::RemoveCacheDir(const QString &dirname) { fi = &(*it++); - if (fi->fileName() == "." || fi->fileName() == "..") - continue; - if (fi->isFile() && !fi->isSymLink()) { QFile file(fi->absoluteFilePath()); diff --git a/mythtv/programs/mythfrontend/themechooser.cpp b/mythtv/programs/mythfrontend/themechooser.cpp index c4b4f7cd5de..20b1804a5c5 100644 --- a/mythtv/programs/mythfrontend/themechooser.cpp +++ b/mythtv/programs/mythfrontend/themechooser.cpp @@ -852,7 +852,8 @@ void ThemeChooser::removeThemeDir(const QString &dirname) if (!dir.exists()) return; - + + dir.setFilter(QDir::NoDotAndDotDot); QFileInfoList list = dir.entryInfoList(); QFileInfoList::const_iterator it = list.begin(); const QFileInfo *fi; @@ -860,8 +861,6 @@ void ThemeChooser::removeThemeDir(const QString &dirname) while (it != list.end()) { fi = &(*it++); - if (fi->fileName() == "." || fi->fileName() == "..") - continue; if (fi->isFile() && !fi->isSymLink()) { QFile::remove(fi->absoluteFilePath());