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 == '@')
|
||||
marg = sym_FindMacroArg(-1);
|
||||
else if (whichArg >= '0' && whichArg <= '9')
|
||||
else if (whichArg >= '1' && whichArg <= '9')
|
||||
marg = sym_FindMacroArg(whichArg - '0');
|
||||
else
|
||||
fatalerror("Malformed ID");
|
||||
fatalerror("Invalid macro argument '\\%c' in symbol", whichArg);
|
||||
|
||||
if (!marg)
|
||||
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