# .h files generated by `make hfiles'; PLEASE KEEP THIS UP-TO-DATE!
GHSRC = errout.h idfsize.h ifdepth.h lapbuf.h \
- maxincl.h nparams.h numsize.h obufsize.h \
+ nparams.h numsize.h obufsize.h \
parbufsize.h pathlength.h strsize.h textsize.h \
botch_free.h debug.h inputtype.h dobits.h line_prefix.h
rm -f $(LCSRC) $(OBJ) $(GENERATED) $(GSRC) $(GHSRC) chtab.o chtab cpp Out
#AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO
-LLlex.o: LLlex.h Lpars.h bits.h charoffset.h class.h dobits.h file_info.h idf.h idfsize.h input.h inputtype.h numsize.h strsize.h
-LLmessage.o: LLlex.h Lpars.h file_info.h
+LLlex.o: LLlex.h
+LLlex.o: Lpars.h
+LLlex.o: bits.h
+LLlex.o: charoffset.h
+LLlex.o: class.h
+LLlex.o: dobits.h
+LLlex.o: file_info.h
+LLlex.o: idf.h
+LLlex.o: idfsize.h
+LLlex.o: input.h
+LLlex.o: inputtype.h
+LLlex.o: numsize.h
+LLlex.o: strsize.h
+LLmessage.o: LLlex.h
+LLmessage.o: Lpars.h
+LLmessage.o: file_info.h
ch7bin.o: Lpars.h
ch7mon.o: Lpars.h
-domacro.o: LLlex.h Lpars.h bits.h botch_free.h charoffset.h class.h debug.h dobits.h file_info.h idf.h idfsize.h ifdepth.h input.h inputtype.h interface.h macro.h nparams.h parbufsize.h textsize.h
-error.o: LLlex.h errout.h file_info.h
+domacro.o: LLlex.h
+domacro.o: Lpars.h
+domacro.o: bits.h
+domacro.o: botch_free.h
+domacro.o: charoffset.h
+domacro.o: class.h
+domacro.o: debug.h
+domacro.o: dobits.h
+domacro.o: file_info.h
+domacro.o: idf.h
+domacro.o: idfsize.h
+domacro.o: ifdepth.h
+domacro.o: input.h
+domacro.o: inputtype.h
+domacro.o: interface.h
+domacro.o: macro.h
+domacro.o: nparams.h
+domacro.o: parbufsize.h
+domacro.o: textsize.h
+error.o: LLlex.h
+error.o: errout.h
+error.o: file_info.h
idf.o: idf.h
-init.o: charoffset.h class.h idf.h interface.h macro.h
-input.o: file_info.h input.h inputtype.h
-main.o: file_info.h idfsize.h
-options.o: charoffset.h class.h idf.h idfsize.h macro.h maxincl.h
-preprocess.o: LLlex.h bits.h charoffset.h class.h dobits.h file_info.h idf.h idfsize.h input.h inputtype.h line_prefix.h maxincl.h obufsize.h
-replace.o: LLlex.h charoffset.h class.h debug.h file_info.h idf.h input.h inputtype.h interface.h macro.h pathlength.h textsize.h
-scan.o: charoffset.h class.h idf.h input.h inputtype.h interface.h lapbuf.h macro.h nparams.h
-skip.o: LLlex.h charoffset.h class.h file_info.h input.h inputtype.h
-tokenname.o: LLlex.h Lpars.h file_info.h idf.h
+init.o: charoffset.h
+init.o: class.h
+init.o: idf.h
+init.o: interface.h
+init.o: macro.h
+input.o: file_info.h
+input.o: input.h
+input.o: inputtype.h
+main.o: file_info.h
+main.o: idfsize.h
+options.o: charoffset.h
+options.o: class.h
+options.o: idf.h
+options.o: idfsize.h
+options.o: macro.h
+preprocess.o: LLlex.h
+preprocess.o: bits.h
+preprocess.o: charoffset.h
+preprocess.o: class.h
+preprocess.o: dobits.h
+preprocess.o: file_info.h
+preprocess.o: idf.h
+preprocess.o: idfsize.h
+preprocess.o: input.h
+preprocess.o: inputtype.h
+preprocess.o: line_prefix.h
+preprocess.o: obufsize.h
+replace.o: LLlex.h
+replace.o: charoffset.h
+replace.o: class.h
+replace.o: debug.h
+replace.o: file_info.h
+replace.o: idf.h
+replace.o: input.h
+replace.o: inputtype.h
+replace.o: interface.h
+replace.o: macro.h
+replace.o: pathlength.h
+replace.o: textsize.h
+scan.o: charoffset.h
+scan.o: class.h
+scan.o: idf.h
+scan.o: input.h
+scan.o: inputtype.h
+scan.o: interface.h
+scan.o: lapbuf.h
+scan.o: macro.h
+scan.o: nparams.h
+skip.o: LLlex.h
+skip.o: charoffset.h
+skip.o: class.h
+skip.o: file_info.h
+skip.o: input.h
+skip.o: inputtype.h
+tokenname.o: LLlex.h
+tokenname.o: Lpars.h
+tokenname.o: file_info.h
+tokenname.o: idf.h
next.o: debug.h
expr.o: Lpars.h
tokenfile.o: Lpars.h
-expression.o: LLlex.h Lpars.h file_info.h
+expression.o: LLlex.h
+expression.o: Lpars.h
+expression.o: file_info.h
Lpars.o: Lpars.h
-char.o: charoffset.h class.h
+char.o: charoffset.h
+char.o: class.h
symbol2str.o: Lpars.h
*/
/* MAIN PROGRAM */
+#include <alloc.h>
#include "file_info.h"
#include "idfsize.h"
extern char *symbol2str();
extern char *getwdir();
-extern char *inctable[];
extern int err_occurred;
int idfsize = IDFSIZE;
char *prog_name;
+extern char **inctable;
+extern int inc_max, inc_total;
+
main(argc, argv)
char *argv[];
{
prog_name = argv[0];
init_idf();
+
+ inctable = (char **) Malloc(10 * sizeof(char *));
+ inc_max = 10;
+ inc_total = 2;
+ inctable[0] = ".";
+ inctable[1] = "/usr/include";
init_pp(); /* initialise the preprocessor macros */
/* Note: source file "-" indicates that the source is supplied
#include <alloc.h>
#include "idfsize.h"
-#include "maxincl.h"
#include "class.h"
#include "macro.h"
#include "idf.h"
char options[128]; /* one for every char */
int inc_pos = 1; /* place where next -I goes */
-char *inctable[MAXINCL] = { /* list for includes */
- ".",
- "/usr/include",
- 0
-};
+int inc_max;
+int inc_total;
+char **inctable;
extern int idfsize;
int txt2int();
}
case 'I' : /* -Ipath : insert "path" into include list */
if (*text) {
- register int i = inc_pos++;
+ register int i;
register char *new = text;
+
+ if (++inc_total > inc_max) {
+ char **n = (char **)
+ Malloc((10 + inc_max) * sizeof(char *));
+
+ for (i = 0; i < inc_max; i++) {
+ n[i] = inctable[i];
+ }
+ free((char *) inctable);
+ inctable = n;
+ inc_max += 10;
+ }
+ i = inc_pos++;
while (new) {
register char *tmp = inctable[i];
inctable[i++] = new;
- if (i == MAXINCL)
- fatal("too many -I options");
new = tmp;
}
}