- // Allocate space for argument ptrs and so on and then go back and
- // construct the arg frame
- if (dry_run)
- {
- if (nargs != 0)
- p = (TOKEN *)malloc(arg_siz);
-// p = (TOKEN *)malloc(arg_siz + sizeof(TOKEN));
-
-/*
-Shamus:
-This construct is meant to deal with nested macros, so the simple minded way
-we deal with them now won't work. :-/ Have to think about how to fix.
-What we could do is simply move the argp with each call, and move it back by
-the number of arguments in the macro that's ending. That would solve the
-problem nicely.
-[Which we do now. But that uncovered another problem: the token strings are all
-stale by the time a nested macro gets to the end. But they're supposed to be
-symbols, which means if we put symbol references into the argument token
-streams, we can alleviate this problem.]
-*/
-#if 0
- argptr = (TOKEN **)malloc((nargs + 1) * sizeof(LONG));
- *argptr++ = (TOKEN *)argp;
- argp = argptr;
-#else
- // We don't need to do anything here since we already advance argp
- // when parsing the arguments.
-// argp += nargs;
-#endif
- }
- else
- break;