Remove redundant variable "depth"
authorMichael Spang <mspang@csclub.uwaterloo.ca>
Fri, 11 Dec 2009 22:27:31 +0000 (17:27 -0500)
committerMichael Spang <mspang@csclub.uwaterloo.ca>
Tue, 22 Dec 2009 03:11:48 +0000 (22:11 -0500)
Signed-off-by: Michael Spang <mspang@csclub.uwaterloo.ca>
inapt.cc
parser.rl

index e77497b..f676fe6 100644 (file)
--- a/inapt.cc
+++ b/inapt.cc
@@ -184,6 +184,9 @@ static void usage() {
 }
 
 static void eval_block(inapt_block *block, set<string> *defines, std::vector<inapt_action *> *final_actions) {
+    if (!block)
+        return;
+
     for (vector<inapt_action *>::iterator i = block->actions.begin(); i < block->actions.end(); i++)
         final_actions->push_back(*i);
 
index 75b3f1c..5398c28 100644 (file)
--- a/parser.rl
+++ b/parser.rl
@@ -40,7 +40,7 @@ using namespace std;
     }
 
     action start_block {
-        if (depth++ < MAXDEPTH) {
+        if (top < MAXDEPTH) {
             inapt_block *tmp_block = new inapt_block;
             block_stack.push_back(tmp_block);
             fcall main;
@@ -50,7 +50,7 @@ using namespace std;
     }
 
     action end_block {
-        if (depth--) {
+        if (top) {
             fret;
         } else {
             fatal("%s: %d: Syntax Error: Unexpected '}'", curfile, curline);
@@ -127,8 +127,7 @@ void parser(const char *filename, inapt_block *top_block)
     block_stack.push_back(top_block);
 
     int stack[MAXDEPTH];
-    int top = 0; /* TODO: resize */
-    int depth = 0;
+    int top = 0;
 
     const char *curfile = filename;
     enum inapt_action::action_t curaction = inapt_action::UNSET;
@@ -185,6 +184,6 @@ void parser(const char *filename, inapt_block *top_block)
        exit(1);
     }
 
-    if (depth)
+    if (top)
         badsyntax(curfile, curline, 0, "Unclosed block at EOF");
 }