From 9e6fd6148914667154ee810b6e5e68b33a57ab18 Mon Sep 17 00:00:00 2001 From: Hourier Date: Sat, 28 Aug 2021 12:45:22 +0900 Subject: [PATCH] [Refactor] Changed return type of report_score() from errr to bool --- src/core/scores.cpp | 4 ++-- src/io/report.cpp | 28 +++++++++++++--------------- src/io/report.h | 2 +- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/core/scores.cpp b/src/core/scores.cpp index bc37da222..e686a4362 100644 --- a/src/core/scores.cpp +++ b/src/core/scores.cpp @@ -158,9 +158,9 @@ bool send_world_score(player_type *current_player_ptr, bool do_send, display_pla prt(_("送信中..", "Sending..."), 0, 0); term_fresh(); screen_save(); - auto err = report_score(current_player_ptr, display_player); + auto successful_send = report_score(current_player_ptr, display_player); screen_load(); - if (err) { + if (!successful_send) { return false; } diff --git a/src/io/report.cpp b/src/io/report.cpp index 9787427ee..dceae6e78 100644 --- a/src/io/report.cpp +++ b/src/io/report.cpp @@ -401,10 +401,10 @@ concptr make_screen_dump(player_type *creature_ptr) /*! * @brief スコア転送処理のメインルーチン * @param creature_ptr プレーヤーへの参照ポインタ - * @return 正常終了の時0、異常があったら1 + * @return 正常にスコアを送信できたらtrue、失敗時に送信を中止したらfalse * @todo メッセージは言語選択の関数マクロで何とかならんか? */ -errr report_score(player_type *creature_ptr, display_player_pf display_player) +bool report_score(player_type *creature_ptr, display_player_pf display_player) { BUF *score; score = buf_new(); @@ -451,28 +451,26 @@ errr report_score(player_type *creature_ptr, display_player_pf display_player) term_clear(); - bool succeeded = false; - while (!succeeded) { + while (true) { term_fresh(); prt(_("スコア送信中...", "Sending the score..."), 0, 0); term_fresh(); if (http_post(SCORE_PATH, score)) { - succeeded = true; - } else { - prt(_("スコア・サーバへの送信に失敗しました。", "Failed to send to the score server."), 0, 0); - (void)inkey(); - - if (!get_check_strict(creature_ptr, _("もう一度接続を試みますか? ", "Try again? "), CHECK_NO_HISTORY)) { - break; - } + buf_delete(score); + return true; } - } - buf_delete(score); + prt(_("スコア・サーバへの送信に失敗しました。", "Failed to send to the score server."), 0, 0); + (void)inkey(); + if (get_check_strict(creature_ptr, _("もう一度接続を試みますか? ", "Try again? "), CHECK_NO_HISTORY)) { + continue; + } - return succeeded ? 0 : 1; + buf_delete(score); + return false; + } } #else concptr screen_dump = NULL; diff --git a/src/io/report.h b/src/io/report.h index 098a3deb1..ae93f39d6 100644 --- a/src/io/report.h +++ b/src/io/report.h @@ -8,6 +8,6 @@ extern concptr screen_dump; #include "io/files-util.h" typedef struct player_type player_type; -errr report_score(player_type *creature_ptr, display_player_pf display_player); +bool report_score(player_type *creature_ptr, display_player_pf display_player); concptr make_screen_dump(player_type *creature_ptr); #endif -- 2.11.0