瀏覽代碼

KWSys 2019-10-30 (43131a7c)

Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 43131a7c283dd6f198a2318a25e546a97ac356b3 (master).

Upstream Shortlog
-----------------

Brad King (1):
      cdd52ce1 RegularExpression: Initialize RegularExpressionMatch arrays fully

Todd Martin (1):
      569a1aed Encoding: Add ToWindowsExtendedPath support for wide string
KWSys Upstream 6 年之前
父節點
當前提交
fe6725a1f7
共有 3 個文件被更改,包括 17 次插入5 次删除
  1. 2 0
      Encoding.hxx.in
  2. 12 2
      EncodingCXX.cxx
  3. 3 3
      RegularExpression.hxx.in

+ 2 - 0
Encoding.hxx.in

@@ -68,6 +68,8 @@ public:
    * absolute paths with Windows-style backslashes.
    **/
   static std::wstring ToWindowsExtendedPath(std::string const&);
+  static std::wstring ToWindowsExtendedPath(const char* source);
+  static std::wstring ToWindowsExtendedPath(std::wstring const& wsource);
 #  endif
 
 #endif // @KWSYS_NAMESPACE@_STL_HAS_WSTRING

+ 12 - 2
EncodingCXX.cxx

@@ -221,8 +221,18 @@ std::string Encoding::ToNarrow(const wchar_t* wcstr)
 // Convert local paths to UNC style paths
 std::wstring Encoding::ToWindowsExtendedPath(std::string const& source)
 {
-  std::wstring wsource = Encoding::ToWide(source);
+  return ToWindowsExtendedPath(ToWide(source));
+}
 
+// Convert local paths to UNC style paths
+std::wstring Encoding::ToWindowsExtendedPath(const char* source)
+{
+  return ToWindowsExtendedPath(ToWide(source));
+}
+
+// Convert local paths to UNC style paths
+std::wstring Encoding::ToWindowsExtendedPath(std::wstring const& wsource)
+{
   // Resolve any relative paths
   DWORD wfull_len;
 
@@ -269,7 +279,7 @@ std::wstring Encoding::ToWindowsExtendedPath(std::string const& source)
 
   // If this case has been reached, then the path is invalid.  Leave it
   // unchanged
-  return Encoding::ToWide(source);
+  return wsource;
 }
 #  endif
 

+ 3 - 3
RegularExpression.hxx.in

@@ -70,10 +70,10 @@ private:
  * \brief Creates an invalid match object
  */
 inline RegularExpressionMatch::RegularExpressionMatch()
+  : startp{}
+  , endp{}
+  , searchstring{}
 {
-  startp[0] = nullptr;
-  endp[0] = nullptr;
-  searchstring = nullptr;
 }
 
 /**