Merge branch 'grammer_fix_sc2183' of https://github.com/ygeyzel/shellcheck into ygeyzel-grammer_fix_sc2183
This commit is contained in:
commit
81d9f7e640
|
@ -690,6 +690,7 @@ checkPrintfVar = CommandCheck (Exactly "printf") (f . arguments) where
|
||||||
let formats = getPrintfFormats string
|
let formats = getPrintfFormats string
|
||||||
let formatCount = length formats
|
let formatCount = length formats
|
||||||
let argCount = length more
|
let argCount = length more
|
||||||
|
let pluraliseIfMany word n = if n > 1 then word ++ "s" else word
|
||||||
|
|
||||||
return $ if
|
return $ if
|
||||||
| argCount == 0 && formatCount == 0 ->
|
| argCount == 0 && formatCount == 0 ->
|
||||||
|
@ -705,7 +706,8 @@ checkPrintfVar = CommandCheck (Exactly "printf") (f . arguments) where
|
||||||
return () -- Great: a suitable number of arguments
|
return () -- Great: a suitable number of arguments
|
||||||
| otherwise ->
|
| otherwise ->
|
||||||
warn (getId format) 2183 $
|
warn (getId format) 2183 $
|
||||||
"This format string has " ++ show formatCount ++ " variables, but is passed " ++ show argCount ++ " arguments."
|
"This format string has " ++ show formatCount ++ " " ++ (pluraliseIfMany "variable" formatCount) ++
|
||||||
|
", but is passed " ++ show argCount ++ " arguments."
|
||||||
|
|
||||||
unless ('%' `elem` concat (oversimplify format) || isLiteral format) $
|
unless ('%' `elem` concat (oversimplify format) || isLiteral format) $
|
||||||
info (getId format) 2059
|
info (getId format) 2059
|
||||||
|
|
Loading…
Reference in New Issue