Fixes for bugs #211-213, submitted by Bastian Schick. :-)

This commit is contained in:
Shamus Hammons 2022-12-21 17:19:36 -06:00
parent 41a8ca9921
commit 64dd9e00ec
4 changed files with 7 additions and 5 deletions

View File

@ -210,7 +210,7 @@ uint64_t DoubleToFixedPoint(double d, int intBits, int fracBits)
// Invert the result, if necessary
if (signBit == 1)
result = (result = 0xFFFFFFFFFFFFFFFFLL) + 1;
result = (result ^ 0xFFFFFFFFFFFFFFFFLL) + 1;
return result;
}

View File

@ -934,7 +934,7 @@ IS_SUPPRESSEDn:
// Something really bad happened, abort
return error("reached end of line while parsing expression");
}
if (*look_ahead == '(')
if (*look_ahead == '(')
{
if (parenthesis_level == 0)
{
@ -1221,7 +1221,7 @@ CHK_FOR_DISPn:
{
// When PC relative is enforced, check for any symbols that aren't
// EQU'd, in this case it's an illegal mode
if ((CHECK_OPTS(OPT_PC_RELATIVE)) && (AnEXATTR & (DEFINED | REFERENCED | EQUATED) == (DEFINED | REFERENCED)))
if ((CHECK_OPTS(OPT_PC_RELATIVE)) && ((AnEXATTR & (DEFINED | REFERENCED | EQUATED)) == (DEFINED | REFERENCED)))
return error("relocation not allowed when o30 is enabled");
tok++;

4
rmac.c
View File

@ -758,7 +758,9 @@ int Process(int argc, char ** argv)
if (firstfname == NULL)
firstfname = defname;
strcpy(fnbuf, firstfname);
// It's the size of fnbuf minus 5 because of the possible 4 char suffix
// + trailing null (added by fext()).
strncpy(fnbuf, firstfname, sizeof(fnbuf) - 5);
fext(fnbuf, (prg_flag ? ".prg" : ".o"), 1);
objfname = fnbuf;
}

View File

@ -15,6 +15,6 @@
#define MAJOR 2 // Major version number
#define MINOR 2 // Minor version number
#define PATCH 13 // Patch release number
#define PATCH 14 // Patch release number
#endif // __VERSION_H__