summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/file
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2017-12-07 10:52:38 +1100
committer Vas Crabb <vas@vastheman.com>2017-12-07 12:17:47 +1100
commit46edbee6ed30c8a6cb16acb5c833d467117917c4 (patch)
treea6307de8f3b588257b68179ebaa33125bd5bff07 /src/osd/modules/file
parente57b4afa77ca6a85cabe583e2760699cd101b63e (diff)
fix MT06785
Diffstat (limited to 'src/osd/modules/file')
-rw-r--r--src/osd/modules/file/posixdir.cpp1
-rw-r--r--src/osd/modules/file/posixfile.cpp2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/osd/modules/file/posixdir.cpp b/src/osd/modules/file/posixdir.cpp
index 113c5068963..be18239ebf5 100644
--- a/src/osd/modules/file/posixdir.cpp
+++ b/src/osd/modules/file/posixdir.cpp
@@ -158,6 +158,7 @@ const osd::directory::entry *posix_directory::read()
case DT_REG:
m_entry.type = entry::entry_type::FILE;
break;
+ case DT_UNKNOWN:
case DT_LNK:
if (stat_err)
m_entry.type = entry::entry_type::OTHER;
diff --git a/src/osd/modules/file/posixfile.cpp b/src/osd/modules/file/posixfile.cpp
index 3cc122342dd..967202eb61c 100644
--- a/src/osd/modules/file/posixfile.cpp
+++ b/src/osd/modules/file/posixfile.cpp
@@ -446,7 +446,7 @@ bool osd_is_absolute_path(std::string const &path)
if (!path.empty() && is_path_separator(path[0]))
return true;
#if !defined(WIN32)
- else if (!path.empty() && (path[0] == '.'))
+ else if (!path.empty() && (path[0] == '.') && (!path[1] || is_path_separator(path[1]))) // FIXME: why is this even here? foo/./bar is a valid way to refer to foo/bar
return true;
#elif !defined(UNDER_CE)
else if ((path.length() > 1) && (path[1] == ':'))