diff --git a/json2table.cc b/json2table.cc index 21ade0d76469f71f2e54ba41915b93eef0d6352e..7a62640c6f50751f9d8a700bf53dd5d8474b54c4 100644 --- a/json2table.cc +++ b/json2table.cc @@ -5,6 +5,21 @@ #include <algorithm> #include <string> +#ifdef _WIN32 +#include <fcntl.h> +#include <io.h> +#ifdef __BORLANDC__ +#define _setmode setmode +#endif +inline void fix_fucking_windows_crlf_bug() { + _setmode(_fileno(stdout), _O_BINARY); +} +#else +#define fix_fucking_windows_crlf_bug() +#endif + + + using nlohmann::json; using std::string; using std::vector; @@ -74,9 +89,10 @@ void naive_json_access_path(json &input, rlib::string json_path) { } int main(int argc, char **argv) { + fix_fucking_windows_crlf_bug(); rlib::opt_parser args(argc, argv); if(args.getBoolArg("-h", "--help")) { - rlib::println("json2table version 1.0.6-2, maintainer Recolic Keghart <root@recolic.net>"); + rlib::println("json2table version 1.0.6-3, maintainer Recolic Keghart <root@recolic.net>"); rlib::println("Usage: cat xxx.json | json2table"); rlib::println("Usage: curl https://myapi/getJson | json2table /path/to/subobject"); rlib::println("Set --programming / -p to make the output easier for program to process. ");