Corrected an issue found by Harald Pretl and solved by Claude.

Use of "char" does *not* implicitly mean "signed" on ARM
architectures.
This commit is contained in:
R. Timothy Edwards 2026-03-22 11:14:19 -04:00
parent 66faf1d907
commit 7ceeccef56
4 changed files with 5 additions and 5 deletions

View File

@ -1 +1 @@
8.3.625
8.3.626

View File

@ -770,7 +770,7 @@ drcTile (tile, dinfo, arg)
PropertyRecord *proprec;
bool propfound, isinside = FALSE;
char *name;
char idx = cptr->drcc_exception;
signed char idx = cptr->drcc_exception;
if (idx < 0) idx = -idx - 1;
name = DRCCurStyle->DRCExceptionList[idx];
@ -1216,7 +1216,7 @@ drcTile (tile, dinfo, arg)
PropertyRecord *proprec;
bool propfound, isinside = FALSE;
char *name;
char idx = cptr->drcc_exception;
signed char idx = cptr->drcc_exception;
if (idx < 0) idx = -idx - 1;
name = DRCCurStyle->DRCExceptionList[idx];

View File

@ -76,7 +76,7 @@ static int DRCtag = 0;
* while reading the DRC tech file section.
*/
static char drcCurException = (char)DRC_EXCEPTION_NONE;
static signed char drcCurException = (char)DRC_EXCEPTION_NONE;
/*
* Forward declarations.

View File

@ -36,7 +36,7 @@ typedef struct drccookie
TileTypeBitMask drcc_mask; /* Legal types on RHS */
TileTypeBitMask drcc_corner; /* Types that trigger corner check */
unsigned short drcc_flags; /* Miscellaneous flags, see below. */
char drcc_exception; /* Index to list of exceptions */
signed char drcc_exception; /* Index to list of exceptions */
int drcc_edgeplane; /* Plane of edge */
int drcc_plane; /* Index of plane on which to check
* legal types. */