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:
parent
f7e57a0d20
commit
50423d8c72
10 changed files with 549 additions and 103 deletions
|
@ -27,6 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
#include <json/json.h>
|
||||
#include "cpp_api/s_security.h"
|
||||
#include "porting.h"
|
||||
#include "convert_json.h"
|
||||
#include "debug.h"
|
||||
#include "log.h"
|
||||
#include "tool.h"
|
||||
|
@ -95,12 +96,14 @@ int ModApiUtil::l_parse_json(lua_State *L)
|
|||
Json::Value root;
|
||||
|
||||
{
|
||||
Json::Reader reader;
|
||||
std::istringstream stream(jsonstr);
|
||||
|
||||
if (!reader.parse(stream, root)) {
|
||||
errorstream << "Failed to parse json data "
|
||||
<< reader.getFormattedErrorMessages();
|
||||
Json::CharReaderBuilder builder;
|
||||
builder.settings_["collectComments"] = false;
|
||||
std::string errs;
|
||||
|
||||
if (!Json::parseFromStream(builder, stream, &root, &errs)) {
|
||||
errorstream << "Failed to parse json data " << errs << std::endl;
|
||||
size_t jlen = strlen(jsonstr);
|
||||
if (jlen > 100) {
|
||||
errorstream << "Data (" << jlen
|
||||
|
@ -145,11 +148,9 @@ int ModApiUtil::l_write_json(lua_State *L)
|
|||
|
||||
std::string out;
|
||||
if (styled) {
|
||||
Json::StyledWriter writer;
|
||||
out = writer.write(root);
|
||||
out = root.toStyledString();
|
||||
} else {
|
||||
Json::FastWriter writer;
|
||||
out = writer.write(root);
|
||||
out = fastWriteJson(root);
|
||||
}
|
||||
lua_pushlstring(L, out.c_str(), out.size());
|
||||
return 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue