• R/O
  • HTTP
  • SSH
  • HTTPS

hengband: Commit

変愚蛮怒のメインリポジトリです


Commit MetaInfo

Revisiond7b14f20b2449a81d7168eec62a78ee7922a7c28 (tree)
Time2018-09-21 23:00:41
AuthorHabu <habu@user...>
CommiterHabu

Log Message

[fix]鍛冶師で武器/防具の強化ができない問題を修正

Warning潰しで配列を初期化するようにした事で、以前からあった潜在的バグが表面化した。
初期化するようにする前のコードでは、ループのスコープで宣言した未初期化変数は、
前回のループの内容を保持している事を前提としたコードになっていたが、
当然ながらC言語の仕様にそのような保証は無く、たまたま正常に動いていたに過ぎない。
変数宣言をループの外に出すことで正常に動作するように修正。

Change Summary

Incremental Difference

--- a/src/object2.c
+++ b/src/object2.c
@@ -8106,6 +8106,7 @@ static void add_essence(ESSENCE_IDX mode)
81068106 char o_name[MAX_NLEN];
81078107 int use_essence;
81088108 essence_type *es_ptr;
8109+ bool able[22] = { 0 };
81098110
81108111 int menu_line = (use_menu ? 1 : 0);
81118112
@@ -8138,7 +8139,6 @@ static void add_essence(ESSENCE_IDX mode)
81388139 choice = (always_show_list || use_menu) ? ESCAPE:1;
81398140 while (!flag)
81408141 {
8141- bool able[22] = {0};
81428142 if( choice==ESCAPE ) choice = ' ';
81438143 else if( !get_com(out_val, &choice, FALSE) )break;
81448144
Show on old repository browser