Re: [PATCH net-next v3 04/13] tools: ynl-gen: refactor local vars for .attr_put() callers
From: Asbjørn Sloth Tønnesen <hidden>
Date: 2025-09-13 23:14:57
Also in:
lkml
From: Asbjørn Sloth Tønnesen <hidden>
Date: 2025-09-13 23:14:57
Also in:
lkml
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:quoted
+ 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.