From 62ab02d7b6d23a598b1e8251d502b157e694f190 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Mon, 22 Nov 2010 18:35:52 +0000 Subject: [PATCH] Handle NULL arrays. --- base.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/base.py b/base.py index 184e42a..e32ddeb 100644 --- a/base.py +++ b/base.py @@ -320,14 +320,18 @@ class Array(Type): return visitor.visit_array(self, *args, **kwargs) def dump(self, instance): + print ' if(%s) {' % instance index = '__i' + self.type.id - print ' Log::BeginArray("%s", %s);' % (self.type, self.length) - print ' for (int %s = 0; %s < %s; ++%s) {' % (index, index, self.length, index) - print ' Log::BeginElement("%s");' % (self.type,) + print ' Log::BeginArray("%s", %s);' % (self.type, self.length) + print ' for (int %s = 0; %s < %s; ++%s) {' % (index, index, self.length, index) + print ' Log::BeginElement("%s");' % (self.type,) self.type.dump('(%s)[%s]' % (instance, index)) - print ' Log::EndElement();' + print ' Log::EndElement();' + print ' }' + print ' Log::EndArray();' print ' }' - print ' Log::EndArray();' + print ' else' + print ' Log::LiteralNull();' def wrap_instance(self, instance): self.type.wrap_instance("*" + instance) -- 2.45.2