From 95225d12b4b15841d88936233e387a7199301742 Mon Sep 17 00:00:00 2001 From: Cody Northrop Date: Wed, 21 Jun 2017 11:12:37 -0600 Subject: [PATCH] Add IsRelativePath helper --- renderdoc/os/os_specific.h | 1 + renderdoc/os/posix/posix_stringio.cpp | 8 ++++++++ renderdoc/os/win32/win32_stringio.cpp | 10 ++++++++++ renderdoc/renderdoc.vcxproj | 2 +- 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/renderdoc/os/os_specific.h b/renderdoc/os/os_specific.h index 3f27a566c..04a1d62a3 100644 --- a/renderdoc/os/os_specific.h +++ b/renderdoc/os/os_specific.h @@ -237,6 +237,7 @@ string GetReplayAppFilename(); void CreateParentDirectory(const string &filename); +bool IsRelativePath(const string &path); string GetFullPathname(const string &filename); void GetExecutableFilename(string &selfName); diff --git a/renderdoc/os/posix/posix_stringio.cpp b/renderdoc/os/posix/posix_stringio.cpp index 4b91aa28f..898571e2d 100644 --- a/renderdoc/os/posix/posix_stringio.cpp +++ b/renderdoc/os/posix/posix_stringio.cpp @@ -83,6 +83,14 @@ void CreateParentDirectory(const string &filename) } } +bool IsRelativePath(const string &path) +{ + if(path.empty()) + return false; + + return path.front() != '/'; +} + string GetFullPathname(const string &filename) { char path[PATH_MAX + 1] = {0}; diff --git a/renderdoc/os/win32/win32_stringio.cpp b/renderdoc/os/win32/win32_stringio.cpp index 7362c9798..20628b28f 100644 --- a/renderdoc/os/win32/win32_stringio.cpp +++ b/renderdoc/os/win32/win32_stringio.cpp @@ -24,6 +24,7 @@ ******************************************************************************/ #include +#include #include #include #include @@ -166,6 +167,15 @@ void GetExecutableFilename(string &selfName) selfName = StringFormat::Wide2UTF8(wstring(curFile)); } +bool IsRelativePath(const string &path) +{ + if(path.empty()) + return false; + + wstring wpath = StringFormat::UTF82Wide(path.c_str()); + return PathIsRelativeW(wpath.c_str()) != 0; +} + string GetFullPathname(const string &filename) { wstring wfn = StringFormat::UTF82Wide(filename); diff --git a/renderdoc/renderdoc.vcxproj b/renderdoc/renderdoc.vcxproj index afa256eb5..59e9f1486 100644 --- a/renderdoc/renderdoc.vcxproj +++ b/renderdoc/renderdoc.vcxproj @@ -77,7 +77,7 @@ Windows - ws2_32.lib;kernel32.lib;user32.lib;%(AdditionalDependencies) + ws2_32.lib;kernel32.lib;user32.lib;shlwapi.lib;%(AdditionalDependencies) $(ProjectDir)os\win32\comexport.def true