mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-15 00:41:55 +00:00
- made the code mostly signed-char safe.
This eliminates all char function parameters that are not really ASCII characters and casts all char argument to the ctype is... functions.
This commit is contained in:
parent
dc1c6976e2
commit
2f896b859b
13 changed files with 32 additions and 33 deletions
|
@ -687,7 +687,7 @@ MoviePlayer* OpenMovie(const char* filename, TArray<int>& ans, const int* framet
|
||||||
{
|
{
|
||||||
size_t nLen = strlen(filename);
|
size_t nLen = strlen(filename);
|
||||||
// Strip the drive letter and retry.
|
// Strip the drive letter and retry.
|
||||||
if (nLen >= 3 && isalpha(filename[0]) && filename[1] == ':' && filename[2] == '/')
|
if (nLen >= 3 && isalpha((uint8_t)filename[0]) && filename[1] == ':' && filename[2] == '/')
|
||||||
{
|
{
|
||||||
filename += 3;
|
filename += 3;
|
||||||
fr = fileSystem.OpenFileReader(filename);
|
fr = fileSystem.OpenFileReader(filename);
|
||||||
|
|
|
@ -986,7 +986,7 @@ bool IsAbsPath(const char *name)
|
||||||
if (IsSeperator(name[0])) return true;
|
if (IsSeperator(name[0])) return true;
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
/* [A-Za-z]: (for Windows) */
|
/* [A-Za-z]: (for Windows) */
|
||||||
if (isalpha(name[0]) && name[1] == ':') return true;
|
if (isalpha((uint8_t)name[0]) && name[1] == ':') return true;
|
||||||
#endif /* _WIN32 */
|
#endif /* _WIN32 */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -379,7 +379,7 @@ static bool DoSubstitution (FString &out, const char *in)
|
||||||
out.AppendCStrPart(a, b - a);
|
out.AppendCStrPart(a, b - a);
|
||||||
|
|
||||||
a = ++b;
|
a = ++b;
|
||||||
while (*b && isalpha(*b))
|
while (*b && isalpha((uint8_t) * b))
|
||||||
{
|
{
|
||||||
++b;
|
++b;
|
||||||
}
|
}
|
||||||
|
|
|
@ -233,7 +233,7 @@ TArray<FString> CollectSearchPaths()
|
||||||
if (nice.Len() > 0)
|
if (nice.Len() > 0)
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
if (isalpha(nice[0] && nice[1] == ':' && nice[2] != '/')) continue; // ignore drive relative paths because they are meaningless.
|
if (isalpha((uint8_t)nice[0] && nice[1] == ':' && nice[2] != '/')) continue; // ignore drive relative paths because they are meaningless.
|
||||||
#endif
|
#endif
|
||||||
// A path ending with "/*" means to add all subdirectories.
|
// A path ending with "/*" means to add all subdirectories.
|
||||||
if (nice[nice.Len()-2] == '/' && nice[nice.Len()-1] == '*')
|
if (nice[nice.Len()-2] == '/' && nice[nice.Len()-1] == '*')
|
||||||
|
|
|
@ -59,7 +59,7 @@ struct define_t
|
||||||
|
|
||||||
define_t gCmdDefines[kMaxCmdLineDefines];
|
define_t gCmdDefines[kMaxCmdLineDefines];
|
||||||
|
|
||||||
void addMemoryResource(char* fileName, char flags, int ID);
|
void addMemoryResource(const char* fileName, int flags, int ID);
|
||||||
|
|
||||||
struct tag_t {
|
struct tag_t {
|
||||||
const char* _value;
|
const char* _value;
|
||||||
|
@ -320,7 +320,7 @@ void RFS::ScriptError(const char* message)
|
||||||
char* p = _pStartLine;
|
char* p = _pStartLine;
|
||||||
while (*p != '\n')
|
while (*p != '\n')
|
||||||
{
|
{
|
||||||
if (isprint(*p))
|
if (isprint((uint8_t) *p))
|
||||||
msg.Push(*p);
|
msg.Push(*p);
|
||||||
else
|
else
|
||||||
msg.Push(' ');
|
msg.Push(' ');
|
||||||
|
@ -354,7 +354,7 @@ uint8_t RFS::GetNextTag()
|
||||||
// skip any space characters
|
// skip any space characters
|
||||||
do {
|
do {
|
||||||
Increment();
|
Increment();
|
||||||
} while (isspace(_curChar));
|
} while (isspace((uint8_t)_curChar));
|
||||||
|
|
||||||
if (_curChar == '\0') {
|
if (_curChar == '\0') {
|
||||||
return kTagEnd;
|
return kTagEnd;
|
||||||
|
@ -409,12 +409,12 @@ uint8_t RFS::GetNextTag()
|
||||||
|
|
||||||
isNegative = true;
|
isNegative = true;
|
||||||
|
|
||||||
if (!isdigit(_curChar)) {
|
if (!isdigit((uint8_t)_curChar)) {
|
||||||
UnsetMark();
|
UnsetMark();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isdigit(_curChar))
|
if (isdigit((uint8_t)_curChar))
|
||||||
{
|
{
|
||||||
// left path
|
// left path
|
||||||
if (_curChar == '0')
|
if (_curChar == '0')
|
||||||
|
@ -428,14 +428,14 @@ uint8_t RFS::GetNextTag()
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
Increment();
|
Increment();
|
||||||
if (!isxdigit(_curChar)) { // isxdigit() checks for a hex value
|
if (!isxdigit((uint8_t)_curChar)) { // isxdigit() checks for a hex value
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// hex version of atoi?
|
// hex version of atoi?
|
||||||
scriptValue *= 16;
|
scriptValue *= 16;
|
||||||
if (!isdigit(_curChar)) {
|
if (!isdigit((uint8_t)_curChar)) {
|
||||||
scriptValue += toupper(_curChar) - 55;
|
scriptValue += toupper((uint8_t)_curChar) - 55;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
scriptValue += _curChar - '0';
|
scriptValue += _curChar - '0';
|
||||||
|
@ -518,7 +518,7 @@ uint8_t RFS::GetNextTag()
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
||||||
while (isalnum(_curChar))
|
while (isalnum((uint8_t)_curChar))
|
||||||
{
|
{
|
||||||
scriptBuffer[i] = _curChar;
|
scriptBuffer[i] = _curChar;
|
||||||
SetMark();
|
SetMark();
|
||||||
|
@ -987,7 +987,7 @@ void ParseScript(int lumpnum)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void addMemoryResource(char* filePath, char flags, int ID)
|
void addMemoryResource(const char* filePath, int flags, int ID)
|
||||||
{
|
{
|
||||||
char zDirectory[BMAX_PATH];
|
char zDirectory[BMAX_PATH];
|
||||||
char zFilename[BMAX_PATH];
|
char zFilename[BMAX_PATH];
|
||||||
|
|
|
@ -116,7 +116,7 @@ void IniFile::LoadRes(void *res)
|
||||||
char *pBuffer = buffer;
|
char *pBuffer = buffer;
|
||||||
|
|
||||||
// remove whitespace from buffer
|
// remove whitespace from buffer
|
||||||
while (isspace(*pBuffer)) {
|
while (isspace((uint8_t)*pBuffer)) {
|
||||||
pBuffer++;
|
pBuffer++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,7 +239,7 @@ bool IniFile::FindKey(const char *key)
|
||||||
assert(pEqual != NULL);
|
assert(pEqual != NULL);
|
||||||
|
|
||||||
// remove whitespace
|
// remove whitespace
|
||||||
while (isspace(*(pEqual - 1))) {
|
while (isspace((uint8_t) *(pEqual - 1))) {
|
||||||
pEqual--;
|
pEqual--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -251,7 +251,7 @@ bool IniFile::FindKey(const char *key)
|
||||||
// strings match
|
// strings match
|
||||||
*pEqual = c;
|
*pEqual = c;
|
||||||
_13 = ++pEqualStart;
|
_13 = ++pEqualStart;
|
||||||
while (isspace(*_13)) {
|
while (isspace((uint8_t)*_13)) {
|
||||||
_13++;
|
_13++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -156,7 +156,7 @@ static FString cleanPath(const char* pth)
|
||||||
FString path = pth;
|
FString path = pth;
|
||||||
FixPathSeperator(path);
|
FixPathSeperator(path);
|
||||||
if (fileSystem.FileExists(path)) return path;
|
if (fileSystem.FileExists(path)) return path;
|
||||||
if (path.Len() > 3 && path[1] == ':' && isalpha(path[0]) && path[2] == '/')
|
if (path.Len() > 3 && path[1] == ':' && isalpha((uint8_t)path[0]) && path[2] == '/')
|
||||||
{
|
{
|
||||||
path = path.Mid(3);
|
path = path.Mid(3);
|
||||||
if (fileSystem.FileExists(path)) return path;
|
if (fileSystem.FileExists(path)) return path;
|
||||||
|
|
|
@ -6682,7 +6682,7 @@ void useIncDecGen(DBloodActor* sourceactor, int objType, sectortype* destSect, w
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void sprite2sectorSlope(DBloodActor* actor, sectortype* pSector, char rel, bool forcez)
|
void sprite2sectorSlope(DBloodActor* actor, sectortype* pSector, int rel, bool forcez)
|
||||||
{
|
{
|
||||||
int slope = 0, z = 0;
|
int slope = 0, z = 0;
|
||||||
switch (rel) {
|
switch (rel) {
|
||||||
|
|
|
@ -839,7 +839,7 @@ void PathSound(sectortype* pSector, int nSound)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void TranslateSector(sectortype* pSector, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10, int a11, char bAllWalls)
|
void TranslateSector(sectortype* pSector, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10, int a11, bool bAllWalls)
|
||||||
{
|
{
|
||||||
int x, y;
|
int x, y;
|
||||||
XSECTOR* pXSector = &pSector->xs();
|
XSECTOR* pXSector = &pSector->xs();
|
||||||
|
@ -1450,13 +1450,13 @@ int StepRotateBusy(sectortype* pSector, unsigned int a2, DBloodActor* initiator)
|
||||||
{
|
{
|
||||||
vbp = pXSector->data + marker0->int_ang();
|
vbp = pXSector->data + marker0->int_ang();
|
||||||
int nWave = pXSector->busyWaveA;
|
int nWave = pXSector->busyWaveA;
|
||||||
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, pXSector->data, marker0->int_pos().X, marker0->int_pos().Y, vbp, 1);
|
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, pXSector->data, marker0->int_pos().X, marker0->int_pos().Y, vbp, true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
vbp = pXSector->data - marker0->int_ang();
|
vbp = pXSector->data - marker0->int_ang();
|
||||||
int nWave = pXSector->busyWaveB;
|
int nWave = pXSector->busyWaveB;
|
||||||
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, vbp, marker0->int_pos().X, marker0->int_pos().Y, pXSector->data, 1);
|
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, vbp, marker0->int_pos().X, marker0->int_pos().Y, pXSector->data, true);
|
||||||
}
|
}
|
||||||
pXSector->busy = a2;
|
pXSector->busy = a2;
|
||||||
if (pXSector->command == kCmdLink && pXSector->txID)
|
if (pXSector->command == kCmdLink && pXSector->txID)
|
||||||
|
@ -1510,7 +1510,7 @@ int PathBusy(sectortype* pSector, unsigned int a2, DBloodActor* initiator)
|
||||||
if (!basepath || !marker0 || !marker1) return 0;
|
if (!basepath || !marker0 || !marker1) return 0;
|
||||||
|
|
||||||
int nWave = marker0->xspr.wave;
|
int nWave = marker0->xspr.wave;
|
||||||
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), basepath->int_pos().X, basepath->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, marker0->int_ang(), marker1->int_pos().X, marker1->int_pos().Y, marker1->int_ang(), 1);
|
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), basepath->int_pos().X, basepath->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, marker0->int_ang(), marker1->int_pos().X, marker1->int_pos().Y, marker1->int_ang(), true);
|
||||||
ZTranslateSector(pSector, pXSector, a2, nWave);
|
ZTranslateSector(pSector, pXSector, a2, nWave);
|
||||||
pXSector->busy = a2;
|
pXSector->busy = a2;
|
||||||
if ((a2 & 0xffff) == 0)
|
if ((a2 & 0xffff) == 0)
|
||||||
|
@ -1555,9 +1555,9 @@ void OperateDoor(sectortype* pSector, EVENT event, BUSYID busyWave)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
char t = !pXSector->state; int nDelta;
|
int nDelta;
|
||||||
|
|
||||||
if (t) nDelta = 65536 / ClipLow((pXSector->busyTimeA * 120) / 10, 1);
|
if (!pXSector->state) nDelta = 65536 / ClipLow((pXSector->busyTimeA * 120) / 10, 1);
|
||||||
else nDelta = -65536 / ClipLow((pXSector->busyTimeB * 120) / 10, 1);
|
else nDelta = -65536 / ClipLow((pXSector->busyTimeB * 120) / 10, 1);
|
||||||
|
|
||||||
AddBusy(pSector, busyWave, nDelta);
|
AddBusy(pSector, busyWave, nDelta);
|
||||||
|
@ -1623,7 +1623,7 @@ void OperateTeleport(sectortype* pSector)
|
||||||
if (actor->spr.statnum == kStatDude)
|
if (actor->spr.statnum == kStatDude)
|
||||||
{
|
{
|
||||||
PLAYER* pPlayer;
|
PLAYER* pPlayer;
|
||||||
char bPlayer = actor->IsPlayerActor();
|
bool bPlayer = actor->IsPlayerActor();
|
||||||
if (bPlayer)
|
if (bPlayer)
|
||||||
pPlayer = &gPlayer[actor->spr.type - kDudePlayer1];
|
pPlayer = &gPlayer[actor->spr.type - kDudePlayer1];
|
||||||
else
|
else
|
||||||
|
|
|
@ -73,7 +73,7 @@ static int ccmd_spawn(CCmdFuncPtr parm)
|
||||||
pal = (uint8_t)atol(parm->parms[1]); set |= 1;
|
pal = (uint8_t)atol(parm->parms[1]); set |= 1;
|
||||||
[[fallthrough]];
|
[[fallthrough]];
|
||||||
case 1: // tile number
|
case 1: // tile number
|
||||||
if (isdigit(parm->parms[0][0])) {
|
if (isdigit((uint8_t)parm->parms[0][0])) {
|
||||||
picnum = (unsigned short)atol(parm->parms[0]);
|
picnum = (unsigned short)atol(parm->parms[0]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -407,7 +407,7 @@ bool ConCompiler::ispecial(char c)
|
||||||
static bool isaltok(char c)
|
static bool isaltok(char c)
|
||||||
{
|
{
|
||||||
// isalnum pukes on negative input.
|
// isalnum pukes on negative input.
|
||||||
return c > 0 && (isalnum(c) || c == '{' || c == '}' || c == '/' || c == '*' || c == '-' || c == '_' || c == '.');
|
return c > 0 && (isalnum((uint8_t)c) || c == '{' || c == '}' || c == '/' || c == '*' || c == '-' || c == '_' || c == '.');
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
@ -532,7 +532,7 @@ void ConCompiler::getlabel(void)
|
||||||
|
|
||||||
skipcomments();
|
skipcomments();
|
||||||
|
|
||||||
while (isalnum(*textptr & 0xff) == 0)
|
while (isalnum((uint8_t) * textptr & 0xff) == 0)
|
||||||
{
|
{
|
||||||
if (*textptr == 0x0a) line_number++;
|
if (*textptr == 0x0a) line_number++;
|
||||||
textptr++;
|
textptr++;
|
||||||
|
@ -719,7 +719,7 @@ int ConCompiler::transnum(int type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isdigit(*textptr) == 0 && *textptr != '-')
|
if (isdigit((uint8_t) *textptr) == 0 && *textptr != '-')
|
||||||
{
|
{
|
||||||
ReportError(ERROR_PARMUNDEFINED);
|
ReportError(ERROR_PARMUNDEFINED);
|
||||||
errorcount++;
|
errorcount++;
|
||||||
|
@ -2935,7 +2935,7 @@ int ConCompiler::parsecommand()
|
||||||
#if 0
|
#if 0
|
||||||
voxel_map[j].name[i] = 0;
|
voxel_map[j].name[i] = 0;
|
||||||
voxel_map[j].voxnum = -2; // flag to load later
|
voxel_map[j].voxnum = -2; // flag to load later
|
||||||
while ((i < 12) && (isalnum(*textptr) || *textptr == '.'))
|
while ((i < 12) && (isalnum((uint8_t) * textptr) || *textptr == '.'))
|
||||||
{
|
{
|
||||||
voxel_map[j].name[i++] = *textptr++;
|
voxel_map[j].name[i++] = *textptr++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4323,7 +4323,7 @@ void getzrangepoint(int x, int y, int z, sectortype* sect,
|
||||||
int j, k, l, dax, day, daz, xspan, yspan, xoff, yoff;
|
int j, k, l, dax, day, daz, xspan, yspan, xoff, yoff;
|
||||||
int x1, y1, x2, y2, x3, y3, x4, y4, cosang, sinang, tilenum;
|
int x1, y1, x2, y2, x3, y3, x4, y4, cosang, sinang, tilenum;
|
||||||
short cstat;
|
short cstat;
|
||||||
char clipyou;
|
uint8_t clipyou;
|
||||||
|
|
||||||
if (sect == nullptr)
|
if (sect == nullptr)
|
||||||
{
|
{
|
||||||
|
|
|
@ -15001,7 +15001,6 @@ int InitUzi(PLAYER* pp)
|
||||||
int xvect,yvect,zvect;
|
int xvect,yvect,zvect;
|
||||||
ESpriteFlags cstat = 0;
|
ESpriteFlags cstat = 0;
|
||||||
uint8_t pal = 0;
|
uint8_t pal = 0;
|
||||||
//static char alternate=0;
|
|
||||||
static int uziclock=0;
|
static int uziclock=0;
|
||||||
int clockdiff=0;
|
int clockdiff=0;
|
||||||
bool FireSnd = false;
|
bool FireSnd = false;
|
||||||
|
|
Loading…
Reference in a new issue