nestlevel count per file
authorceriel <none@none>
Mon, 10 Aug 1987 10:43:51 +0000 (10:43 +0000)
committerceriel <none@none>
Mon, 10 Aug 1987 10:43:51 +0000 (10:43 +0000)
util/cpp/domacro.c
util/cpp/file_info.h
util/cpp/input.c
util/cpp/main.c

index 6ef927a..d58706b 100644 (file)
@@ -30,7 +30,6 @@ IMPORT char *getwdir();
 PRIVATE char ifstack[IFDEPTH]; /* if-stack: the content of an entry is */
                                /* 1 if a corresponding ELSE has been   */
                                /* encountered.                         */
-int nestlevel = -1;            /* initially no nesting level.          */
 
 PRIVATE char *
 GetIdentifier()
@@ -263,6 +262,7 @@ do_include()
                }
                else {
                        WorkingDir = getwdir(result);
+                       nestlevel = -1;
                        FileName = result;
                        LineNumber = 1;
                }
index 241c8de..cc6c663 100644 (file)
@@ -9,10 +9,12 @@ struct file_info {
        unsigned int    fil_lino;
        char            *fil_name;
        char            *fil_wdir;
+       int             fil_nestlevel;
 };
 
 #define LineNumber     finfo.fil_lino
 #define FileName       finfo.fil_name
 #define WorkingDir     finfo.fil_wdir
+#define nestlevel      finfo.fil_nestlevel
 
 extern struct file_info finfo; /* input.c */
index 0e78ca0..78aca5b 100644 (file)
@@ -47,7 +47,6 @@ AtEoIT()
 
 AtEoIF()
 {
-       extern int nestlevel;
 
        if (nestlevel != -1) warning("missing #endif");
        else if (NoUnstack) warning("unexpected EOF");
index cb927ef..11c1edc 100644 (file)
@@ -77,5 +77,6 @@ compile(argc, argv)
                fatal("%s: no source file %s\n", prog_name, 
                        source ? source : "stdin");
        if (source) WorkingDir = getwdir(dummy);
+       nestlevel = -1;
        preprocess(source);
 }