]> www.infradead.org Git - users/jedix/linux-maple.git/commit
scripts/kernel-doc: fix identifier parsing regex
authorVegard Nossum <vegard.nossum@oracle.com>
Sat, 21 Dec 2024 22:22:14 +0000 (23:22 +0100)
committerJonathan Corbet <corbet@lwn.net>
Mon, 30 Dec 2024 18:15:10 +0000 (11:15 -0700)
commitda3ecf00ffc7b169b9a31a1218bbb52aa19d8df7
treefc6353efc70c3f924d6e03388e78935c4bc41fe2
parentd5af79c05e9382d38b8546dc5362381ce07ba3d1
scripts/kernel-doc: fix identifier parsing regex

John wrote:

> kernel-doc gets confused by code like the following:
>
> /**
>  * define HOMA_MIN_DEFAULT_PORT - The 16-bit port space is divided into
>  * two nonoverlapping regions. Ports 1-32767 are reserved exclusively
>  * for well-defined server ports. The remaining ports are used for client
>  * ports; these are allocated automatically by Homa. Port 0 is reserved.
>  */
> #define HOMA_MIN_DEFAULT_PORT 0x8000
>
> It seems to use the last "-" on the line (the one in "16-bit") rather
> than the first one, so it produces the following false error message:
>
> homa.h:50: warning: expecting prototype for HOMA_MIN_DEFAULT_PORT -
> The 16(). Prototype was for HOMA_MIN_DEFAULT_PORT() instead
>
> There are similar problems if there is a ":" later on the line.

The problem is the regex for the identifier, which is a greedy /.*/ that
matches everything up to the last - or : (i.e. $decl_end). Fix it by
tightening up this regex and not matching those characters as part of the
identifier.

Link: https://lore.kernel.org/all/CAGXJAmzfRzE=A94NT5ETtj3bZc-=2oLg-9E5Kjh4o_-iuw1q8g@mail.gmail.com/
Reported-by: John Ousterhout <ouster@cs.stanford.edu>
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20241221222214.1969823-1-vegard.nossum@oracle.com
scripts/kernel-doc