[PATCH net-next v3 04/13] tools: ynl-gen: refactor local vars for .attr_put() callers
Asbjørn Sloth Tønnesen
ast at fiberby.net
Sat Sep 13 23:14:51 UTC 2025
On 9/13/25 12:19 AM, Jakub Kicinski wrote:
> On Thu, 11 Sep 2025 20:04:57 +0000 Asbjørn Sloth Tønnesen wrote:
>> + def attr_put_local_vars(self):
>> + local_vars = []
>> + if self.presence_type() == 'count':
>> + local_vars.append('unsigned int i;')
>> + return local_vars
>> +
>> def attr_put(self, ri, var):
>> raise Exception(f"Put not implemented for class type {self.type}")
>>
>> @@ -840,6 +846,10 @@ class TypeArrayNest(Type):
>> '}']
>> return get_lines, None, local_vars
>>
>> + def attr_put_local_vars(self):
>> + local_vars = ['struct nlattr *array;']
>> + return local_vars + super().attr_put_local_vars()
>
> Doesn't feel right. The Type method is a helper which is compatible
> with the specific types by checking presence, then you override it,
> and on top of that combine the output with super(). I don't like.
I prefer to keep the array variable as a detail isolated to TypeArrayNest,
so I have given it another spin in v4.
More information about the WireGuard
mailing list