summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-06-15 16:58:14 +0300
committerAndrei Karas <akaras@inbox.ru>2016-06-15 16:58:14 +0300
commitaf9a54a3b7615d496254eadabfadb7ad0638dc4b (patch)
treec50797f13aa205515b0e337f39800a8b4a10dd3f
parentb259e9981e2ab22b8133f6837017323113525acb (diff)
downloaddeheader-af9a54a3b7615d496254eadabfadb7ad0638dc4b.tar.gz
deheader-af9a54a3b7615d496254eadabfadb7ad0638dc4b.tar.bz2
deheader-af9a54a3b7615d496254eadabfadb7ad0638dc4b.tar.xz
deheader-af9a54a3b7615d496254eadabfadb7ad0638dc4b.zip
Fix previous check in #else.
-rwxr-xr-xdeheader10
1 files changed, 5 insertions, 5 deletions
diff --git a/deheader b/deheader
index cc04265..05d93fe 100755
--- a/deheader
+++ b/deheader
@@ -1286,13 +1286,13 @@ class InclusionMap:
allow_parse_includes = self.check_block(sourcefile, cnt, compiler, "", defines + " " + std, maker, verbosity, showerrs, subdir)
conditions.append((c, allow_parse_includes))
elif match_preproc("else", line) is not False:
- if self.get_prev_flag(conditions) == True:
+ if self.get_prev_flag(conditions, 2) == True:
allow_parse_includes = not allow_parse_includes
else:
allow_parse_includes = False
elif match_preproc("endif", line) is not False:
conditions.pop()
- allow_parse_includes = self.get_prev_flag(conditions)
+ allow_parse_includes = self.get_prev_flag(conditions, 1)
else:
f = match_preproc("include", line)
if f is not False:
@@ -1321,11 +1321,11 @@ class InclusionMap:
for ref in trimmedcount:
if trimmedcount[ref] > 1:
print("deheader: %s has more than one inclusion of %s" % (sourcefile, ref))
- def get_prev_flag(self, conditions):
- if len(conditions) == 0:
+ def get_prev_flag(self, conditions, pos):
+ if len(conditions) < pos:
return True
else:
- return conditions[len(conditions) - 1][1]
+ return conditions[len(conditions) - pos][1]
def forget(self, sourcefile, header):
"Forget a header dependency."
self.depends_on[sourcefile].remove(header)