From 08926f42d4c5c5f4f3b63b24fa162afa0f2ee280 Mon Sep 17 00:00:00 2001 From: Hourier <66951241+Hourier@users.noreply.github.com> Date: Sun, 30 Apr 2023 01:15:40 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#3209=20=E4=BD=9C=E6=A5=AD=E7=AF=84?= =?utf8?q?=E5=9B=B2=E3=81=AE=E8=AA=BF=E6=95=B4=EF=BC=9A=E6=94=B9=E8=A1=8C?= =?utf8?q?=E3=80=81=E5=9E=8B=E6=8E=A8=E8=AB=96=E3=80=81=E5=A4=89=E6=95=B0?= =?utf8?q?=E5=AE=A3=E8=A8=80=E3=81=A8=E4=BB=A3=E5=85=A5=E3=81=AE=E5=90=8C?= =?utf8?q?=E4=B8=80=E5=8C=96=E3=80=81stringstream=E3=81=AE=E4=BD=BF?= =?utf8?q?=E7=94=A8=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/autopick/autopick-reader-writer.cpp | 31 +++++++++++++------------------ src/autopick/autopick-registry.cpp | 15 +++++---------- src/cmd-io/cmd-diary.cpp | 6 +++--- src/cmd-io/cmd-dump.cpp | 24 +++++++++--------------- src/cmd-io/cmd-macro.cpp | 6 +++--- src/cmd-io/cmd-process-screen.cpp | 16 +++++----------- src/cmd-visual/cmd-visuals.cpp | 6 +++--- src/core/game-closer.cpp | 2 +- src/core/scores.cpp | 4 ---- src/info-reader/fixed-map-parser.cpp | 5 ++--- src/io-dump/random-art-info-dumper.cpp | 12 +++++------- src/io/files-util.cpp | 12 ++++-------- src/io/inet.cpp | 16 +++------------- src/io/read-pref-file.cpp | 1 - src/io/record-play-movie.cpp | 11 +---------- src/io/write-diary.cpp | 7 ++++--- src/main-win/graphics-win.cpp | 10 +++++----- src/main-win/main-win-cfg-reader.cpp | 2 +- src/main-win/main-win-music.cpp | 2 +- src/main-win/main-win-sound.cpp | 3 +-- src/main/angband-initializer.cpp | 5 +---- src/player/process-name.cpp | 5 ++--- src/util/angband-files.cpp | 8 ++++---- src/wizard/wizard-special-process.cpp | 3 +-- src/wizard/wizard-spoiler.cpp | 13 ++++++------- 25 files changed, 83 insertions(+), 142 deletions(-) diff --git a/src/autopick/autopick-reader-writer.cpp b/src/autopick/autopick-reader-writer.cpp index cd5c8def4..85d47eec4 100644 --- a/src/autopick/autopick-reader-writer.cpp +++ b/src/autopick/autopick-reader-writer.cpp @@ -9,7 +9,9 @@ #include "util/string-processor.h" #include "view/display-messages.h" #include +#include #include +#include /*! * @brief Load an autopick preference file @@ -61,17 +63,14 @@ std::string pickpref_filename(PlayerType *player_ptr, int filename_mode) */ static std::vector read_text_lines(std::string_view filename) { - FILE *fff; - - int lines = 0; char buf[1024]; - path_build(buf, sizeof(buf), ANGBAND_DIR_USER, filename); - fff = angband_fopen(buf, FileOpenMode::READ); + auto *fff = angband_fopen(buf, FileOpenMode::READ); if (!fff) { return {}; } + auto lines = 0; std::vector lines_list(MAX_LINES); while (angband_fgets(fff, buf, sizeof(buf)) == 0) { lines_list[lines++] = string_make(buf); @@ -93,34 +92,31 @@ static std::vector read_text_lines(std::string_view filename) */ static void prepare_default_pickpref(PlayerType *player_ptr) { - const concptr messages[] = { _("あなたは「自動拾いエディタ」を初めて起動しました。", "You have activated the Auto-Picker Editor for the first time."), + const std::vector messages = { _("あなたは「自動拾いエディタ」を初めて起動しました。", "You have activated the Auto-Picker Editor for the first time."), _("自動拾いのユーザー設定ファイルがまだ書かれていないので、", "Since user pref file for autopick is not yet created,"), - _("基本的な自動拾い設定ファイルをlib/pref/picktype.prfからコピーします。", "the default setting is loaded from lib/pref/pickpref.prf ."), nullptr }; + _("基本的な自動拾い設定ファイルをlib/pref/picktype.prfからコピーします。", "the default setting is loaded from lib/pref/pickpref.prf .") }; const auto filename = pickpref_filename(player_ptr, PT_DEFAULT); - for (int i = 0; messages[i]; i++) { - msg_print(messages[i]); + for (const auto &message : messages) { + msg_print(message); } msg_print(nullptr); char buf[1024]; path_build(buf, sizeof(buf), ANGBAND_DIR_USER, filename); - FILE *user_fp; - user_fp = angband_fopen(buf, FileOpenMode::WRITE); + auto *user_fp = angband_fopen(buf, FileOpenMode::WRITE); if (!user_fp) { return; } fprintf(user_fp, "#***\n"); - for (int i = 0; messages[i]; i++) { - fprintf(user_fp, "#*** %s\n", messages[i]); + for (const auto &message : messages) { + fprintf(user_fp, "#*** %s\n", message.data()); } fprintf(user_fp, "#***\n\n\n"); path_build(buf, sizeof(buf), ANGBAND_DIR_PREF, filename); - FILE *pref_fp; - pref_fp = angband_fopen(buf, FileOpenMode::READ); - + auto *pref_fp = angband_fopen(buf, FileOpenMode::READ); if (!pref_fp) { angband_fclose(user_fp); return; @@ -171,8 +167,7 @@ bool write_text_lines(concptr filename, concptr *lines_list) { char buf[1024]; path_build(buf, sizeof(buf), ANGBAND_DIR_USER, filename); - FILE *fff; - fff = angband_fopen(buf, FileOpenMode::WRITE); + auto *fff = angband_fopen(buf, FileOpenMode::WRITE); if (!fff) { return false; } diff --git a/src/autopick/autopick-registry.cpp b/src/autopick/autopick-registry.cpp index dde963226..b4d88ee68 100644 --- a/src/autopick/autopick-registry.cpp +++ b/src/autopick/autopick-registry.cpp @@ -30,9 +30,7 @@ static bool clear_auto_register(PlayerType *player_ptr) { char pref_file[1024]; path_build(pref_file, sizeof(pref_file), ANGBAND_DIR_USER, pickpref_filename(player_ptr, PT_WITH_PNAME)); - FILE *pref_fff; - pref_fff = angband_fopen(pref_file, FileOpenMode::READ); - + auto *pref_fff = angband_fopen(pref_file, FileOpenMode::READ); if (!pref_fff) { path_build(pref_file, sizeof(pref_file), ANGBAND_DIR_USER, pickpref_filename(player_ptr, PT_DEFAULT)); pref_fff = angband_fopen(pref_file, FileOpenMode::READ); @@ -43,8 +41,7 @@ static bool clear_auto_register(PlayerType *player_ptr) } char tmp_file[1024]; - FILE *tmp_fff; - tmp_fff = angband_fopen_temp(tmp_file, sizeof(tmp_file)); + auto *tmp_fff = angband_fopen_temp(tmp_file, sizeof(tmp_file)); if (!tmp_fff) { fclose(pref_fff); msg_format(_("一時ファイル %s を作成できませんでした。", "Failed to create temporary file %s."), tmp_file); @@ -52,8 +49,8 @@ static bool clear_auto_register(PlayerType *player_ptr) return false; } - bool autoregister = false; - int num = 0; + auto autoregister = false; + auto num = 0; char buf[1024]; while (true) { if (angband_fgets(pref_fff, buf, sizeof(buf))) { @@ -144,10 +141,8 @@ bool autopick_autoregister(PlayerType *player_ptr, ItemEntity *o_ptr) char buf[1024]; char pref_file[1024]; - FILE *pref_fff; path_build(pref_file, sizeof(pref_file), ANGBAND_DIR_USER, pickpref_filename(player_ptr, PT_WITH_PNAME)); - pref_fff = angband_fopen(pref_file, FileOpenMode::READ); - + auto *pref_fff = angband_fopen(pref_file, FileOpenMode::READ); if (!pref_fff) { path_build(pref_file, sizeof(pref_file), ANGBAND_DIR_USER, pickpref_filename(player_ptr, PT_DEFAULT)); pref_fff = angband_fopen(pref_file, FileOpenMode::READ); diff --git a/src/cmd-io/cmd-diary.cpp b/src/cmd-io/cmd-diary.cpp index 0255ac9c2..f2abcd5fa 100644 --- a/src/cmd-io/cmd-diary.cpp +++ b/src/cmd-io/cmd-diary.cpp @@ -26,10 +26,10 @@ */ static void display_diary(PlayerType *player_ptr) { - std::stringstream file_name; - file_name << _("playrecord-", "playrec-") << savefile_base << ".txt"; + std::stringstream ss; + ss << _("playrecord-", "playrec-") << savefile_base << ".txt"; char buf[1024]; - path_build(buf, sizeof(buf), ANGBAND_DIR_USER, file_name.str()); + path_build(buf, sizeof(buf), ANGBAND_DIR_USER, ss.str()); PlayerClass pc(player_ptr); const auto max_subtitles = diary_subtitles.size(); diff --git a/src/cmd-io/cmd-dump.cpp b/src/cmd-io/cmd-dump.cpp index 64fcf9b04..ec3fc579c 100644 --- a/src/cmd-io/cmd-dump.cpp +++ b/src/cmd-io/cmd-dump.cpp @@ -93,7 +93,7 @@ void do_cmd_colors(PlayerType *player_ptr) term_xtra(TERM_XTRA_REACT, 0); term_redraw(); } else if (i == '2') { - static concptr mark = "Colors"; + constexpr auto mark = "Colors"; prt(_("コマンド: カラーの設定をファイルに書き出します", "Command: Dump colors"), 8, 0); prt(_("ファイル: ", "File: "), 10, 0); strnfmt(tmp, sizeof(tmp), "%s.prf", player_ptr->base_name); @@ -113,7 +113,7 @@ void do_cmd_colors(PlayerType *player_ptr) int gv = angband_color_table[i][2]; int bv = angband_color_table[i][3]; - concptr name = _("未知", "unknown"); + auto name = _("未知", "unknown"); if (!kv && !rv && !gv && !bv) { continue; } @@ -267,14 +267,10 @@ void do_cmd_time(PlayerType *player_ptr) { int day, hour, min; extract_day_hour_min(player_ptr, &day, &hour, &min); - std::string desc = _("変な時刻だ。", "It is a strange time."); - std::string day_buf = (day < MAX_DAYS) ? std::to_string(day) : "*****"; - - msg_format(_("%s日目, 時刻は%d:%02d %sです。", "This is day %s. The time is %d:%02d %s."), day_buf.data(), (hour % 12 == 0) ? 12 : (hour % 12), min, - (hour < 12) ? "AM" : "PM"); - + constexpr auto mes = _("%s日目, 時刻は%d:%02d %sです。", "This is day %s. The time is %d:%02d %s."); + msg_format(mes, day_buf.data(), (hour % 12 == 0) ? 12 : (hour % 12), min, (hour < 12) ? "AM" : "PM"); char buf[1024]; if (!randint0(10) || player_ptr->effects()->hallucination()->is_hallucinated()) { path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, _("timefun_j.txt", "timefun.txt")); @@ -282,17 +278,15 @@ void do_cmd_time(PlayerType *player_ptr) path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, _("timenorm_j.txt", "timenorm.txt")); } - FILE *fff; - fff = angband_fopen(buf, FileOpenMode::READ); - + auto *fff = angband_fopen(buf, FileOpenMode::READ); if (!fff) { return; } - int full = hour * 100 + min; - int start = 9999; - int end = -9999; - int num = 0; + auto full = hour * 100 + min; + auto start = 9999; + auto end = -9999; + auto num = 0; while (!angband_fgets(fff, buf, sizeof(buf))) { if (!buf[0] || (buf[0] == '#')) { continue; diff --git a/src/cmd-io/cmd-macro.cpp b/src/cmd-io/cmd-macro.cpp index e16fe5c8c..cc0f9db81 100644 --- a/src/cmd-io/cmd-macro.cpp +++ b/src/cmd-io/cmd-macro.cpp @@ -23,7 +23,7 @@ */ static void macro_dump(FILE **fpp, concptr fname) { - static concptr mark = "Macro Dump"; + constexpr auto mark = "Macro Dump"; char buf[1024]; path_build(buf, sizeof(buf), ANGBAND_DIR_USER, fname); if (!open_auto_dump(fpp, buf, mark)) { @@ -32,7 +32,7 @@ static void macro_dump(FILE **fpp, concptr fname) auto_dump_printf(*fpp, _("\n# 自動マクロセーブ\n\n", "\n# Automatic macro dump\n\n")); - for (int i = 0; i < macro__num; i++) { + for (auto i = 0; i < macro__num; i++) { ascii_to_text(buf, macro__act[i], sizeof(buf)); auto_dump_printf(*fpp, "A:%s\n", buf); ascii_to_text(buf, macro__pat[i], sizeof(buf)); @@ -105,7 +105,6 @@ static void do_cmd_macro_aux_keymap(char *buf) static errr keymap_dump(concptr fname) { FILE *auto_dump_stream; - static concptr mark = "Keymap Dump"; char key[1024]; char buf[1024]; BIT_FLAGS mode; @@ -116,6 +115,7 @@ static errr keymap_dump(concptr fname) } path_build(buf, sizeof(buf), ANGBAND_DIR_USER, fname); + constexpr auto mark = "Keymap Dump"; if (!open_auto_dump(&auto_dump_stream, buf, mark)) { return -1; } diff --git a/src/cmd-io/cmd-process-screen.cpp b/src/cmd-io/cmd-process-screen.cpp index 60eb3c47b..045b94acd 100644 --- a/src/cmd-io/cmd-process-screen.cpp +++ b/src/cmd-io/cmd-process-screen.cpp @@ -204,8 +204,7 @@ void do_cmd_save_screen_html_aux(char *filename, int message) { TERM_LEN wid, hgt; term_get_size(&wid, &hgt); - FILE *fff; - fff = angband_fopen(filename, FileOpenMode::WRITE); + auto *fff = angband_fopen(filename, FileOpenMode::WRITE); if (!check_screen_html_can_open(fff, filename, message)) { return; } @@ -216,8 +215,7 @@ void do_cmd_save_screen_html_aux(char *filename, int message) char buf[2048]; path_build(buf, sizeof(buf), ANGBAND_DIR_USER, "htmldump.prf"); - FILE *tmpfff; - tmpfff = angband_fopen(buf, FileOpenMode::READ); + auto *tmpfff = angband_fopen(buf, FileOpenMode::READ); write_html_header(tmpfff, fff, buf, sizeof(buf)); screen_dump_lines(wid, hgt, fff); write_html_footer(tmpfff, fff, buf, sizeof(buf)); @@ -239,14 +237,12 @@ void do_cmd_save_screen_html_aux(char *filename, int message) static void do_cmd_save_screen_html(void) { char buf[1024], tmp[256] = "screen.html"; - if (!get_string(_("ファイル名: ", "File name: "), tmp, 80)) { return; } - path_build(buf, sizeof(buf), ANGBAND_DIR_USER, tmp); + path_build(buf, sizeof(buf), ANGBAND_DIR_USER, tmp); msg_print(nullptr); - do_cmd_save_screen_html_aux(buf, 1); } @@ -305,10 +301,9 @@ static bool do_cmd_save_screen_text(int wid, int hgt) { TERM_COLOR a = 0; auto c = ' '; - FILE *fff; char buf[1024]; path_build(buf, sizeof(buf), ANGBAND_DIR_USER, "dump.txt"); - fff = angband_fopen(buf, FileOpenMode::WRITE); + auto *fff = angband_fopen(buf, FileOpenMode::WRITE); if (!check_screen_text_can_open(fff, buf)) { return false; } @@ -481,12 +476,11 @@ static void draw_colored_characters(char buf[], FILE *fff, int wid, int hgt, boo */ void do_cmd_load_screen(void) { - FILE *fff; char buf[1024]; TERM_LEN wid, hgt; term_get_size(&wid, &hgt); path_build(buf, sizeof(buf), ANGBAND_DIR_USER, "dump.txt"); - fff = angband_fopen(buf, FileOpenMode::READ); + auto *fff = angband_fopen(buf, FileOpenMode::READ); if (!fff) { msg_format(_("%s を開くことができませんでした。", "Failed to open %s."), buf); msg_print(nullptr); diff --git a/src/cmd-visual/cmd-visuals.cpp b/src/cmd-visual/cmd-visuals.cpp index 9fd8add08..8ab9f7f24 100644 --- a/src/cmd-visual/cmd-visuals.cpp +++ b/src/cmd-visual/cmd-visuals.cpp @@ -115,7 +115,6 @@ void do_cmd_visuals(PlayerType *player_ptr) break; } case '1': { - static concptr mark = "Monster attr/chars"; prt(_("コマンド: モンスターの[色/文字]をファイルに書き出します", "Command: Dump monster attr/chars"), 15, 0); prt(_("ファイル: ", "File: "), 17, 0); strnfmt(tmp, sizeof(tmp), "%s.prf", player_ptr->base_name); @@ -124,6 +123,7 @@ void do_cmd_visuals(PlayerType *player_ptr) } path_build(buf, sizeof(buf), ANGBAND_DIR_USER, tmp); + constexpr auto mark = "Monster attr/chars"; if (!open_auto_dump(&auto_dump_stream, buf, mark)) { continue; } @@ -143,7 +143,6 @@ void do_cmd_visuals(PlayerType *player_ptr) break; } case '2': { - static concptr mark = "Object attr/chars"; prt(_("コマンド: アイテムの[色/文字]をファイルに書き出します", "Command: Dump object attr/chars"), 15, 0); prt(_("ファイル: ", "File: "), 17, 0); strnfmt(tmp, sizeof(tmp), "%s.prf", player_ptr->base_name); @@ -152,6 +151,7 @@ void do_cmd_visuals(PlayerType *player_ptr) } path_build(buf, sizeof(buf), ANGBAND_DIR_USER, tmp); + constexpr auto mark = "Object attr/chars"; if (!open_auto_dump(&auto_dump_stream, buf, mark)) { continue; } @@ -180,7 +180,6 @@ void do_cmd_visuals(PlayerType *player_ptr) break; } case '3': { - static concptr mark = "Feature attr/chars"; prt(_("コマンド: 地形の[色/文字]をファイルに書き出します", "Command: Dump feature attr/chars"), 15, 0); prt(_("ファイル: ", "File: "), 17, 0); strnfmt(tmp, sizeof(tmp), "%s.prf", player_ptr->base_name); @@ -189,6 +188,7 @@ void do_cmd_visuals(PlayerType *player_ptr) } path_build(buf, sizeof(buf), ANGBAND_DIR_USER, tmp); + constexpr auto mark = "Feature attr/chars"; if (!open_auto_dump(&auto_dump_stream, buf, mark)) { continue; } diff --git a/src/core/game-closer.cpp b/src/core/game-closer.cpp index 5022668ba..e5b632bfe 100644 --- a/src/core/game-closer.cpp +++ b/src/core/game-closer.cpp @@ -144,7 +144,6 @@ static void kingly(PlayerType *player_ptr) */ void close_game(PlayerType *player_ptr) { - bool do_send = true; handle_stuff(player_ptr); msg_print(nullptr); flush(); @@ -166,6 +165,7 @@ void close_game(PlayerType *player_ptr) kingly(player_ptr); } + auto do_send = true; if (!cheat_save || get_check(_("死んだデータをセーブしますか? ", "Save death? "))) { update_playtime(); w_ptr->sf_play_time += w_ptr->play_time; diff --git a/src/core/scores.cpp b/src/core/scores.cpp index fad118e1b..73ca98284 100644 --- a/src/core/scores.cpp +++ b/src/core/scores.cpp @@ -361,9 +361,7 @@ void show_highclass(PlayerType *player_ptr) screen_save(); char buf[1024], out_val[256]; path_build(buf, sizeof(buf), ANGBAND_DIR_APEX, "scores.raw"); - highscore_fd = fd_open(buf, O_RDONLY); - if (highscore_fd < 0) { msg_print(_("スコア・ファイルが使用できません。", "Score file unavailable.")); msg_print(nullptr); @@ -443,9 +441,7 @@ void race_score(PlayerType *player_ptr, int race_num) /* rr9: TODO - pluralize the race */ prt(std::string(_("最高の", "The Greatest of all the ")).append(race_info[race_num].title), 5, 15); path_build(buf, sizeof(buf), ANGBAND_DIR_APEX, "scores.raw"); - highscore_fd = fd_open(buf, O_RDONLY); - if (highscore_fd < 0) { msg_print(_("スコア・ファイルが使用できません。", "Score file unavailable.")); msg_print(nullptr); diff --git a/src/info-reader/fixed-map-parser.cpp b/src/info-reader/fixed-map-parser.cpp index 839f1afa2..72998429b 100644 --- a/src/info-reader/fixed-map-parser.cpp +++ b/src/info-reader/fixed-map-parser.cpp @@ -255,7 +255,7 @@ parse_error_type parse_fixed_map(PlayerType *player_ptr, std::string_view name, { char buf[1024]; path_build(buf, sizeof(buf), ANGBAND_DIR_EDIT, name); - FILE *fp = angband_fopen(buf, FileOpenMode::READ); + auto *fp = angband_fopen(buf, FileOpenMode::READ); if (fp == nullptr) { return PARSE_ERROR_GENERIC; } @@ -294,7 +294,7 @@ parse_error_type parse_fixed_map(PlayerType *player_ptr, std::string_view name, if (err != 0) { concptr oops = (((err > 0) && (err < PARSE_ERROR_MAX)) ? err_str[err] : "unknown"); - msg_format("Error %d (%s) at line %d of '%s'.", err, oops, num, name); + msg_format("Error %d (%s) at line %d of '%s'.", err, oops, num, name.data()); msg_format(_("'%s'を解析中。", "Parsing '%s'."), buf); msg_print(nullptr); } @@ -330,7 +330,6 @@ static QuestId parse_quest_number(const std::vector &token) */ static void parse_quest_info_aux(std::string_view file_name, std::set &key_list_ref) { - auto push_set = [&key_list_ref, &file_name](auto q, auto line) { if (q == QuestId::NONE) { return; diff --git a/src/io-dump/random-art-info-dumper.cpp b/src/io-dump/random-art-info-dumper.cpp index 385130297..0753d0082 100644 --- a/src/io-dump/random-art-info-dumper.cpp +++ b/src/io-dump/random-art-info-dumper.cpp @@ -68,8 +68,6 @@ static void spoil_random_artifact_aux(PlayerType *player_ptr, ItemEntity *o_ptr, */ void spoil_random_artifact(PlayerType *player_ptr, concptr fname) { - store_type *store_ptr; - ItemEntity *q_ptr; char buf[1024]; path_build(buf, sizeof(buf), ANGBAND_DIR_USER, fname); spoiler_file = angband_fopen(buf, FileOpenMode::WRITE); @@ -82,24 +80,24 @@ void spoil_random_artifact(PlayerType *player_ptr, concptr fname) for (const auto &[tval_list, name] : group_artifact_list) { for (auto tval : tval_list) { for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) { - q_ptr = &player_ptr->inventory_list[i]; + auto *q_ptr = &player_ptr->inventory_list[i]; spoil_random_artifact_aux(player_ptr, q_ptr, tval); } for (int i = 0; i < INVEN_PACK; i++) { - q_ptr = &player_ptr->inventory_list[i]; + auto *q_ptr = &player_ptr->inventory_list[i]; spoil_random_artifact_aux(player_ptr, q_ptr, tval); } - store_ptr = &towns_info[1].store[enum2i(StoreSaleType::HOME)]; + const auto *store_ptr = &towns_info[1].store[enum2i(StoreSaleType::HOME)]; for (int i = 0; i < store_ptr->stock_num; i++) { - q_ptr = &store_ptr->stock[i]; + auto *q_ptr = &store_ptr->stock[i]; spoil_random_artifact_aux(player_ptr, q_ptr, tval); } store_ptr = &towns_info[1].store[enum2i(StoreSaleType::MUSEUM)]; for (int i = 0; i < store_ptr->stock_num; i++) { - q_ptr = &store_ptr->stock[i]; + auto *q_ptr = &store_ptr->stock[i]; spoil_random_artifact_aux(player_ptr, q_ptr, tval); } } diff --git a/src/io/files-util.cpp b/src/io/files-util.cpp index a174815b6..6dd4a1c7d 100644 --- a/src/io/files-util.cpp +++ b/src/io/files-util.cpp @@ -63,7 +63,7 @@ errr file_character(PlayerType *player_ptr, concptr name) { char buf[1024]; path_build(buf, sizeof(buf), ANGBAND_DIR_USER, name); - int fd = fd_open(buf, O_RDONLY); + auto fd = fd_open(buf, O_RDONLY); if (fd >= 0) { std::string query = _("現存するファイル ", "Replace existing file "); query.append(buf).append(_(" に上書きしますか? ", "? ")); @@ -271,15 +271,13 @@ uint32_t counts_read(PlayerType *player_ptr, int where) { char buf[1024]; path_build(buf, sizeof(buf), ANGBAND_DIR_DATA, _("z_info_j.raw", "z_info.raw")); - int fd = fd_open(buf, O_RDONLY); - + auto fd = fd_open(buf, O_RDONLY); uint32_t count = 0; if (counts_seek(player_ptr, fd, where, false) || fd_read(fd, (char *)(&count), sizeof(uint32_t))) { count = 0; } (void)fd_close(fd); - return count; } @@ -306,7 +304,7 @@ errr counts_write(PlayerType *player_ptr, int where, uint32_t count) } safe_setuid_grab(player_ptr); - errr err = fd_lock(fd, F_WRLCK); + auto err = fd_lock(fd, F_WRLCK); safe_setuid_drop(); if (err) { return 1; @@ -334,9 +332,7 @@ errr counts_write(PlayerType *player_ptr, int where, uint32_t count) void read_dead_file(char *buf, size_t buf_size) { path_build(buf, buf_size, ANGBAND_DIR_FILE, _("dead_j.txt", "dead.txt")); - - FILE *fp; - fp = angband_fopen(buf, FileOpenMode::READ); + auto *fp = angband_fopen(buf, FileOpenMode::READ); if (!fp) { return; } diff --git a/src/io/inet.cpp b/src/io/inet.cpp index 6c8917cdd..664464361 100644 --- a/src/io/inet.cpp +++ b/src/io/inet.cpp @@ -32,17 +32,9 @@ static int proxy_port; void set_proxy(char *default_url, int default_port) { char buf[1024]; - size_t len; - FILE *fp; - char *s; - path_build(buf, sizeof(buf), ANGBAND_DIR_PREF, "proxy.prf"); - - /* ファイルから設定を読む。 */ - fp = angband_fopen(buf, FileOpenMode::READ); - + auto *fp = angband_fopen(buf, FileOpenMode::READ); if (!fp) { - /* ファイルが存在しない場合はデフォルトを設定 */ proxy = default_url; proxy_port = default_port; return; @@ -55,9 +47,7 @@ void set_proxy(char *default_url, int default_port) } angband_fclose(fp); - - /* ポインタを用意。 */ - s = buf; + auto *s = buf; /* "http://" から始まっている場合はその部分をカットする。 */ #if defined(WINDOWS) @@ -71,7 +61,7 @@ void set_proxy(char *default_url, int default_port) #endif /* 文字列の長さを調べ、必要なメモリを確保 */ - len = strlen(s); + auto len = strlen(s); proxy = static_cast(malloc(len + 1)); /* ポート番号があるかどうかを調べ、あればproxy_portに設定。 */ diff --git a/src/io/read-pref-file.cpp b/src/io/read-pref-file.cpp index a69cba54a..92d8b4f3a 100644 --- a/src/io/read-pref-file.cpp +++ b/src/io/read-pref-file.cpp @@ -159,7 +159,6 @@ errr process_pref_file(PlayerType *player_ptr, concptr name, bool only_user_dir) errr err1 = 0; if (!only_user_dir) { path_build(buf, sizeof(buf), ANGBAND_DIR_PREF, name); - err1 = process_pref_file_aux(player_ptr, buf, PREF_TYPE_NORMAL); if (err1 > 0) { return err1; diff --git a/src/io/record-play-movie.cpp b/src/io/record-play-movie.cpp index b2a6204cf..7438c85b1 100644 --- a/src/io/record-play-movie.cpp +++ b/src/io/record-play-movie.cpp @@ -344,22 +344,13 @@ void prepare_movie_hooks(PlayerType *player_ptr) strnfmt(filename, sizeof(filename), "%s.amv", player_ptr->base_name); if (get_string(_("ムービー記録ファイル: ", "Movie file name: "), filename, 80)) { char buf[1024]; - int fd; - path_build(buf, sizeof(buf), ANGBAND_DIR_USER, filename); - - fd = fd_open(buf, O_RDONLY); - - /* Existing file */ + auto fd = fd_open(buf, O_RDONLY); if (fd >= 0) { (void)fd_close(fd); - - /* Build query */ std::string query = _("現存するファイルに上>書きしますか? (", "Replace existing file "); query.append(buf); query.append(_(")", "? ")); - - /* Ask */ if (!get_check(query)) { return; } diff --git a/src/io/write-diary.cpp b/src/io/write-diary.cpp index 3069a1248..d60a04722 100644 --- a/src/io/write-diary.cpp +++ b/src/io/write-diary.cpp @@ -20,6 +20,7 @@ #include "util/bit-flags-calculator.h" #include "view/display-messages.h" #include "world/world.h" +#include bool write_level; //!< @todo *抹殺* したい… @@ -55,10 +56,10 @@ concptr get_ordinal_number_suffix(int num) */ static bool open_diary_file(FILE **fff, bool *disable_diary) { - std::string file_name = _("playrecord-", "playrec-"); - file_name.append(savefile_base).append(".txt"); + std::stringstream ss; + ss << _("playrecord-", "playrec-") << savefile_base << ".txt"; char buf[1024]; - path_build(buf, sizeof(buf), ANGBAND_DIR_USER, file_name); + path_build(buf, sizeof(buf), ANGBAND_DIR_USER, ss.str()); *fff = angband_fopen(buf, FileOpenMode::APPEND); if (*fff) { return true; diff --git a/src/main-win/graphics-win.cpp b/src/main-win/graphics-win.cpp index 20713d609..e359c5e6c 100644 --- a/src/main-win/graphics-win.cpp +++ b/src/main-win/graphics-win.cpp @@ -79,8 +79,8 @@ graphics_mode change_graphics(graphics_mode arg) char buf[MAIN_WIN_MAX_PATH]; BYTE wid, hgt, twid, thgt, ox, oy; - concptr name; - concptr name_mask = nullptr; + std::string name; + std::string name_mask(""); infGraph.delete_bitmap(); @@ -124,7 +124,7 @@ graphics_mode change_graphics(graphics_mode arg) path_build(buf, sizeof(buf), ANGBAND_DIR_XTRA_GRAF, name); infGraph.hBitmap = read_graphic(buf); if (!infGraph.hBitmap) { - plog_fmt(_("ビットマップ '%s' を読み込めません。", "Cannot read bitmap file '%s'"), name); + plog_fmt(_("ビットマップ '%s' を読み込めません。", "Cannot read bitmap file '%s'"), name.data()); ANGBAND_GRAF = "ascii"; current_graphics_mode = graphics_mode::GRAPHICS_NONE; return current_graphics_mode; @@ -137,11 +137,11 @@ graphics_mode change_graphics(graphics_mode arg) infGraph.OffsetX = ox; infGraph.OffsetY = oy; - if (name_mask) { + if (name_mask.empty()) { path_build(buf, sizeof(buf), ANGBAND_DIR_XTRA_GRAF, name_mask); infGraph.hBitmapMask = read_graphic(buf); if (!infGraph.hBitmapMask) { - plog_fmt(_("ビットマップ '%s' を読み込めません。", "Cannot read bitmap file '%s'"), name_mask); + plog_fmt(_("ビットマップ '%s' を読み込めません。", "Cannot read bitmap file '%s'"), name_mask.data()); ANGBAND_GRAF = "ascii"; current_graphics_mode = graphics_mode::GRAPHICS_NONE; return current_graphics_mode; diff --git a/src/main-win/main-win-cfg-reader.cpp b/src/main-win/main-win-cfg-reader.cpp index 77c3adcb3..fd811235b 100644 --- a/src/main-win/main-win-cfg-reader.cpp +++ b/src/main-win/main-win-cfg-reader.cpp @@ -114,7 +114,7 @@ CfgData *CfgReader::read_sections(std::initializer_list sections) guess_convert_to_system_encoding(buf, MAIN_WIN_MAX_PATH); #endif const int num = tokenize_whitespace(buf, SAMPLE_MAX, tokens); - for (int j = 0; j < num; j++) { + for (auto j = 0; j < num; j++) { path_build(path, MAIN_WIN_MAX_PATH, dir, tokens[j]); if (check_file(path)) { filenames->push_back(string_make(tokens[j])); diff --git a/src/main-win/main-win-music.cpp b/src/main-win/main-win-music.cpp index 00a4c3479..9cb881f1c 100644 --- a/src/main-win/main-win-music.cpp +++ b/src/main-win/main-win-music.cpp @@ -185,7 +185,7 @@ errr play_music(int type, int val) return 0; } // now playing - concptr filename = music_cfg_data->get_rand(type, val); + auto filename = music_cfg_data->get_rand(type, val); if (!filename) { return 1; } // no setting diff --git a/src/main-win/main-win-sound.cpp b/src/main-win/main-win-sound.cpp index 8daae3c97..8bfa27abe 100644 --- a/src/main-win/main-win-sound.cpp +++ b/src/main-win/main-win-sound.cpp @@ -255,14 +255,13 @@ void finalize_sound(void) */ errr play_sound(int val, int volume) { - concptr filename = sound_cfg_data->get_rand(TERM_XTRA_SOUND, val); + auto filename = sound_cfg_data->get_rand(TERM_XTRA_SOUND, val); if (!filename) { return 1; } char buf[MAIN_WIN_MAX_PATH]; path_build(buf, MAIN_WIN_MAX_PATH, ANGBAND_DIR_XTRA_SOUND, filename); - if (play_sound_impl(buf, volume)) { return 0; } diff --git a/src/main/angband-initializer.cpp b/src/main/angband-initializer.cpp index 464706bb4..69fb4301d 100644 --- a/src/main/angband-initializer.cpp +++ b/src/main/angband-initializer.cpp @@ -224,13 +224,10 @@ void init_angband(PlayerType *player_ptr, bool no_term) } (void)fd_close(fd); - if (!no_term) { term_clear(); - path_build(buf, sizeof(buf), ANGBAND_DIR_FILE, _("news_j.txt", "news.txt")); - FILE *fp; - fp = angband_fopen(buf, FileOpenMode::READ); + auto *fp = angband_fopen(buf, FileOpenMode::READ); if (fp) { int i = 0; while (0 == angband_fgets(fp, buf, sizeof(buf))) { diff --git a/src/player/process-name.cpp b/src/player/process-name.cpp index 8933c71d1..ebf8d354a 100644 --- a/src/player/process-name.cpp +++ b/src/player/process-name.cpp @@ -102,10 +102,9 @@ void process_player_name(PlayerType *player_ptr, bool is_new_savefile) } if (is_modified || !savefile_base[0]) { - concptr s = savefile; + auto s = savefile; while (true) { - concptr t; - t = angband_strstr(s, PATH_SEP); + auto t = angband_strstr(s, PATH_SEP); if (!t) { break; } diff --git a/src/util/angband-files.cpp b/src/util/angband-files.cpp index 0a0626b6b..792283d9d 100644 --- a/src/util/angband-files.cpp +++ b/src/util/angband-files.cpp @@ -164,14 +164,14 @@ static errr path_temp(char *buf, int max) void path_build(char *buf, int max, const std::filesystem::path &path, std::string_view file) { if (file[0] == '~') { - (void)strnfmt(buf, max, "%s", file); + (void)strnfmt(buf, max, "%s", file.data()); } else if (prefix(file, PATH_SEP)) { - (void)strnfmt(buf, max, "%s", file); + (void)strnfmt(buf, max, "%s", file.data()); } else if (!path.string()[0]) { - (void)strnfmt(buf, max, "%s", file); + (void)strnfmt(buf, max, "%s", file.data()); } else { const auto &path_str = path.string(); - (void)strnfmt(buf, max, "%s%s%s", path_str.data(), PATH_SEP, file); + (void)strnfmt(buf, max, "%s%s%s", path_str.data(), PATH_SEP, file.data()); } } diff --git a/src/wizard/wizard-special-process.cpp b/src/wizard/wizard-special-process.cpp index 919ee0308..b0963fe4e 100644 --- a/src/wizard/wizard-special-process.cpp +++ b/src/wizard/wizard-special-process.cpp @@ -752,8 +752,7 @@ void wiz_dump_options(void) { char buf[1024]; path_build(buf, sizeof(buf), ANGBAND_DIR_USER, "opt_info.txt"); - FILE *fff; - fff = angband_fopen(buf, FileOpenMode::APPEND); + auto *fff = angband_fopen(buf, FileOpenMode::APPEND); if (fff == nullptr) { msg_format(_("ファイル %s を開けませんでした。", "Failed to open file %s."), buf); msg_print(nullptr); diff --git a/src/wizard/wizard-spoiler.cpp b/src/wizard/wizard-spoiler.cpp index 274bea563..6c06ac046 100644 --- a/src/wizard/wizard-spoiler.cpp +++ b/src/wizard/wizard-spoiler.cpp @@ -45,6 +45,7 @@ #include #include #include +#include #include static constexpr std::array wiz_spell_stat = { { @@ -105,10 +106,10 @@ static SpoilerOutputResultType spoil_mon_evol(concptr fname) return SpoilerOutputResultType::FILE_OPEN_FAILED; } - spoil_out(std::string("Monster Spoilers for ").append(get_version()).append("\n")); - + std::stringstream ss; + ss << "Monster Spoilers for " << get_version() << '\n'; + spoil_out(ss.str()); spoil_out("------------------------------------------\n\n"); - for (auto r_idx : get_mon_evol_roots()) { auto r_ptr = &monraces_info[r_idx]; fprintf(spoiler_file, _("[%d]: %s (レベル%d, '%c')\n", "[%d]: %s (Level %d, '%c')\n"), enum2i(r_idx), r_ptr->name.data(), (int)r_ptr->level, r_ptr->d_char); @@ -177,7 +178,6 @@ static SpoilerOutputResultType spoil_categorized_mon_desc() static SpoilerOutputResultType spoil_player_spell(concptr fname) { char buf[1024]; - path_build(buf, sizeof buf, ANGBAND_DIR_USER, fname); spoiler_file = angband_fopen(buf, FileOpenMode::WRITE); if (!spoiler_file) { @@ -189,13 +189,12 @@ static SpoilerOutputResultType spoil_player_spell(concptr fname) PlayerType dummy_p; dummy_p.lev = 1; - - for (int c = 0; c < PLAYER_CLASS_TYPE_MAX; c++) { + for (auto c = 0; c < PLAYER_CLASS_TYPE_MAX; c++) { auto class_ptr = &class_info[c]; spoil_out(format("[[Class: %s]]\n", class_ptr->title)); auto magic_ptr = &class_magics_info[c]; - concptr book_name = "なし"; + auto book_name = "なし"; if (magic_ptr->spell_book != ItemKindType::NONE) { ItemEntity book; auto o_ptr = &book; -- 2.11.0