X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=9ad4b2386df6979d9cec44762a9ef09f93441de8;hb=75eedcede16797cabb473b6a4248d82ec5c2d3e7;hp=11eba8f4b95dd2c3cd72b620d64c9ae8e388381e;hpb=91b5e8017245999d9f72b5cd8089597eb827666e;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index 11eba8f4..9ad4b238 100644 --- a/src/files.c +++ b/src/files.c @@ -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);