summaryrefslogtreecommitdiff
path: root/chromium/third_party/inspector_protocol/crdtp/transcode.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/inspector_protocol/crdtp/transcode.cc')
-rw-r--r--chromium/third_party/inspector_protocol/crdtp/transcode.cc39
1 files changed, 7 insertions, 32 deletions
diff --git a/chromium/third_party/inspector_protocol/crdtp/transcode.cc b/chromium/third_party/inspector_protocol/crdtp/transcode.cc
index 3b113e65a39..5642314531f 100644
--- a/chromium/third_party/inspector_protocol/crdtp/transcode.cc
+++ b/chromium/third_party/inspector_protocol/crdtp/transcode.cc
@@ -7,35 +7,10 @@
#include <sstream>
#include <string>
-#include "encoding.h"
+#include "json.h"
namespace crdtp {
-class SingleThreadedPlatform : public json::Platform {
- bool StrToD(const char* str, double* result) const override {
- const char* saved_locale = std::setlocale(LC_NUMERIC, nullptr);
- char* end;
- *result = std::strtod(str, &end);
- std::setlocale(LC_NUMERIC, saved_locale);
- if (errno == ERANGE) {
- // errno must be reset, e.g. see the example here:
- // https://en.cppreference.com/w/cpp/string/byte/strtof
- errno = 0;
- return false;
- }
- return end == str + strlen(str);
- }
-
- std::unique_ptr<char[]> DToStr(double value) const override {
- std::stringstream ss;
- ss.imbue(std::locale("C"));
- ss << value;
- std::string str = ss.str();
- std::unique_ptr<char[]> result(new char[str.size() + 1]);
- memcpy(result.get(), str.c_str(), str.size() + 1);
- return result;
- }
-};
-
+namespace {
int Transcode(const std::string& cmd,
const std::string& input_file_name,
const std::string& output_file_name) {
@@ -51,12 +26,11 @@ int Transcode(const std::string& cmd,
in += buffer.substr(0, input_file.gcount());
}
Status status;
- SingleThreadedPlatform platform;
- std::string out;
+ std::vector<uint8_t> out;
if (cmd == "--json-to-cbor") {
- status = json::ConvertJSONToCBOR(platform, SpanFrom(in), &out);
+ status = json::ConvertJSONToCBOR(SpanFrom(in), &out);
} else if (cmd == "--cbor-to-json") {
- status = json::ConvertCBORToJSON(platform, SpanFrom(in), &out);
+ status = json::ConvertCBORToJSON(SpanFrom(in), &out);
} else {
std::cerr << "unknown command " << cmd << "\n";
return 1;
@@ -70,9 +44,10 @@ int Transcode(const std::string& cmd,
std::cerr << "failed to open " << output_file_name << "\n";
return 1;
}
- output_file.write(out.data(), out.size());
+ output_file.write(reinterpret_cast<const char*>(out.data()), out.size());
return 0;
}
+} // namespace
} // namespace crdtp
int main(int argc, char** argv) {