Message ID | 20220701132328.v2.2.I04290e8071b92140ad565ea7397ce8604de743fe@changeid |
---|---|
State | Superseded |
Delegated to: | Simon Glass |
Headers | show |
Series | patman: Small fixes plus remove --no-tree from checkpatch for linux | expand |
On Fri, 1 Jul 2022 at 14:24, Douglas Anderson <dianders@chromium.org> wrote: > > 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@chromium.org> > Tested-by: Brian Norris <briannorris@chromium.org> > Reviewed-by: Brian Norris <briannorris@chromium.org> > --- > > (no changes since v1) > > tools/patman/main.py | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) Reviewed-by: Simon Glass <sjg@chromium.org>
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__":