From 1b50b020d8495967ebfc57184e21a4a84627420d Mon Sep 17 00:00:00 2001 From: deskull Date: Sun, 19 Apr 2020 18:18:22 +0900 Subject: [PATCH] =?utf8?q?[Fix]=20#40233=20FILE=20=E3=83=9D=E3=82=A4?= =?utf8?q?=E3=83=B3=E3=82=BF=E3=81=AE=E5=8F=82=E7=85=A7=E5=87=A6=E7=90=86?= =?utf8?q?=E3=83=9F=E3=82=B9=E3=82=92=E4=BF=AE=E6=AD=A3=EF=BC=8E=20/=20FIL?= =?utf8?q?E=20pointer=20reference=20processing=20corrections.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/cmd/cmd-dump.c | 4 ++-- src/cmd/cmd-macro.c | 21 +++++++++++---------- src/cmd/cmd-visuals.c | 12 ++++++------ src/io/read-pref-file.c | 22 +++++++++++----------- src/io/read-pref-file.h | 4 ++-- 5 files changed, 32 insertions(+), 31 deletions(-) diff --git a/src/cmd/cmd-dump.c b/src/cmd/cmd-dump.c index b39310f84..5af17276b 100644 --- a/src/cmd/cmd-dump.c +++ b/src/cmd/cmd-dump.c @@ -376,7 +376,7 @@ void do_cmd_colors(player_type *creature_ptr) if (!askfor(tmp, 70)) continue; path_build(buf, sizeof(buf), ANGBAND_DIR_USER, tmp); - if (!open_auto_dump(auto_dump_stream, buf, mark)) continue; + if (!open_auto_dump(&auto_dump_stream, buf, mark)) continue; auto_dump_printf(auto_dump_stream, _("\n# カラーの設定\n\n", "\n# Color redefinitions\n\n")); for (i = 0; i < 256; i++) @@ -396,7 +396,7 @@ void do_cmd_colors(player_type *creature_ptr) i, kv, rv, gv, bv); } - close_auto_dump(auto_dump_stream, mark); + close_auto_dump(&auto_dump_stream, mark); msg_print(_("カラーの設定をファイルに書き出しました。", "Dumped color redefinitions.")); } else if (i == '3') diff --git a/src/cmd/cmd-macro.c b/src/cmd/cmd-macro.c index 794817fae..203367398 100644 --- a/src/cmd/cmd-macro.c +++ b/src/cmd/cmd-macro.c @@ -10,25 +10,26 @@ * @param fname ファイル名 * @return なし */ -static void macro_dump(FILE *auto_dump_stream, concptr fname) +static void macro_dump(FILE **fpp, concptr fname) { static concptr mark = "Macro Dump"; char buf[1024]; path_build(buf, sizeof(buf), ANGBAND_DIR_USER, fname); FILE_TYPE(FILE_TYPE_TEXT); - if (!open_auto_dump(auto_dump_stream, buf, mark)) return; + if (!open_auto_dump(fpp, buf, mark)) return; + + auto_dump_printf(*fpp, _("\n# 自動マクロセーブ\n\n", "\n# Automatic macro dump\n\n")); - auto_dump_printf(auto_dump_stream, _("\n# 自動マクロセーブ\n\n", "\n# Automatic macro dump\n\n")); for (int i = 0; i < macro__num; i++) { ascii_to_text(buf, macro__act[i]); - auto_dump_printf(auto_dump_stream, "A:%s\n", buf); + auto_dump_printf(*fpp, "A:%s\n", buf); ascii_to_text(buf, macro__pat[i]); - auto_dump_printf(auto_dump_stream, "P:%s\n", buf); - auto_dump_printf(auto_dump_stream, "\n"); + auto_dump_printf(*fpp, "P:%s\n", buf); + auto_dump_printf(*fpp, "\n"); } - close_auto_dump(auto_dump_stream, mark); + close_auto_dump(fpp, mark); } @@ -114,7 +115,7 @@ static errr keymap_dump(concptr fname) path_build(buf, sizeof(buf), ANGBAND_DIR_USER, fname); FILE_TYPE(FILE_TYPE_TEXT); - if (!open_auto_dump(auto_dump_stream, buf, mark)) return -1; + if (!open_auto_dump(&auto_dump_stream, buf, mark)) return -1; auto_dump_printf(auto_dump_stream, _("\n# 自動キー配置セーブ\n\n", "\n# Automatic keymap dump\n\n")); for (int i = 0; i < 256; i++) @@ -131,7 +132,7 @@ static errr keymap_dump(concptr fname) auto_dump_printf(auto_dump_stream, "C:%d:%s\n", mode, key); } - close_auto_dump(auto_dump_stream, mark); + close_auto_dump(&auto_dump_stream, mark); return 0; } @@ -200,7 +201,7 @@ void do_cmd_macros(player_type *creature_ptr) sprintf(tmp, "%s.prf", creature_ptr->base_name); if (!askfor(tmp, 80)) continue; - macro_dump(auto_dump_stream, tmp); + macro_dump(&auto_dump_stream, tmp); msg_print(_("マクロを追加しました。", "Appended macros.")); } else if (i == '3') diff --git a/src/cmd/cmd-visuals.c b/src/cmd/cmd-visuals.c index 38a0cb3c2..8929e3cc0 100644 --- a/src/cmd/cmd-visuals.c +++ b/src/cmd/cmd-visuals.c @@ -104,7 +104,7 @@ void do_cmd_visuals(player_type *creature_ptr) if (!askfor(tmp, 70)) continue; path_build(buf, sizeof(buf), ANGBAND_DIR_USER, tmp); - if (!open_auto_dump(auto_dump_stream, buf, mark)) continue; + if (!open_auto_dump(&auto_dump_stream, buf, mark)) continue; auto_dump_printf(auto_dump_stream, _("\n# モンスターの[色/文字]の設定\n\n", "\n# Monster attr/char definitions\n\n")); for (i = 0; i < max_r_idx; i++) @@ -117,7 +117,7 @@ void do_cmd_visuals(player_type *creature_ptr) (byte)(r_ptr->x_attr), (byte)(r_ptr->x_char)); } - close_auto_dump(auto_dump_stream, mark); + close_auto_dump(&auto_dump_stream, mark); msg_print(_("モンスターの[色/文字]をファイルに書き出しました。", "Dumped monster attr/chars.")); break; } @@ -130,7 +130,7 @@ void do_cmd_visuals(player_type *creature_ptr) if (!askfor(tmp, 70)) continue; path_build(buf, sizeof(buf), ANGBAND_DIR_USER, tmp); - if (!open_auto_dump(auto_dump_stream, buf, mark)) continue; + if (!open_auto_dump(&auto_dump_stream, buf, mark)) continue; auto_dump_printf(auto_dump_stream, _("\n# アイテムの[色/文字]の設定\n\n", "\n# Object attr/char definitions\n\n")); for (KIND_OBJECT_IDX k_idx = 0; k_idx < max_k_idx; k_idx++) @@ -155,7 +155,7 @@ void do_cmd_visuals(player_type *creature_ptr) (byte)(k_ptr->x_attr), (byte)(k_ptr->x_char)); } - close_auto_dump(auto_dump_stream, mark); + close_auto_dump(&auto_dump_stream, mark); msg_print(_("アイテムの[色/文字]をファイルに書き出しました。", "Dumped object attr/chars.")); break; } @@ -168,7 +168,7 @@ void do_cmd_visuals(player_type *creature_ptr) if (!askfor(tmp, 70)) continue; path_build(buf, sizeof(buf), ANGBAND_DIR_USER, tmp); - if (!open_auto_dump(auto_dump_stream, buf, mark)) continue; + if (!open_auto_dump(&auto_dump_stream, buf, mark)) continue; auto_dump_printf(auto_dump_stream, _("\n# 地形の[色/文字]の設定\n\n", "\n# Feature attr/char definitions\n\n")); for (i = 0; i < max_f_idx; i++) @@ -184,7 +184,7 @@ void do_cmd_visuals(player_type *creature_ptr) (byte)(f_ptr->x_attr[F_LIT_DARK]), (byte)(f_ptr->x_char[F_LIT_DARK])); } - close_auto_dump(auto_dump_stream, mark); + close_auto_dump(&auto_dump_stream, mark); msg_print(_("地形の[色/文字]をファイルに書き出しました。", "Dumped feature attr/chars.")); break; } diff --git a/src/io/read-pref-file.c b/src/io/read-pref-file.c index b53e4ccd6..ec6027ca6 100644 --- a/src/io/read-pref-file.c +++ b/src/io/read-pref-file.c @@ -323,25 +323,25 @@ void auto_dump_printf(FILE *auto_dump_stream, concptr fmt, ...) * @param mark 出力するヘッダマーク * @return ファイルポインタを取得できたらTRUEを返す */ -bool open_auto_dump(FILE *auto_dump_stream, concptr buf, concptr mark) +bool open_auto_dump(FILE **fpp, concptr buf, concptr mark) { char header_mark_str[80]; concptr auto_dump_mark = mark; sprintf(header_mark_str, auto_dump_header, auto_dump_mark); remove_auto_dump(buf, mark); - auto_dump_stream = my_fopen(buf, "a"); - if (!auto_dump_stream) + *fpp = my_fopen(buf, "a"); + if (!fpp) { msg_format(_("%s を開くことができませんでした。", "Failed to open %s."), buf); msg_print(NULL); return FALSE; } - fprintf(auto_dump_stream, "%s\n", header_mark_str); + fprintf(*fpp, "%s\n", header_mark_str); auto_dump_line_num = 0; - auto_dump_printf(auto_dump_stream, _("# *警告!!* 以降の行は自動生成されたものです。\n", + auto_dump_printf(*fpp, _("# *警告!!* 以降の行は自動生成されたものです。\n", "# *Warning!* The lines below are an automatic dump.\n")); - auto_dump_printf(auto_dump_stream, _("# *警告!!* 後で自動的に削除されるので編集しないでください。\n", + auto_dump_printf(*fpp, _("# *警告!!* 後で自動的に削除されるので編集しないでください。\n", "# Don't edit them; changes will be deleted and replaced automatically.\n")); return TRUE; } @@ -351,14 +351,14 @@ bool open_auto_dump(FILE *auto_dump_stream, concptr buf, concptr mark) * Append foot part and close auto dump. * @return なし */ -void close_auto_dump(FILE *auto_dump_stream, concptr auto_dump_mark) +void close_auto_dump(FILE **fpp, concptr auto_dump_mark) { char footer_mark_str[80]; sprintf(footer_mark_str, auto_dump_footer, auto_dump_mark); - auto_dump_printf(auto_dump_stream, _("# *警告!!* 以降の行は自動生成されたものです。\n", + auto_dump_printf(*fpp, _("# *警告!!* 以降の行は自動生成されたものです。\n", "# *Warning!* The lines below are an automatic dump.\n")); - auto_dump_printf(auto_dump_stream, _("# *警告!!* 後で自動的に削除されるので編集しないでください。\n", + auto_dump_printf(*fpp, _("# *警告!!* 後で自動的に削除されるので編集しないでください。\n", "# Don't edit them; changes will be deleted and replaced automatically.\n")); - fprintf(auto_dump_stream, "%s (%d)\n", footer_mark_str, auto_dump_line_num); - my_fclose(auto_dump_stream); + fprintf(*fpp, "%s (%d)\n", footer_mark_str, auto_dump_line_num); + my_fclose(*fpp); } diff --git a/src/io/read-pref-file.h b/src/io/read-pref-file.h index e8a5fc50c..da7208b8a 100644 --- a/src/io/read-pref-file.h +++ b/src/io/read-pref-file.h @@ -8,5 +8,5 @@ extern errr process_autopick_file(player_type *creature_ptr, concptr name); extern errr process_histpref_file(player_type *creature_ptr, concptr name); void auto_dump_printf(FILE *auto_dump_stream, concptr fmt, ...); -bool open_auto_dump(FILE *auto_dump_stream, concptr buf, concptr mark); -void close_auto_dump(FILE *auto_dump_stream, concptr auto_dump_mark); +bool open_auto_dump(FILE **fpp, concptr buf, concptr mark); +void close_auto_dump(FILE **fpp, concptr auto_dump_mark); -- 2.11.0