X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=token.c;h=34c4a52ceda455b030d7d9a4023d3c5d0ea15f07;hb=4ca28ba07da9f3848c2e3db0e2e9cbcaa787dd29;hp=e1be9b5b8871ea3cde208b29b8e9a072f43ec64d;hpb=eace4e1b294ccec54a5c476619f616f5da0bf8a9;p=rmac diff --git a/token.c b/token.c index e1be9b5..34c4a52 100644 --- a/token.c +++ b/token.c @@ -716,6 +716,11 @@ char * GetNextRepeatLine(void) // strp = irept->ir_nextln; } + // Mark the current macro line in the irept object + // This is probably overkill - a global variable + // would suffice here (it only gets used during + // error reporting anyway) + irept->lineno = irept->ir_nextln->lineno; // strcpy(irbuf, (char *)(irept->ir_nextln + 1)); strcpy(irbuf, irept->ir_nextln->line); @@ -1619,7 +1624,8 @@ dostring: *tk.u32++ = FCONST; // Shamus: Well, this is all kinds of icky--not the least of which is that unlike uintNN_t types, we have no guarantees of any kind when it comes to the size of floating point numbers in C (as far as I know of). If there is, we need to use those kinds here, or else figure out at runtime what sizes we're dealing with and act accordingly. To be fair, this is OK as long as the double type is less than 64 bits wide, but again, there's no guarantee that it isn't. :-/ - *tk.u64++ = f; + *tk.dp = f; + tk.u64++; continue; } }