forked from Mirrorlandia_minetest/minetest
Fix invalid usage of temporary object in mainmenu json conversion
This commit is contained in:
parent
bb54e2cf1d
commit
a935d81053
@ -453,12 +453,11 @@ int ModApiMainMenu::l_get_favorites(lua_State *L)
|
|||||||
int top_lvl2 = lua_gettop(L);
|
int top_lvl2 = lua_gettop(L);
|
||||||
|
|
||||||
if (servers[i]["clients"].asString().size()) {
|
if (servers[i]["clients"].asString().size()) {
|
||||||
|
std::string clients_raw = servers[i]["clients"].asString();
|
||||||
const char* clients_raw = servers[i]["clients"].asString().c_str();
|
|
||||||
char* endptr = 0;
|
char* endptr = 0;
|
||||||
int numbervalue = strtol(clients_raw,&endptr,10);
|
int numbervalue = strtol(clients_raw.c_str(),&endptr,10);
|
||||||
|
|
||||||
if ((*clients_raw != 0) && (*endptr == 0)) {
|
if ((clients_raw != "") && (*endptr == 0)) {
|
||||||
lua_pushstring(L,"clients");
|
lua_pushstring(L,"clients");
|
||||||
lua_pushnumber(L,numbervalue);
|
lua_pushnumber(L,numbervalue);
|
||||||
lua_settable(L, top_lvl2);
|
lua_settable(L, top_lvl2);
|
||||||
@ -467,11 +466,11 @@ int ModApiMainMenu::l_get_favorites(lua_State *L)
|
|||||||
|
|
||||||
if (servers[i]["clients_max"].asString().size()) {
|
if (servers[i]["clients_max"].asString().size()) {
|
||||||
|
|
||||||
const char* clients_max_raw = servers[i]["clients_max"].asString().c_str();
|
std::string clients_max_raw = servers[i]["clients_max"].asString();
|
||||||
char* endptr = 0;
|
char* endptr = 0;
|
||||||
int numbervalue = strtol(clients_max_raw,&endptr,10);
|
int numbervalue = strtol(clients_max_raw.c_str(),&endptr,10);
|
||||||
|
|
||||||
if ((*clients_max_raw != 0) && (*endptr == 0)) {
|
if ((clients_max_raw != "") && (*endptr == 0)) {
|
||||||
lua_pushstring(L,"clients_max");
|
lua_pushstring(L,"clients_max");
|
||||||
lua_pushnumber(L,numbervalue);
|
lua_pushnumber(L,numbervalue);
|
||||||
lua_settable(L, top_lvl2);
|
lua_settable(L, top_lvl2);
|
||||||
@ -480,7 +479,8 @@ int ModApiMainMenu::l_get_favorites(lua_State *L)
|
|||||||
|
|
||||||
if (servers[i]["version"].asString().size()) {
|
if (servers[i]["version"].asString().size()) {
|
||||||
lua_pushstring(L,"version");
|
lua_pushstring(L,"version");
|
||||||
lua_pushstring(L,servers[i]["version"].asString().c_str());
|
std::string topush = servers[i]["version"].asString();
|
||||||
|
lua_pushstring(L,topush.c_str());
|
||||||
lua_settable(L, top_lvl2);
|
lua_settable(L, top_lvl2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -510,25 +510,29 @@ int ModApiMainMenu::l_get_favorites(lua_State *L)
|
|||||||
|
|
||||||
if (servers[i]["description"].asString().size()) {
|
if (servers[i]["description"].asString().size()) {
|
||||||
lua_pushstring(L,"description");
|
lua_pushstring(L,"description");
|
||||||
lua_pushstring(L,servers[i]["description"].asString().c_str());
|
std::string topush = servers[i]["description"].asString();
|
||||||
|
lua_pushstring(L,topush.c_str());
|
||||||
lua_settable(L, top_lvl2);
|
lua_settable(L, top_lvl2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (servers[i]["name"].asString().size()) {
|
if (servers[i]["name"].asString().size()) {
|
||||||
lua_pushstring(L,"name");
|
lua_pushstring(L,"name");
|
||||||
lua_pushstring(L,servers[i]["name"].asString().c_str());
|
std::string topush = servers[i]["name"].asString();
|
||||||
|
lua_pushstring(L,topush.c_str());
|
||||||
lua_settable(L, top_lvl2);
|
lua_settable(L, top_lvl2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (servers[i]["address"].asString().size()) {
|
if (servers[i]["address"].asString().size()) {
|
||||||
lua_pushstring(L,"address");
|
lua_pushstring(L,"address");
|
||||||
lua_pushstring(L,servers[i]["address"].asString().c_str());
|
std::string topush = servers[i]["address"].asString();
|
||||||
|
lua_pushstring(L,topush.c_str());
|
||||||
lua_settable(L, top_lvl2);
|
lua_settable(L, top_lvl2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (servers[i]["port"].asString().size()) {
|
if (servers[i]["port"].asString().size()) {
|
||||||
lua_pushstring(L,"port");
|
lua_pushstring(L,"port");
|
||||||
lua_pushstring(L,servers[i]["port"].asString().c_str());
|
std::string topush = servers[i]["port"].asString();
|
||||||
|
lua_pushstring(L,topush.c_str());
|
||||||
lua_settable(L, top_lvl2);
|
lua_settable(L, top_lvl2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user