X-Git-Url: http://git.demorecorder.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fc_client.py;h=88321f406af900b84de6a4bdcf28f4845f29ef76;hb=422458b66380e4103c4937f0e2e8bb93e31f273a;hp=9c55b58caeb19b05f0532880872c39d5ae43a868;hpb=6234225b4be862c5882bf547d066c5a3885906dd;p=free-sw%2Fxcb%2Flibxcb diff --git a/src/c_client.py b/src/c_client.py index 9c55b58..88321f4 100644 --- a/src/c_client.py +++ b/src/c_client.py @@ -1590,12 +1590,7 @@ def _c_accessor_get_length(expr, field_mapping=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 - 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) @@ -3077,6 +3072,10 @@ def c_event(self, name): if self.name == name: _c_type_setup(self, name, ('event',)) + # generate accessors + # (needed for fields after var-sized fields, for lists with var-sized elements, + # switches, ...) + _c_accessors(self, name, name) else: # no type-setup needed for eventcopies # (the type-setup of an eventcopy would overwrite members of the original