----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/55410/#review161209 -----------------------------------------------------------
This patch doesn't really fix the issue, the following program fails to produce appropriate JSON: ```c++ #include <stout/json.hpp> #include <stout/jsonify.hpp> #include <clocale> #include <iostream> #include <locale> int main(int argc, char **argv) { // Set locale to German. std::setlocale(LC_ALL, "de_DE.UTF-8"); std::cout.imbue(std::locale("de_DE.UTF-8")); std::vector<double> doubles = {1234567890.12345, 123456789.012345}; std::cout << jsonify(doubles) << '\n'; std::string str = jsonify(doubles); std::cout << str << '\n'; return 0; } ``` The reason is that the patch changes the locale of the `stream` but printing is done with `snprintf()`. At the same time, changing the locale of the stream is not thread safe (although using the stream concurrently should be heavily discouraged). - Alexander Rojas On Jan. 11, 2017, 11:03 a.m., Michael Park wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/55410/ > ----------------------------------------------------------- > > (Updated Jan. 11, 2017, 11:03 a.m.) > > > Review request for mesos and Alexander Rojas. > > > Repository: mesos > > > Description > ------- > > The `<xlocale.h>` header doesn't exist in Windows and thus broke > the Windows build. > > ``` > fatal error C1083: Cannot open include file: 'xlocale.h': No such file > ``` > > > Diffs > ----- > > 3rdparty/stout/include/stout/jsonify.hpp > 3c48046e087de2a66139a31449327fd94c149371 > > Diff: https://reviews.apache.org/r/55410/diff/ > > > Testing > ------- > > > Thanks, > > Michael Park > >