[PATCH v2 2/6] patman: Fix implicit command inserting
Douglas Anderson
dianders at chromium.org
Fri Jul 1 22:23:58 CEST 2022
The logic to insert an implicit command has always been a bit broken
but it was masked by another bug fixed in the patch ("patman: Don't
look at sys.argv when parsing settings"). Specifically, imagine that
you're just calling patman like this:
patman -c1
After the parse_known_args() command then the "-c1" will have been
parsed and we'll have no command. The "rest" variable will be an empty
list. Going into the logic you can see that nargs = 0. The implicit
insertion of send ideally would create an argument list of:
['-c1', 'send']
...but it doesn't because argv[:-0] is the same as argv[:0] and that's
an empty list.
Let's fix this little glitch.
Signed-off-by: Douglas Anderson <dianders at chromium.org>
Tested-by: Brian Norris <briannorris at chromium.org>
Reviewed-by: Brian Norris <briannorris at chromium.org>
---
(no changes since v1)
tools/patman/main.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/patman/main.py b/tools/patman/main.py
index 2a2ac4570931..336f4e439aa9 100755
--- a/tools/patman/main.py
+++ b/tools/patman/main.py
@@ -120,7 +120,9 @@ else:
# No command, so insert it after the known arguments and before the ones
# that presumably relate to the 'send' subcommand
nargs = len(rest)
- argv = argv[:-nargs] + ['send'] + rest
+ if nargs:
+ argv = argv[:-nargs]
+ argv = argv + ['send'] + rest
args = parser.parse_args(argv)
if __name__ != "__main__":
--
2.37.0.rc0.161.g10f37bed90-goog
More information about the U-Boot
mailing list