aboutsummaryrefslogtreecommitdiff
path: root/ports/nanodbc/0002_msvc14_codecvt.patch
diff options
context:
space:
mode:
authorsdcb <sdflysha@qq.com>2016-10-13 19:07:01 +0800
committersdcb <sdflysha@qq.com>2016-10-13 19:07:01 +0800
commitccb765efbb01a74bb8a8dec9629e137501fd7cdf (patch)
tree4fc883c4df1f0935b7d2c5de8da202965039e6b4 /ports/nanodbc/0002_msvc14_codecvt.patch
parentd86224f012b070c0535f88926f072e74a587f2e5 (diff)
downloadvcpkg-ccb765efbb01a74bb8a8dec9629e137501fd7cdf.tar.gz
vcpkg-ccb765efbb01a74bb8a8dec9629e137501fd7cdf.zip
Add nanodbc.
Diffstat (limited to 'ports/nanodbc/0002_msvc14_codecvt.patch')
-rw-r--r--ports/nanodbc/0002_msvc14_codecvt.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/ports/nanodbc/0002_msvc14_codecvt.patch b/ports/nanodbc/0002_msvc14_codecvt.patch
new file mode 100644
index 000000000..ae499bcf9
--- /dev/null
+++ b/ports/nanodbc/0002_msvc14_codecvt.patch
@@ -0,0 +1,34 @@
+diff --git a/src/nanodbc.cpp b/src/nanodbc.cpp
+index 8e02d4a..2e42b91 100644
+--- a/src/nanodbc.cpp
++++ b/src/nanodbc.cpp
+@@ -209,10 +209,11 @@ namespace
+ out = utf_to_utf<char>(in.c_str(), in.c_str() + in.size());
+ #else
+ #if defined(_MSC_VER) && (_MSC_VER == 1900)
+- // Workaround for confirmed bug in VS2015.
+- // See: https://social.msdn.microsoft.com/Forums/en-US/8f40dcd8-c67f-4eba-9134-a19b9178e481/vs-2015-rc-linker-stdcodecvt-error
+- auto p = reinterpret_cast<wide_char_t const*>(in.data());
+- out = std::wstring_convert<NANODBC_CODECVT_TYPE<wide_char_t>, wide_char_t>().to_bytes(p, p + in.size());
++ // Workaround for confirmed bug in VS2015. See:
++ // https://connect.microsoft.com/VisualStudio/Feedback/Details/1403302
++ // https://social.msdn.microsoft.com/Forums/en-US/8f40dcd8-c67f-4eba-9134-a19b9178e481/vs-2015-rc-linker-stdcodecvt-error
++ auto p = reinterpret_cast<unsigned short const*>(in.data());
++ out = std::wstring_convert<NANODBC_CODECVT_TYPE<unsigned short>, unsigned short>().to_bytes(p, p + in.size());
+ #else
+ out = std::wstring_convert<NANODBC_CODECVT_TYPE<wide_char_t>, wide_char_t>().to_bytes(in);
+ #endif
+@@ -226,9 +227,10 @@ namespace
+ using boost::locale::conv::utf_to_utf;
+ out = utf_to_utf<wide_char_t>(in.c_str(), in.c_str() + in.size());
+ #elif defined(_MSC_VER) && (_MSC_VER == 1900)
+- // Workaround for confirmed bug in VS2015.
+- // See: https://social.msdn.microsoft.com/Forums/en-US/8f40dcd8-c67f-4eba-9134-a19b9178e481/vs-2015-rc-linker-stdcodecvt-error
+- auto s = std::wstring_convert<NANODBC_CODECVT_TYPE<wide_char_t>, wide_char_t>().from_bytes(in);
++ // Workaround for confirmed bug in VS2015. See:
++ // https://connect.microsoft.com/VisualStudio/Feedback/Details/1403302
++ // https://social.msdn.microsoft.com/Forums/en-US/8f40dcd8-c67f-4eba-9134-a19b9178e481/vs-2015-rc-linker-stdcodecvt-error
++ auto s = std::wstring_convert<NANODBC_CODECVT_TYPE<unsigned short>, unsigned short>().from_bytes(in);
+ auto p = reinterpret_cast<wide_char_t const*>(s.data());
+ out.assign(p, p + s.size());
+ #else