diff options
| author | sdcb <sdflysha@qq.com> | 2016-10-13 19:07:01 +0800 |
|---|---|---|
| committer | sdcb <sdflysha@qq.com> | 2016-10-13 19:07:01 +0800 |
| commit | ccb765efbb01a74bb8a8dec9629e137501fd7cdf (patch) | |
| tree | 4fc883c4df1f0935b7d2c5de8da202965039e6b4 /ports/nanodbc/0002_msvc14_codecvt.patch | |
| parent | d86224f012b070c0535f88926f072e74a587f2e5 (diff) | |
| download | vcpkg-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.patch | 34 |
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 |
