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;
|
empty = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
c = bumpChar();
|
c = peek();
|
||||||
if (c != '>') {
|
if (c != '>') {
|
||||||
error("Invalid character %s in bracketed macro argument", printChar(c));
|
error("Invalid character %s in bracketed macro argument", printChar(c));
|
||||||
return 0;
|
return 0;
|
||||||
} else if (empty) {
|
}
|
||||||
|
shiftChar();
|
||||||
|
if (empty) {
|
||||||
error("Empty bracketed macro argument");
|
error("Empty bracketed macro argument");
|
||||||
return 0;
|
return 0;
|
||||||
} else if (num == 0 && !symbolError) {
|
} else if (num == 0 && !symbolError) {
|
||||||
|
|||||||
@@ -3,5 +3,6 @@
|
|||||||
)
|
)
|
||||||
(
|
(
|
||||||
|
|
||||||
)
|
)
|
||||||
|
illegal character escape z?
|
||||||
invalid character
|
invalid character
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
all args: a,#b,c,1,#2,3
|
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
|
error: Invalid character '!' in bracketed macro argument
|
||||||
at invalid-macro-arg-character.asm(1)
|
at invalid-macro-arg-character.asm(1)
|
||||||
error: syntax error, unexpected >
|
error: syntax error, unexpected !
|
||||||
at invalid-macro-arg-character.asm(1)
|
at invalid-macro-arg-character.asm(1)
|
||||||
Assembly aborted with 2 errors
|
Assembly aborted with 2 errors
|
||||||
|
|||||||
Reference in New Issue
Block a user