From 7b1c95602d48182a8f94f01d5e078f25c23ecad7 Mon Sep 17 00:00:00 2001 From: Habu Date: Tue, 19 Oct 2021 12:31:50 +0900 Subject: [PATCH] =?utf8?q?[Fix]=20=E3=82=AD=E3=83=A3=E3=83=A9=E3=83=A1?= =?utf8?q?=E3=82=A4=E3=82=AF=E3=81=AE=E8=81=B7=E6=A5=AD=E9=81=B8=E6=8A=9E?= =?utf8?q?=E6=99=82=E3=81=AB=E3=81=8A=E3=81=8B=E3=81=97=E3=81=AA=E6=8C=99?= =?utf8?q?=E5=8B=95=E3=81=8C=E7=99=BA=E7=94=9F=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fix #1815. #1754 でのエンバグ。変数のスコープの狭めすぎや取り違えがあわさっておかしな 挙動となっていた。 --- src/birth/birth-select-class.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/birth/birth-select-class.cpp b/src/birth/birth-select-class.cpp index 7e4c3de64..60c69a4e6 100644 --- a/src/birth/birth-select-class.cpp +++ b/src/birth/birth-select-class.cpp @@ -117,9 +117,10 @@ static bool select_class(player_type *player_ptr, char *cur, char *sym, int *k) { auto cs = player_ptr->pclass; auto os = PlayerClassType::MAX; + int int_os = enum2i(os); + int int_cs = enum2i(cs); while (true) { - int int_os = enum2i(os); - display_class_stat(enum2i(cs), &int_os, cur, sym); + display_class_stat(int_cs, &int_os, cur, sym); if (*k >= 0) break; @@ -141,12 +142,11 @@ static bool select_class(player_type *player_ptr, char *cur, char *sym, int *k) cs = i2enum(*k); continue; } else { - *k = enum2i(cs); + *k = int_cs; break; } } - int int_cs = enum2i(cs); interpret_class_select_key_move(c, &int_cs); if (c == '*') { *k = randint0(PLAYER_CLASS_TYPE_MAX); -- 2.11.0