From 71faf12d810cfebfc066fffa912ccdd173cf8764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Fri, 2 Mar 2012 13:42:10 +0100 Subject: [PATCH] demarshal: fixed-size array are missing __nelements 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 file changed, 1 insertion(+), 1 deletion(-) 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)