+ if (skip())
+ goto rtn;
+
+ {
+ char *memp;
+ memp = (char *)savnxf;
+ /*
+ * 1 s structure for the macro descriptor
+ * APERMAC tchar *'s for pointers into the strings
+ * space for the tchar's themselves
+ */
+ memp += sizeof(struct s);
+ /*
+ * CPERMAC (the total # of characters for ALL arguments)
+ * to a macros, has been carefully chosen
+ * so that the distance between stack frames is < DELTA
+ */
+#define CPERMAC 200
+#define APERMAC 9
+ memp += APERMAC * sizeof(tchar *);
+ memp += CPERMAC * sizeof(tchar);
+ nxf = (struct s*)memp;
+ }
+ lim = (tchar *)nxf;
+ argpp = (tchar **)(savnxf + 1);
+ argppend = &argpp[APERMAC];
+ SPACETEST(argppend, sizeof(tchar *));
+ strp = (tchar *)argppend;
+ /*
+ * Zero out all the string pointers before filling them in.
+ */
+ for (j = 0; j < APERMAC; j++){
+ argpp[j] = (tchar *)0;
+ }
+#if 0
+ fprintf(stderr, "savnxf=0x%x,nxf=0x%x,argpp=0x%x,strp=argppend=0x%x,lim=0x%x,enda=0x%x\n",
+ savnxf, nxf, argpp, strp, lim, enda);
+#endif 0