From 5a81864b7f9b2c205d779b74ddb2e25d0df75f3e Mon Sep 17 00:00:00 2001 From: Jonas Suhr Christensen Date: Tue, 23 Sep 2014 18:28:07 +0200 Subject: Testing file attribute filter on windows XP. --- plugingui/directory.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugingui/directory.cc b/plugingui/directory.cc index 48e67c6..ff0fa05 100644 --- a/plugingui/directory.cc +++ b/plugingui/directory.cc @@ -319,8 +319,14 @@ bool Directory::exists(std::string path) bool Directory::isHidden(std::string path) { DEBUG(directory, "Is '%s' hidden?\n", path.c_str()); - // TODO: Handle hidden and system files in windows #ifdef WIN32 + // We dont want to filter out '..' pointing to root of a partition + unsigned pos = path.find_last_of("/\\"); + std::string entry = path.substr(pos+1); + if(entry == "..") { + return false; + } + DWORD fattribs = GetFileAttributes(path.c_str()); if(fattribs & FILE_ATTRIBUTE_HIDDEN) { DEBUG(directory, "\t...yes!\n"); -- cgit v1.2.3