1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Update JsonCPP to 1.8.3 (#6466)

* Update JsonCPP to 1.8.3

* Fix deprecated functions

Json::FastWriter, Json::StyledWriter and Json::Reader are marked deprecated since 1.1 and are deprecated in 0.8 but not shown at compilation time.

Use new methods to serialize/deserialize
This commit is contained in:
Loïc Blot 2017-09-26 20:30:14 +02:00 committed by GitHub
parent f7e57a0d20
commit 50423d8c72
10 changed files with 549 additions and 103 deletions

View file

@ -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;
}