[Xcb] [PATCH libxcb 3/4] generator: _c_accessor_get_length: remove buggy special case
Christian Linhart
chris at demorecorder.com
Thu Sep 4 08:50:50 PDT 2014
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.
---
src/c_client.py | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/c_client.py b/src/c_client.py
index 4771bdd..bd14959 100644
--- a/src/c_client.py
+++ b/src/c_client.py
@@ -1566,20 +1566,15 @@ def _c_accessor_get_length(expr, field_mapping=None):
'''
lenfield_name = expr.lenfield_name
if lenfield_name is not None:
if field_mapping is not None:
lenfield_name = field_mapping[lenfield_name][0]
- if expr.lenfield is not None and expr.lenfield.prev_varsized_field 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:
+ if expr.lenfield_name is not None:
return lenfield_name
else:
return str(expr.nmemb)
def _c_accessor_get_expr(expr, field_mapping):
'''
Figures out what C code is needed to get the length of a list field.
--
2.0.1
More information about the Xcb
mailing list