generator: _c_accessor_get_length: remove buggy special case
The function _c_accessor_get_length had a special case handling for intermixed var and fixed size fields. However: * The implementation of that special case was buggy: It tried to call a python-dict as a function which causes Python to abort the program with a stacktrace and error message. So this code was never used. * The case it tried to handle is handeled elsewhere in the meantime: in _c_helper_absolute_name by previous patches made by me. Message-ID: <1409845851-38950-3-git-send-email-chris@demorecorder.com> Patch-Thread-Subject: [Xcb] support popcount of a list and associated xml changes Patch-Set: PopcountList Patch-Number: libxcb 3/4 Patch-Version: V1 Signed-off-by: Christian Linhart <chris@DemoRecorder.com>
This commit is contained in:
parent
b1e4a3bbd8
commit
422458b663
|
@ -1590,12 +1590,7 @@ def _c_accessor_get_length(expr, field_mapping=None):
|
||||||
if field_mapping is not None:
|
if field_mapping is not None:
|
||||||
lenfield_name = field_mapping[lenfield_name][0]
|
lenfield_name = field_mapping[lenfield_name][0]
|
||||||
|
|
||||||
if expr.lenfield is not None and expr.lenfield.prev_varsized_field is not None:
|
if expr.lenfield_name is not None:
|
||||||
# special case: variable and fixed size fields are intermixed
|
|
||||||
# if the lenfield is among the fixed size fields, there is no need
|
|
||||||
# to call a special accessor function like <expr.lenfield.c_accessor_name + '(' + prefix + ')'>
|
|
||||||
return field_mapping(expr.lenfield_name)
|
|
||||||
elif expr.lenfield_name is not None:
|
|
||||||
return lenfield_name
|
return lenfield_name
|
||||||
else:
|
else:
|
||||||
return str(expr.nmemb)
|
return str(expr.nmemb)
|
||||||
|
|
Loading…
Reference in New Issue