X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=asm.c;h=c73f25cf7956b4121a6f5e2c6c6088ef8a2991db;hb=02512f21f26bcfabc162e4ec3f63ee42bf264842;hp=1c001990f63227592d530dd956ed8770ece26317;hpb=99971b7806881f4e5f7c39ec17c1979e76695b2c;p=xonotic%2Fgmqcc.git diff --git a/asm.c b/asm.c index 1c00199..c73f25c 100644 --- a/asm.c +++ b/asm.c @@ -44,7 +44,7 @@ VECTOR_MAKE(asm_sym, asm_symbols); * Assembly text processing: this handles the internal collection * of text to allow parsing and assemblation. */ -static char *const asm_getline(size_t *byte, FILE *fp) { +static char* asm_getline(size_t *byte, FILE *fp) { char *line = NULL; size_t read = util_getline(&line, byte, fp); *byte = read; @@ -65,7 +65,7 @@ void asm_init(const char *file, FILE **fp) { } void asm_close(FILE *fp) { fclose(fp); - code_write(); + code_write("program.dat"); } void asm_clear() { size_t i = 0; @@ -530,24 +530,6 @@ static GMQCC_INLINE bool asm_parse_stmt(const char *skip, size_t line, asm_state * This needs to have a fall state, we start from the * end of the string and work backwards. */ - #define OPFILL(X) \ - do { \ - size_t w = 0; \ - if (!(c = strrchr(c, ','))) { \ - printf("error, expected more operands\n"); \ - return false; \ - } \ - c++; \ - w++; \ - while (*c == ' ' || *c == '\t') { \ - c++; \ - w++; \ - } \ - X = (const char*)c; \ - c -= w; \ - *c = '\0'; \ - c = (char*)skip; \ - } while (0) #define OPEATS(X,Y) X##Y #define OPCCAT(X,Y) OPEATS(X,Y) #define OPLOAD(X,Y) \ @@ -597,7 +579,6 @@ static GMQCC_INLINE bool asm_parse_stmt(const char *skip, size_t line, asm_state OPLOAD(s.o1.s1, c); break; } - #undef OPFILL #undef OPLOAD #undef OPCCAT }