Fix BSD style flag parsing to stop at --
This commit is contained in:
parent
0a381be37b
commit
f6618d4332
|
@ -112,8 +112,8 @@ getFlagsUntil _ _ = error "Internal shellcheck error, please report! (getFlags o
|
||||||
|
|
||||||
-- Get all flags in a GNU way, up until --
|
-- Get all flags in a GNU way, up until --
|
||||||
getAllFlags = getFlagsUntil (== "--")
|
getAllFlags = getFlagsUntil (== "--")
|
||||||
-- Get all flags in a BSD way, up until first non-flag argument
|
-- Get all flags in a BSD way, up until first non-flag argument or --
|
||||||
getLeadingFlags = getFlagsUntil (not . ("-" `isPrefixOf`))
|
getLeadingFlags = getFlagsUntil (\x -> x == "--" || (not $ "-" `isPrefixOf` x))
|
||||||
|
|
||||||
|
|
||||||
-- Given a T_DollarBraced, return a simplified version of the string contents.
|
-- Given a T_DollarBraced, return a simplified version of the string contents.
|
||||||
|
|
|
@ -133,6 +133,7 @@ prop_checkBashisms49= verify checkBashisms "#!/bin/dash\necho $MACHTYPE"
|
||||||
prop_checkBashisms50= verify checkBashisms "#!/bin/sh\ncmd >& file"
|
prop_checkBashisms50= verify checkBashisms "#!/bin/sh\ncmd >& file"
|
||||||
prop_checkBashisms51= verifyNot checkBashisms "#!/bin/sh\ncmd 2>&1"
|
prop_checkBashisms51= verifyNot checkBashisms "#!/bin/sh\ncmd 2>&1"
|
||||||
prop_checkBashisms52= verifyNot checkBashisms "#!/bin/sh\ncmd >&2"
|
prop_checkBashisms52= verifyNot checkBashisms "#!/bin/sh\ncmd >&2"
|
||||||
|
prop_checkBashisms53= verifyNot checkBashisms "#!/bin/sh\nprintf -- -f\n"
|
||||||
checkBashisms = ForShell [Sh, Dash] $ \t -> do
|
checkBashisms = ForShell [Sh, Dash] $ \t -> do
|
||||||
params <- ask
|
params <- ask
|
||||||
kludge params t
|
kludge params t
|
||||||
|
|
Loading…
Reference in New Issue