From 58dc47355dee1b9fb5a282ea0fefbeb4514ac040 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Wed, 1 Jul 2009 10:55:37 +0100 Subject: [PATCH] Handle incomplete traces. --- xml2txt.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xml2txt.py b/xml2txt.py index 527ab43..5c92aff 100755 --- a/xml2txt.py +++ b/xml2txt.py @@ -234,9 +234,10 @@ class TraceParser(XmlParser): def parse(self): self.element_start('trace') - while self.token.type != ELEMENT_END: + while self.token.type not in (ELEMENT_END, EOF): self.parse_call() - self.element_end('trace') + if self.token.type != EOF: + self.element_end('trace') def parse_call(self): attrs = self.element_start('call') @@ -250,6 +251,7 @@ class TraceParser(XmlParser): elif self.token.name_or_data == 'ret': ret = self.parse_ret() elif self.token.name_or_data == 'call': + # ignore nested function calls self.parse_call() else: raise TokenMismatch(" or ", self.token) -- 2.43.0