added check to suppress error message if no scores found on score server
[rocksndiamonds.git] / src / files.c
index 11eba8f4b95dd2c3cd72b620d64c9ae8e388381e..9ad4b2386df6979d9cec44762a9ef09f93441de8 100644 (file)
@@ -9114,20 +9114,28 @@ static boolean SetRequest_ApiGetScore(struct HttpRequest *request,
   request->method   = API_SERVER_METHOD;
   request->uri      = API_SERVER_URI_GET;
 
+  char *levelset_identifier = getEscapedJSON(leveldir_current->identifier);
+  char *levelset_name       = getEscapedJSON(leveldir_current->name);
+
   snprintf(request->body, MAX_HTTP_BODY_SIZE,
           "{\n"
           "%s"
           "  \"game_version\":         \"%s\",\n"
           "  \"game_platform\":        \"%s\",\n"
           "  \"levelset_identifier\":  \"%s\",\n"
+          "  \"levelset_name\":        \"%s\",\n"
           "  \"level_nr\":             \"%d\"\n"
           "}\n",
           getPasswordJSON(setup.api_server_password),
           getProgramRealVersionString(),
           getProgramPlatformString(),
-          levelset.identifier,
+          levelset_identifier,
+          levelset_name,
           level_nr);
 
+  checked_free(levelset_identifier);
+  checked_free(levelset_name);
+
   ConvertHttpRequestBodyToServerEncoding(request);
 
   return TRUE;
@@ -9243,6 +9251,10 @@ static void ApiGetScore_HttpRequestExt(struct HttpRequest *request,
 
   if (!HTTP_SUCCESS(response->status_code))
   {
+    // do not show error message if no scores found for this level set
+    if (response->status_code == 404)
+      return;
+
     Error("server failed to handle request: %d %s",
          response->status_code,
          response->status_text);