|
Boost : |
Subject: [boost] [locale] reporting MSVC issue
From: Artyom Beilis (artyom.beilis_at_[hidden])
Date: 2017-08-04 14:14:09
I noticed some failures in Boost.Locale using std backend and narrowed
it down to broken Japanese_Japan.932 support of codecvt facet.
I tried to report it on https://connect.microsoft.com/VisualStudio but
it shown me
" You are not authorized to submit the feedback for this connection. "
How can I report the bug to Mircrosoft?
Thank You,
Artyom
Below is the sample to reporoduce the issue:
Works ok on MSVC 10 and below
Fails on MSVC2017 - and it should work
----------------------
#include <iostream>
#include <locale>
#include <fstream>
int main()
{
{
// Japan in Shift JIS/cp932
char const *japan_932 = "\x93\xfa\x96\x7b";
std::ofstream f("testi.txt");
f<<japan_932;
f.close();
}
try {
std::wfstream test;
test.imbue(std::locale("Japanese_Japan.932"));
test.open("testi.txt");
// Japan in Unicode
std::wstring cmp = L"\u65e5\u672c";
std::wstring ref;
test >> ref;
if(ref != cmp) {
std::cout << "FAIL" << std::endl;
std::cout << "REF" << std::endl;
for(size_t i=0;i<ref.size();i++)
std::cout <<std::hex<< unsigned(ref[i]) << std::endl;
std::cout << "EXP" << std::endl;
for(size_t i=0;i<cmp.size();i++)
std::cout <<std::hex<< unsigned(cmp[i]) << std::endl;
}
else {
std::cout << "OK" << std::endl;
}
}
catch(std::exception const &e) {
std::cout << "No Locale: " << e.what() << std::endl;
}
}
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk