From a037487ba1dd76ff483d5dd6900eaf55ea17f0ca Mon Sep 17 00:00:00 2001 From: Curtis Doty Date: Tue, 7 Apr 2026 22:21:06 +0000 Subject: [PATCH] Allow printf -vVAR without a space --- src/ShellCheck/Checks/Commands.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ShellCheck/Checks/Commands.hs b/src/ShellCheck/Checks/Commands.hs index 80b983e1e..4bf3a751a 100644 --- a/src/ShellCheck/Checks/Commands.hs +++ b/src/ShellCheck/Checks/Commands.hs @@ -678,10 +678,12 @@ prop_checkPrintfVar19 = verifyNot checkPrintfVar "printf '%(%s)T'" prop_checkPrintfVar20 = verifyNot checkPrintfVar "printf '%d %(%s)T' 42" prop_checkPrintfVar21 = verify checkPrintfVar "printf '%d %(%s)T'" prop_checkPrintfVar22 = verify checkPrintfVar "printf '%s\n%s' foo" +prop_checkPrintfVar23 = verifyNot checkPrintfVar "printf -vTODAY '%(%Y)T'" checkPrintfVar = CommandCheck (Exactly "printf") (f . arguments) where f (doubledash:rest) | getLiteralString doubledash == Just "--" = f rest f (dashv:var:rest) | getLiteralString dashv == Just "-v" = f rest + f (dashvVar:rest) | Just ('-':'v':_:_) <- getLiteralString dashvVar = f rest f (format:params) = check format params f _ = return ()