mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 18:22:07 +00:00
Print useful error message when '\0' is used in a symbol name
AppendMacroArg() was passing 0 to sym_FindMacroArg(), which caused an assertion failure. Now, AppendMacroArg() prints an error message instead.
This commit is contained in:
@@ -198,10 +198,10 @@ char *AppendMacroArg(char whichArg, char *dest, size_t *destIndex)
|
|||||||
|
|
||||||
if (whichArg == '@')
|
if (whichArg == '@')
|
||||||
marg = sym_FindMacroArg(-1);
|
marg = sym_FindMacroArg(-1);
|
||||||
else if (whichArg >= '0' && whichArg <= '9')
|
else if (whichArg >= '1' && whichArg <= '9')
|
||||||
marg = sym_FindMacroArg(whichArg - '0');
|
marg = sym_FindMacroArg(whichArg - '0');
|
||||||
else
|
else
|
||||||
fatalerror("Malformed ID");
|
fatalerror("Invalid macro argument '\\%c' in symbol", whichArg);
|
||||||
|
|
||||||
if (!marg)
|
if (!marg)
|
||||||
fatalerror("Macro argument '\\%c' not defined", whichArg);
|
fatalerror("Macro argument '\\%c' not defined", whichArg);
|
||||||
|
|||||||
1
test/asm/symbol-invalid-macro-arg.asm
Normal file
1
test/asm/symbol-invalid-macro-arg.asm
Normal file
@@ -0,0 +1 @@
|
|||||||
|
x\0
|
||||||
2
test/asm/symbol-invalid-macro-arg.out
Normal file
2
test/asm/symbol-invalid-macro-arg.out
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
ERROR: symbol-invalid-macro-arg.asm(1):
|
||||||
|
Invalid macro argument '\0' in symbol
|
||||||
Reference in New Issue
Block a user