summaryrefslogtreecommitdiffstats
path: root/Source/kwsys/Encoding.hxx.in
diff options
context:
space:
mode:
Diffstat (limited to 'Source/kwsys/Encoding.hxx.in')
-rw-r--r--Source/kwsys/Encoding.hxx.in13
1 files changed, 12 insertions, 1 deletions
diff --git a/Source/kwsys/Encoding.hxx.in b/Source/kwsys/Encoding.hxx.in
index 6639efd..09691fd 100644
--- a/Source/kwsys/Encoding.hxx.in
+++ b/Source/kwsys/Encoding.hxx.in
@@ -13,7 +13,7 @@ class @KWSYS_NAMESPACE@_EXPORT Encoding
{
public:
// Container class for argc/argv.
- class CommandLineArguments
+ class @KWSYS_NAMESPACE@_EXPORT CommandLineArguments
{
public:
// On Windows, get the program command line arguments
@@ -59,6 +59,17 @@ public:
static std::string ToNarrow(const std::wstring& str);
static std::string ToNarrow(const wchar_t* str);
+#if defined(_WIN32)
+ /**
+ * Convert the path to an extended length path to avoid MAX_PATH length
+ * limitations on Windows. If the input is a local path the result will be
+ * prefixed with \\?\; if the input is instead a network path, the result
+ * will be prefixed with \\?\UNC\. All output will also be converted to
+ * absolute paths with Windows-style backslashes.
+ **/
+ static std::wstring ToWindowsExtendedPath(std::string const&);
+#endif
+
#endif // @KWSYS_NAMESPACE@_STL_HAS_WSTRING
}; // class Encoding