1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-15 14:05:03 -05:00

checksrc: handle zero scoped ignore commands

If a !checksrc! disable command specified to ignore zero errors, it was
still added to the ignore block even though nothing was ignored. While
there were no blocks ignored that shouldn't be ignored, the processing
ended with with a warning:

<filename>:<line>:<col>: warning: Unused ignore: LONGLINE (UNUSEDIGNORE)
 /* !checksrc! disable LONGLINE 0 */
                    ^
Fix by instead treating a zero ignore as a a badcommand and throw a
warning for that one.

Closes #3096
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
This commit is contained in:
Daniel Gustafsson 2018-10-05 13:33:21 +02:00
parent b5d182d037
commit 4301d14b90

View File

@ -249,7 +249,16 @@ sub checksrc {
$scope=999999; $scope=999999;
} }
if($ignore_set{$warn}) { # Comparing for a literal zero rather than the scalar value zero
# covers the case where $scope contains the ending '*' from the
# comment. If we use a scalar comparison (==) we induce warnings
# on non-scalar contents.
if($scope eq "0") {
checkwarn("BADCOMMAND",
$line, 0, $file, $l,
"Disable zero not supported, did you mean to enable?");
}
elsif($ignore_set{$warn}) {
checkwarn("BADCOMMAND", checkwarn("BADCOMMAND",
$line, 0, $file, $l, $line, 0, $file, $l,
"$warn already disabled from line $ignore_set{$warn}"); "$warn already disabled from line $ignore_set{$warn}");