/* $Id$ */
/* PREPROCESSOR DRIVER */
+#include <stdlib.h>
+#include <stdio.h>
#include <system.h>
#include <alloc.h>
#include "input.h"
while (startline) {
/* first flush the saved pragma's */
if (pragma_nr) {
- register int i = 0;
- int LiNo = LineNumber;
- char *FiNam = FileName;
-
- while (i < pragma_nr) {
- register char *c_ptr = "#pragma";
-
- LineNumber = pragma_tab[i].pr_linnr;
- FileName = pragma_tab[i].pr_fil;
- do_line_dir(lineno, fn);
- while (*c_ptr) { echo(*c_ptr++); }
- c_ptr = pragma_tab[i].pr_text;
- while (*c_ptr) { echo(*c_ptr++); }
- newline(); lineno++;
- free(pragma_tab[i].pr_text);
- i++;
- }
- free((char *) pragma_tab);
- pragma_tab = (struct prag_info *)0;
- pragma_nr = 0;
- LineNumber = LiNo;
- FileName = FiNam;
- do_line_dir(lineno, fn);
+ register int i = 0;
+ int LiNo = LineNumber;
+ char *FiNam = FileName;
+
+ while (i < pragma_nr) {
+ register char *c_ptr = "#pragma";
+
+ LineNumber = pragma_tab[i].pr_linnr;
+ FileName = pragma_tab[i].pr_fil;
+ do_line_dir(lineno, fn);
+ while (*c_ptr) { echo(*c_ptr++); }
+ c_ptr = pragma_tab[i].pr_text;
+ while (*c_ptr) { echo(*c_ptr++); }
+ newline(); lineno++;
+ free(pragma_tab[i].pr_text);
+ i++;
+ }
+ free((char *) pragma_tab);
+ pragma_tab = (struct prag_info *)0;
+ pragma_nr = 0;
+ LineNumber = LiNo;
+ FileName = FiNam;
+ do_line_dir(lineno, fn);
}
while (class(c) == STSKIP || c == '/') {
- if (c == '/') {
- if (!InputLevel) {
- c = GetChar();
- if (c == '*') {
- op = SkipComment(op, &lineno);
- if (!op) return;
- if (!options['C']) { echo(' '); }
- c = GetChar();
- continue;
+ if (c == '/') {
+ if (!InputLevel) {
+ c = GetChar();
+ if (c == '*') {
+ op = SkipComment(op, &lineno);
+ if (!op) return;
+ if (!options['C']) { echo(' '); }
+ c = GetChar();
+ continue;
+ }
+ UnGetChar();
+ c = '/';
+ }
+ break;
}
- UnGetChar();
- c = '/';
- }
- break;
- }
- echo(c);
- c = GetChar();
+ echo(c);
+ c = GetChar();
}
if (c == '#') {
- domacro();
- lineno++;
- newline();
- c = GetChar();
+ domacro();
+ lineno++;
+ newline();
+ do_line_dir(lineno, fn);
+ c = GetChar();
} else startline = 0;
}
do_line_dir(lineno, fn);