]> git.lizzy.rs Git - minetest.git/blobdiff - src/convert_json.cpp
Add clouds API
[minetest.git] / src / convert_json.cpp
index 68912d482de84a496b9851fdd55593b407f1f3fb..e548c45f54ea61a697844b883f53e595832d281f 100644 (file)
@@ -52,7 +52,13 @@ Json::Value fetchJsonValue(const std::string &url,
        if (!reader.parse(stream, root)) {
                errorstream << "URL: " << url << std::endl;
                errorstream << "Failed to parse json data " << reader.getFormattedErrorMessages();
-               errorstream << "data: \"" << fetch_result.data << "\"" << std::endl;
+               if (fetch_result.data.size() > 100) {
+                       errorstream << "Data (" << fetch_result.data.size()
+                               << " bytes) printed to warningstream." << std::endl;
+                       warningstream << "data: \"" << fetch_result.data << "\"" << std::endl;
+               } else {
+                       errorstream << "data: \"" << fetch_result.data << "\"" << std::endl;
+               }
                return Json::Value();
        }
 
@@ -356,18 +362,10 @@ ModStoreModDetails          readModStoreModDetails(Json::Value& details) {
        }
 
        //value
-       if (details["rating"].asString().size()) {
-
-               std::string id_raw = details["rating"].asString();
-               char* endptr = 0;
-               float numbervalue = strtof(id_raw.c_str(),&endptr);
-
-               if ((id_raw != "") && (*endptr == 0)) {
-                       retval.rating = numbervalue;
-               }
-       }
-       else {
-               retval.rating = 0.0;
+       if (details["value"].isInt()) {
+               retval.rating = details["value"].asInt();
+       } else {
+               retval.rating = 0;
        }
 
        //depends