Boost logo

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