Make sector types signed
get_empobj_chr() and emp_obj_chr_name() access struct sctstr member sct_type through struct empobj member type. This is technically non-portable, because the two differ in signedness. It was also undocumented. Fix by making sct_type signed. sct_newtype as well, for consistency. map_char() uses unsigned char for a sector type argument. Change that to int. Matches how this is done elsewhere.
This commit is contained in:
parent
c36cae7a64
commit
74e873e96c
4 changed files with 8 additions and 7 deletions
|
@ -108,7 +108,7 @@ struct castr sect_ca[] = {
|
|||
{NSC_SHORT, NSC_DEITY, 0, fldoff(sctstr, sct_elev), "elev", EF_BAD},
|
||||
{NSC_XCOORD, NSC_CONST, 0, fldoff(sctstr, sct_x), "xloc", EF_BAD},
|
||||
{NSC_YCOORD, NSC_CONST, 0, fldoff(sctstr, sct_y), "yloc", EF_BAD},
|
||||
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_type), "des", EF_SECTOR_CHR},
|
||||
{NSC_CHAR, 0, 0, fldoff(sctstr, sct_type), "des", EF_SECTOR_CHR},
|
||||
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_effic), "effic", EF_BAD},
|
||||
{NSC_SHORT, 0, 0, fldoff(sctstr, sct_mobil), "mobil", EF_BAD},
|
||||
{NSC_UCHAR, NSC_DEITY, 0, fldoff(sctstr, sct_loyal), "loyal", EF_BAD},
|
||||
|
@ -123,7 +123,7 @@ struct castr sect_ca[] = {
|
|||
{NSC_SHORT, 0, 0, fldoff(sctstr, sct_avail), "avail", EF_BAD},
|
||||
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_work), "work", EF_BAD},
|
||||
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_coastal), "coastal", EF_BAD},
|
||||
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_newtype), "newdes", EF_SECTOR_CHR},
|
||||
{NSC_CHAR, 0, 0, fldoff(sctstr, sct_newtype), "newdes", EF_SECTOR_CHR},
|
||||
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_min), "min", EF_BAD},
|
||||
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_gmin), "gold", EF_BAD},
|
||||
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_fertil), "fert", EF_BAD},
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
#include "xy.h"
|
||||
|
||||
static int bmnxtsct(struct nstr_sect *);
|
||||
static char map_char(unsigned char type, natid own, int owner_or_god);
|
||||
static char map_char(int type, natid own, int owner_or_god);
|
||||
|
||||
int
|
||||
do_map(int bmap, int unit_type, char *arg, char *map_flags_arg)
|
||||
|
@ -330,7 +330,7 @@ bmnxtsct(struct nstr_sect *np)
|
|||
* If OWNER_OR_GOD, the map is for the sector's owner or a deity.
|
||||
*/
|
||||
static char
|
||||
map_char(unsigned char type, natid own, int owner_or_god)
|
||||
map_char(int type, natid own, int owner_or_god)
|
||||
{
|
||||
if (CANT_HAPPEN(type > SCT_TYPE_MAX || !dchr[type].d_mnem))
|
||||
return '?';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue