utils/checkpackagelib: CommentsMenusPackagesOrder: append elements to arrays if needed
authorJerzy Grzegorek <jerzy.m.grzegorek@gmail.com>
Thu, 1 Aug 2019 08:02:36 +0000 (10:02 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Thu, 1 Aug 2019 20:48:59 +0000 (22:48 +0200)
In the future, the nesting level of menus, comments and conditions may
increase. The fixed array length used now is not appropriate. Therefore,
append elements to the arrays if needed.

Also change order of variables.

Signed-off-by: Jerzy Grzegorek <jerzy.m.grzegorek@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
utils/checkpackagelib/lib_config.py

index b42760396e3f3af9b3a681a93b9c3686c6996631..6cbdc209c8a16f681cbb5f86d19c5a27ecdea8a1 100644 (file)
@@ -61,9 +61,9 @@ class AttributesOrder(_CheckFunction):
 
 
 class CommentsMenusPackagesOrder(_CheckFunction):
-    print_package_warning = [True, True, True, True, True, True]
-    menu_of_packages = ["", "", "", "", "", ""]
-    package = ["", "", "", "", "", ""]
+    menu_of_packages = []
+    package = []
+    print_package_warning = []
 
     def before(self):
         self.state = ""
@@ -92,9 +92,15 @@ class CommentsMenusPackagesOrder(_CheckFunction):
                     self.state += "-menu"
 
             level = self.get_level()
-            self.package[level] = ""
-            self.print_package_warning[level] = True
-            self.menu_of_packages[level] = text[:-1]
+
+            try:
+                self.menu_of_packages[level] = text[:-1]
+                self.package[level] = ""
+                self.print_package_warning[level] = True
+            except IndexError:
+                self.menu_of_packages.append(text[:-1])
+                self.package.append("")
+                self.print_package_warning.append(True)
 
         elif text.startswith("endif") or text.startswith("endmenu"):
             if self.state.endswith("comment"):