refactor: simplify ampersand segment check
Maintainer edit: keep the single-ampersand guard behavior, but fold the redirect exceptions into one condition instead of carrying temporary previous/next character variables.
This commit is contained in:
@@ -879,10 +879,9 @@ class ExecTool(Tool):
|
||||
if paren_depth == 0:
|
||||
if command.startswith(("&&", "||"), i):
|
||||
operator_len = 2
|
||||
elif ch == "&":
|
||||
prev_ch = command[i - 1] if i > 0 else ""
|
||||
next_ch = command[i + 1] if i + 1 < len(command) else ""
|
||||
if prev_ch not in {"<", ">"} and next_ch != ">":
|
||||
elif ch == "&" and not (
|
||||
(i > 0 and command[i - 1] in "<>") or command.startswith("&>", i)
|
||||
):
|
||||
operator_len = 1
|
||||
elif ch in {";", "|"}:
|
||||
operator_len = 1
|
||||
|
||||
Reference in New Issue
Block a user