> -----Original Message----- > From: Intel-wired-lan <[email protected]> On Behalf > Of Mauro Carvalho Chehab > Sent: Thursday, January 29, 2026 9:08 AM > To: Jonathan Corbet <[email protected]>; Linux Doc Mailing List <linux- > [email protected]> > Cc: Mauro Carvalho Chehab <[email protected]>; > [email protected]; [email protected]; linux- > [email protected]; [email protected]; > [email protected]; Mauro Carvalho Chehab <[email protected]>; > Randy Dunlap <[email protected]> > Subject: [Intel-wired-lan] [PATCH v3 15/30] docs: kdoc_re: properly > handle strings and escape chars on it > > The logic inside NestedMatch currently doesn't consider that function > arguments may have chars and strings, which may eventually contain > delimiters. > > Add logic to handle strings and escape characters on them. > > Signed-off-by: Mauro Carvalho Chehab <[email protected]> > --- > tools/lib/python/kdoc/kdoc_re.py | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/tools/lib/python/kdoc/kdoc_re.py > b/tools/lib/python/kdoc/kdoc_re.py > index a0402c065d3a..1861799f1966 100644 > --- a/tools/lib/python/kdoc/kdoc_re.py > +++ b/tools/lib/python/kdoc/kdoc_re.py > @@ -195,6 +195,8 @@ class NestedMatch: > for match_re in regex.finditer(line): > start = match_re.start() > offset = match_re.end() > + string_char = None > + escape = False > > d = line[offset - 1] > if d not in self.DELIMITER_PAIRS: > @@ -208,6 +210,22 @@ class NestedMatch: > > d = line[pos] > > + if escape: > + escape = False > + continue > + > + if string_char: > + if d == '\\': > + escape = True > + elif d == string_char: > + string_char = None > + > + continue > + > + if d in ('"', "'"): > + string_char = d > + continue > + > if d in self.DELIMITER_PAIRS: > end = self.DELIMITER_PAIRS[d] > > -- > 2.52.0
Reviewed-by: Aleksandr Loktionov <[email protected]>
