[PATCH 07/12] docs: kdoc: rework the rewrite_struct_members() main loop
From: Jonathan Corbet
Date: Thu Jul 31 2025 - 20:15:02 EST
Adopt a more Pythonic form for the main loop of this function, getting rid
of the "while True:" construction and making the actual loop invariant
explicit.
Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
---
scripts/lib/kdoc/kdoc_parser.py | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/scripts/lib/kdoc/kdoc_parser.py b/scripts/lib/kdoc/kdoc_parser.py
index 5c4ad8febb9f..efc5888fcc74 100644
--- a/scripts/lib/kdoc/kdoc_parser.py
+++ b/scripts/lib/kdoc/kdoc_parser.py
@@ -663,11 +663,8 @@ class KernelDoc:
# re limitation.
struct_members = KernRe(r'(struct|union)([^{};]+)(\{)([^{}]*)(\})([^{};]*)(;)')
- while True:
- tuples = struct_members.findall(members)
- if not tuples:
- break
-
+ tuples = struct_members.findall(members)
+ while tuples:
for t in tuples:
newmember = ""
maintype = t[0]
@@ -738,6 +735,7 @@ class KernelDoc:
newmember += f"{dtype} {s_id}.{name}; "
members = members.replace(oldmember, newmember)
+ tuples = struct_members.findall(members)
return members
def dump_struct(self, ln, proto):
--
2.50.1