]> git.lizzy.rs Git - dragonfireclient.git/commitdiff
Serialize tool capabilities JSON without whitespace
authorsfan5 <sfan5@live.de>
Sat, 20 Mar 2021 21:06:17 +0000 (22:06 +0100)
committersfan5 <sfan5@live.de>
Sat, 20 Mar 2021 21:06:17 +0000 (22:06 +0100)
fixes #11087

src/convert_json.cpp
src/convert_json.h
src/tool.cpp

index c774aa002b4355fa7184909490ae3a8ffbed09a0..e9ff1e56c67723431d43675508a2bd0a17b30adb 100644 (file)
@@ -68,12 +68,17 @@ Json::Value fetchJsonValue(const std::string &url,
        return root;
 }
 
-std::string fastWriteJson(const Json::Value &value)
+void fastWriteJson(const Json::Value &value, std::ostream &to)
 {
-       std::ostringstream oss;
        Json::StreamWriterBuilder builder;
        builder["indentation"] = "";
        std::unique_ptr<Json::StreamWriter> writer(builder.newStreamWriter());
-       writer->write(value, &oss);
+       writer->write(value, &to);
+}
+
+std::string fastWriteJson(const Json::Value &value)
+{
+       std::ostringstream oss;
+       fastWriteJson(value, oss);
        return oss.str();
 }
index d8825acdc167e95d9c2abbff679131cc7089e721..2c094a94655d1daed9f4a9dceaee7d1a40f3c990 100644 (file)
@@ -20,8 +20,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #pragma once
 
 #include <json/json.h>
+#include <ostream>
 
 Json::Value fetchJsonValue(const std::string &url,
                std::vector<std::string> *extra_headers);
 
+void fastWriteJson(const Json::Value &value, std::ostream &to);
+
 std::string fastWriteJson(const Json::Value &value);
index 90f4f9c128cee94bbad29798b05bd71828a1fdb6..3f639a69ee3b7c1c40ce85a2eeaa22950e3c05e0 100644 (file)
@@ -23,6 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "log.h"
 #include "inventory.h"
 #include "exceptions.h"
+#include "convert_json.h"
 #include "util/serialize.h"
 #include "util/numeric.h"
 
@@ -142,7 +143,7 @@ void ToolCapabilities::serializeJson(std::ostream &os) const
        }
        root["damage_groups"] = damage_groups_object;
 
-       os << root;
+       fastWriteJson(root, os);
 }
 
 void ToolCapabilities::deserializeJson(std::istream &is)