diff options
| author | Akira Yokosawa <akiyks@gmail.com> | 2022-02-24 22:02:46 +0900 | 
|---|---|---|
| committer | Jonathan Corbet <corbet@lwn.net> | 2022-02-24 12:13:19 -0700 | 
| commit | e334f873eb4e1638dd0b45200d2d8838a13b0cac (patch) | |
| tree | 1aaf4c2882e972a6a9a9fd5b6f128ad985322f4c | |
| parent | 2b306ecaf57b2b5004dcb671a46ef24a1c369db2 (diff) | |
docs: scripts/kernel-doc: Detect absence of FILE arg
Currently, when there is no FILE argument following a switch such
as -man, -rst, or -none, kernel-doc exits with a warning from perl
(long msg folded):
    Use of uninitialized value $ARGV[0] in pattern match (m//)
    at ./scripts/kernel-doc line 438.
, which is unhelpful.
Improve the behavior by adding a check at the bottom of parsing
loop.
If the argument is absent, display help text and exit with
the code of 1 (via usage()).
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Link: https://lore.kernel.org/r/7b136049-a3ba-0eb5-8717-364d773ff914@gmail.com
[jc: reworked to fix conflict with pod patches]
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| -rwxr-xr-x | scripts/kernel-doc | 25 | 
1 files changed, 17 insertions, 8 deletions
| diff --git a/scripts/kernel-doc b/scripts/kernel-doc index f06f68f3c3d9..9c084a2ba3b0 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -343,14 +343,23 @@ while ($ARGV[0] =~ m/^--?(.*)/) {  	    die "Sphinx version should either major.minor or major.minor.patch format\n";  	}      } else { -		# Unknown argument -		pod2usage( -			-message => "Argument unknown!\n", -			-exitval => 1, -			-verbose => 99, -			-sections => 'SYNOPSIS', -			-output => \*STDERR, -		); +	# Unknown argument +	pod2usage( +	    -message => "Argument unknown!\n", +	    -exitval => 1, +	    -verbose => 99, +	    -sections => 'SYNOPSIS', +	    -output => \*STDERR, +	    ); +    } +    if ($#ARGV < 0){ +	pod2usage( +	    -message => "FILE argument missing\n", +	    -exitval => 1, +	    -verbose => 99, +	    -sections => 'SYNOPSIS', +	    -output => \*STDERR, +	    );      }  } | 
