summaryrefslogtreecommitdiff
path: root/src/mods.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mods.cpp')
-rw-r--r--src/mods.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/mods.cpp b/src/mods.cpp
index 405cf9c79..dae492339 100644
--- a/src/mods.cpp
+++ b/src/mods.cpp
@@ -26,6 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "subgame.h"
#include "settings.h"
#include "porting.h"
+#include "convert_json.h"
static bool parseDependsLine(std::istream &is,
std::string &dep, std::set<char> &symbols)
@@ -374,7 +375,7 @@ bool ModMetadata::save(const std::string &root_path)
}
bool w_ok = fs::safeWriteToFile(root_path + DIR_DELIM + m_mod_name,
- Json::FastWriter().write(json));
+ fastWriteJson(json));
if (w_ok) {
m_modified = false;
@@ -393,11 +394,14 @@ bool ModMetadata::load(const std::string &root_path)
return false;
}
- Json::Reader reader;
Json::Value root;
- if (!reader.parse(is, root)) {
+ Json::CharReaderBuilder builder;
+ builder.settings_["collectComments"] = false;
+ std::string errs;
+
+ if (!Json::parseFromStream(builder, is, &root, &errs)) {
errorstream << "ModMetadata[" << m_mod_name << "]: failed read data "
- "(Json decoding failure)." << std::endl;
+ "(Json decoding failure). Message: " << errs << std::endl;
return false;
}