X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=macro.c;h=22bd0d9f7c444d4824228cab8307e82c648c9f85;hp=54d34c43687b3cae932b9c7b5387e55b36a9ce99;hb=ace0b549a94110b69ec61442f825fb421b79799a;hpb=eace4e1b294ccec54a5c476619f616f5da0bf8a9 diff --git a/macro.c b/macro.c index 54d34c4..22bd0d9 100644 --- a/macro.c +++ b/macro.c @@ -1,7 +1,7 @@ // // RMAC - Reboot's Macro Assembler for all Atari computers // MACRO.C - Macro Definition and Invocation -// Copyright (C) 199x Landon Dyer, 2011-2017 Reboot and Friends +// Copyright (C) 199x Landon Dyer, 2011-2020 Reboot and Friends // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986 // Source utilised with the kind permission of Landon Dyer // @@ -117,6 +117,7 @@ int defmac1(char * ln, int notEndFlag) curmac->lineList = malloc(sizeof(LLIST)); curmac->lineList->next = NULL; curmac->lineList->line = strdup(ln); + curmac->lineList->lineno = curlineno; curmac->last = curmac->lineList; } else @@ -124,6 +125,7 @@ int defmac1(char * ln, int notEndFlag) curmac->last->next = malloc(sizeof(LLIST)); curmac->last->next->next = NULL; curmac->last->next->line = strdup(ln); + curmac->lineList->lineno = curlineno; curmac->last = curmac->last->next; } @@ -170,7 +172,7 @@ int DefineMacro(void) { argno = 0; symlist(defmac2); - at_eol(); + ErrorIfNotAtEOL(); } // Suck in the macro definition; we're looking for an ENDM symbol on a line @@ -224,6 +226,7 @@ WARNING("!!! Casting (char *) as LONG !!!") firstrpt = malloc(sizeof(LLIST)); firstrpt->next = NULL; firstrpt->line = strdup(line); + firstrpt->lineno = curlineno; nextrpt = firstrpt; } else @@ -231,6 +234,7 @@ WARNING("!!! Casting (char *) as LONG !!!") nextrpt->next = malloc(sizeof(LLIST)); nextrpt->next->next = NULL; nextrpt->next->line = strdup(line); + nextrpt->next->lineno = curlineno; nextrpt = nextrpt->next; } #endif