* VOID diag() assubr.c
* VOID err() assubr.c
* int fprintf() c-library
- * int getline() aslex.c
+ * int as_getline() aslex.c
* VOID list() aslist.c
* VOID lstsym() aslist.c
* VOID minit() ___mch.c
register int c, i;
struct area *ap;
+ /* Check to make sure there are the right number of filenames */
+ /* before openning any of them */
+#ifdef SDK
+ inpfil = -2;
+#else /* SDK */
+ inpfil = -1;
+#endif /* SDK */
+ for (i=1; i<argc; ++i) {
+ p = argv[i];
+ if (*p != '-')
+ inpfil++;
+ }
+ if (inpfil < 0)
+ usage();
+
#ifdef SDK
inpfil = -2;
#else /* SDK */
dot.s_area = &dca;
symp = ˙
minit();
- while (getline()) {
+ while (as_getline()) {
cp = cb;
cpt = cbt;
ep = eb;
#ifdef SDK
double f1, f2;
unsigned int mantissa, exponent;
- const signed char readbuffer[80];
+ const char readbuffer[80];
#endif
laddr = dot.s_addr;
lmode = SLIST;
break;
case S_MODUL:
- getst(id, -1);
+ getst(id, getnb()); // a module can start with a digit
if (pass == 0) {
if (module[0]) {
err('m');
lmode = SLIST;
break;
+ case S_OPTSDCC:
+ p = optsdcc;
+ if ((c = getnb()) != 0) {
+ do {
+ if (p < &optsdcc[NINPUT-1])
+ *p++ = c;
+ } while ((c = get()) != 0);
+ }
+ *p = 0;
+ unget(c);
+ lmode = SLIST;
+ break;
+
case S_GLOBL:
do {
getid(id, -1);