mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-21 10:42:07 +00:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6c7b99fad | ||
|
|
e28d8384fb | ||
|
|
27a350eaab | ||
|
|
cd8d895c1b | ||
|
|
4577a01c68 | ||
|
|
6758387668 | ||
|
|
424702b272 | ||
|
|
191f98a008 |
2
Makefile
2
Makefile
@@ -79,7 +79,7 @@ rgbfix: ${rgbfix_obj}
|
|||||||
.c.o:
|
.c.o:
|
||||||
$Q${CC} ${REALCFLAGS} -c -o $@ $<
|
$Q${CC} ${REALCFLAGS} -c -o $@ $<
|
||||||
|
|
||||||
src/asm/gameboy/locallex.c src/asm/globlex.c src/asm/lexer.c: src/asm/asmy.h
|
src/asm/gameboy/locallex.o src/asm/globlex.o src/asm/lexer.o: src/asm/asmy.h
|
||||||
src/asm/asmy.h: src/asm/asmy.c
|
src/asm/asmy.h: src/asm/asmy.c
|
||||||
|
|
||||||
src/asm/asmy.y: ${yacc_pre}
|
src/asm/asmy.y: ${yacc_pre}
|
||||||
|
|||||||
@@ -19,6 +19,10 @@
|
|||||||
#include "extern/err.h"
|
#include "extern/err.h"
|
||||||
#include "extern/strl.h"
|
#include "extern/strl.h"
|
||||||
|
|
||||||
|
#ifndef PATH_MAX
|
||||||
|
#define PATH_MAX 256
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* RGBAsm - FSTACK.C (FileStack routines)
|
* RGBAsm - FSTACK.C (FileStack routines)
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -208,10 +208,14 @@ PutMacroArg(char *src, ULONG size)
|
|||||||
char *s;
|
char *s;
|
||||||
|
|
||||||
yyskipbytes(size);
|
yyskipbytes(size);
|
||||||
if ((s = sym_FindMacroArg(src[1] - '0')) != NULL) {
|
if ((size == 2 && src[1] >= '1' && src[1] <= '9')) {
|
||||||
yyunputstr(s);
|
if ((s = sym_FindMacroArg(src[1] - '0')) != NULL) {
|
||||||
|
yyunputstr(s);
|
||||||
|
} else {
|
||||||
|
yyerror("Macro argument not defined");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
yyerror("Macro argument not defined");
|
yyerror("Invalid macro argument");
|
||||||
}
|
}
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
@@ -219,9 +223,15 @@ PutMacroArg(char *src, ULONG size)
|
|||||||
ULONG
|
ULONG
|
||||||
PutUniqueArg(char *src, ULONG size)
|
PutUniqueArg(char *src, ULONG size)
|
||||||
{
|
{
|
||||||
|
char *s;
|
||||||
|
|
||||||
src = src;
|
src = src;
|
||||||
yyskipbytes(size);
|
yyskipbytes(size);
|
||||||
yyunputstr(sym_FindMacroArg(-1));
|
if ((s = sym_FindMacroArg(-1)) != NULL) {
|
||||||
|
yyunputstr(s);
|
||||||
|
} else {
|
||||||
|
yyerror("Macro unique label string not defined");
|
||||||
|
}
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -387,7 +397,7 @@ setuplex(void)
|
|||||||
|
|
||||||
id = lex_FloatAlloc(&tMacroArgToken);
|
id = lex_FloatAlloc(&tMacroArgToken);
|
||||||
lex_FloatAddFirstRange(id, '\\', '\\');
|
lex_FloatAddFirstRange(id, '\\', '\\');
|
||||||
lex_FloatAddSecondRange(id, '0', '9');
|
lex_FloatAddSecondRange(id, '1', '9');
|
||||||
id = lex_FloatAlloc(&tMacroUniqueToken);
|
id = lex_FloatAlloc(&tMacroUniqueToken);
|
||||||
lex_FloatAddFirstRange(id, '\\', '\\');
|
lex_FloatAddFirstRange(id, '\\', '\\');
|
||||||
lex_FloatAddSecondRange(id, '@', '@');
|
lex_FloatAddSecondRange(id, '@', '@');
|
||||||
|
|||||||
@@ -437,7 +437,6 @@ CopyMacroArg(char *dest, size_t maxLength, char c)
|
|||||||
int argNum;
|
int argNum;
|
||||||
|
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case '0':
|
|
||||||
case '1':
|
case '1':
|
||||||
case '2':
|
case '2':
|
||||||
case '3':
|
case '3':
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
@@ -431,6 +432,8 @@ sym_FindMacroArg(SLONG i)
|
|||||||
if (i == -1)
|
if (i == -1)
|
||||||
i = MAXMACROARGS + 1;
|
i = MAXMACROARGS + 1;
|
||||||
|
|
||||||
|
assert(i-1 >= 0 &&
|
||||||
|
i-1 < sizeof currentmacroargs / sizeof *currentmacroargs);
|
||||||
return (currentmacroargs[i - 1]);
|
return (currentmacroargs[i - 1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user