Thread (28 messages) 28 messages, 3 authors, 2025-09-13

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

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help