From 00e6c734f66a6ebe115a7e174375823711115899 Mon Sep 17 00:00:00 2001 From: habu Date: Fri, 16 Nov 2012 16:12:00 +0000 Subject: [PATCH] =?utf8?q?tag=5Ftype=E6=A7=8B=E9=80=A0=E4=BD=93=E3=81=AB?= =?utf8?q?=E9=96=A2=E3=81=99=E3=82=8B=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * pointerメンバに対する意味不明な(void*)へのキャストを修正 * tag_type構造体のswap関数でわざわざメンバそれぞれを入れ替えていたので 構造体をそのまま入れ替えるように修正 --- src/init2.c | 6 +++--- src/types.h | 2 +- src/util.c | 11 +++-------- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/init2.c b/src/init2.c index 9fdba2fd6..5520d5104 100644 --- a/src/init2.c +++ b/src/init2.c @@ -2013,7 +2013,7 @@ static errr init_alloc(void) for (i = 1; i < max_r_idx; i++) { elements[i].tag = r_info[i].level; - elements[i].pointer = (void*)i; + elements[i].index = i; } tag_sort(elements, max_r_idx); @@ -2030,7 +2030,7 @@ static errr init_alloc(void) for (i = 1; i < max_r_idx; i++) { /* Get the i'th race */ - r_ptr = &r_info[(int)elements[i].pointer]; + r_ptr = &r_info[elements[i].index]; /* Count valid pairs */ if (r_ptr->rarity) @@ -2044,7 +2044,7 @@ static errr init_alloc(void) p = (100 / r_ptr->rarity); /* Load the entry */ - alloc_race_table[i].index = (int)elements[i].pointer; + alloc_race_table[i].index = elements[i].index; alloc_race_table[i].level = x; alloc_race_table[i].prob1 = p; alloc_race_table[i].prob2 = p; diff --git a/src/types.h b/src/types.h index 344150b67..bb0972f4a 100644 --- a/src/types.h +++ b/src/types.h @@ -1512,7 +1512,7 @@ typedef struct tag_type tag_type; struct tag_type { int tag; - void *pointer; + int index; }; typedef bool (*monster_hook_type)(int r_idx); diff --git a/src/util.c b/src/util.c index 0c7d46acf..b626282f3 100644 --- a/src/util.c +++ b/src/util.c @@ -4853,14 +4853,9 @@ static void swap(tag_type *a, tag_type *b) { tag_type temp; - temp.tag = a->tag; - temp.pointer = a->pointer; - - a->tag = b->tag; - a->pointer = b->pointer; - - b->tag = temp.tag; - b->pointer = temp.pointer; + temp = *a; + *a = *b; + *b = temp; } -- 2.11.0