* 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;
* 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) \
OPLOAD(s.o1.s1, c);
break;
}
- #undef OPFILL
#undef OPLOAD
#undef OPCCAT
}