[Spice-devel] [PATCH spice 1/2] demarshal: fixed-size array are missing __nelements

Marc-André Lureau marcandre.lureau at gmail.com
Fri Mar 2 04:47:23 PST 2012


A message with a fixed-size array, such as uint8 uuid[16] will
generate an invalid code, missing the __nelements variable. Make sure
that variable is defined.
---
 python_modules/demarshal.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/python_modules/demarshal.py b/python_modules/demarshal.py
index 3a0178e..541735a 100644
--- a/python_modules/demarshal.py
+++ b/python_modules/demarshal.py
@@ -664,7 +664,7 @@ def read_array_len(writer, prefix, array, dest, scope, is_ptr):
         nelements = "%s__array__nelements" % prefix
     else:
         nelements = "%s__nelements" % prefix
-    if dest.is_toplevel():
+    if dest.is_toplevel() and scope.variable_defined(nelements):
         return nelements # Already there for toplevel, need not recalculate
     element_type = array.element_type
     scope.variable_def("uint32_t", nelements)
-- 
1.7.7.6



More information about the Spice-devel mailing list