X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=direct.c;h=4a9311c816d7dae54010af3ee7625a7ed85ccbf8;hp=623bae4a0ee7cf0332fa555de412766a613d0e2d;hb=2cc3049ac981e8485698b7592397bd66ddb5d9d0;hpb=d16b8ea0ee65b2ad901ca6b0624c07e6e4930cc4 diff --git a/direct.c b/direct.c index 623bae4..4a9311c 100644 --- a/direct.c +++ b/direct.c @@ -62,7 +62,7 @@ int (*dirtab[])() = { d_include, // 33 include fpop, // 34 end d_unimpl, // 35* macro - exitmac, // 36* exitm + ExitMacro, // 36* exitm d_unimpl, // 37* endm d_list, // 38 list d_nlist, // 39 nlist @@ -333,6 +333,13 @@ int d_incbin(void) long pos, size; char buf; + // Check to see if we're in BSS, and, if so, throw an error + if (scattr & SBSS) + { + errors("Cannot include binary file \"%s\" in BSS section", string[tok[1]]); + return ERROR; + } + if (*tok != STRING) { error(syntax_error); @@ -345,7 +352,12 @@ int d_incbin(void) size = lseek(j, 0L, SEEK_END); chcheck(size); pos = lseek(j, 0L, SEEK_SET); - + + DEBUG + { + printf("INCBIN: File '%s' is %li bytes.\n", string[tok[1]], size); + } + for(i=0; i