mirror of
https://github.com/gbdev/rgbds.git
synced 2026-05-08 10:59:36 +00:00
Fix invalid character in bracketed macro argument
The invalid character should not be consumed by `shiftChar()`.
This commit is contained in:
+4
-2
@@ -582,11 +582,13 @@ static uint32_t readBracketedMacroArgNum() {
|
||||
empty = true;
|
||||
}
|
||||
|
||||
c = bumpChar();
|
||||
c = peek();
|
||||
if (c != '>') {
|
||||
error("Invalid character %s in bracketed macro argument", printChar(c));
|
||||
return 0;
|
||||
} else if (empty) {
|
||||
}
|
||||
shiftChar();
|
||||
if (empty) {
|
||||
error("Empty bracketed macro argument");
|
||||
return 0;
|
||||
} else if (num == 0 && !symbolError) {
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
)
|
||||
(
|
||||
|
||||
)
|
||||
illegal character escape z?
|
||||
)
|
||||
illegal character escape z?
|
||||
invalid character
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
all args: a,#b,c,1,#2,3
|
||||
bad args: >, >
|
||||
bad args: ?>, >
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
MACRO m
|
||||
println "¿", """\<_NARG""", "?"
|
||||
println """done!"""
|
||||
ENDM
|
||||
|
||||
m one, two, three
|
||||
@@ -0,0 +1,3 @@
|
||||
error: Invalid character '"' in bracketed macro argument
|
||||
at invalid-bracketed-macro-arg.asm::m(2) <- invalid-bracketed-macro-arg.asm(6)
|
||||
Assembly aborted with 1 error
|
||||
@@ -0,0 +1,2 @@
|
||||
¿?
|
||||
done!
|
||||
@@ -1,5 +1,5 @@
|
||||
error: Invalid character '!' in bracketed macro argument
|
||||
at invalid-macro-arg-character.asm(1)
|
||||
error: syntax error, unexpected >
|
||||
error: syntax error, unexpected !
|
||||
at invalid-macro-arg-character.asm(1)
|
||||
Assembly aborted with 2 errors
|
||||
|
||||
Reference in New Issue
Block a user