]> git.cworth.org Git - apitrace/commitdiff
Handle NULL arrays.
authorJosé Fonseca <jfonseca@vmware.com>
Mon, 22 Nov 2010 18:35:52 +0000 (18:35 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Mon, 22 Nov 2010 18:35:52 +0000 (18:35 +0000)
base.py

diff --git a/base.py b/base.py
index 184e42a4317d627bdac62221b2229b0fa5e97895..e32ddebe4bab042514395f2e1ca82103c83dc2ba 100644 (file)
--- 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)