[lldb] Fix that empty target.run-args are not actually used when launching process
authorRaphael Isemann <teemperor@gmail.com>
Wed, 16 Nov 2022 23:52:02 +0000 (00:52 +0100)
committerRaphael Isemann <teemperor@gmail.com>
Fri, 18 Nov 2022 15:48:56 +0000 (16:48 +0100)
commita8bec6117998cd4a9ff6798381cd0df9c9edb982
tree085c0c7aa9a813988d49298178ca8d79272fd449
parent3ae3162cb66ffc14eb1b500484952936651d3c9f
[lldb] Fix that empty target.run-args are not actually used when launching process

`GetPropertyAtIndexAsArgs` returns true on success and false on failure. Right
now it returns the converted `size_t` returned from `GetArgs` which describes
the number of arguments in the argument list. So for empty argument lists
(`(size_t)0` -> `(bool)false`) this function always fails.

The only observable effect of this seems to be that empty arguments are never
propagated to the internal LaunchInfo for a process. This causes that once any
argument has been added to `target.run-args`, clearing `target.run-args` doesn't
have any effect.

Fixes issue #55568

Reviewed By: JDevlieghere, jingham

Differential Revision: https://reviews.llvm.org/D126057
lldb/source/Interpreter/OptionValueProperties.cpp
lldb/test/API/python_api/target/TestTargetAPI.py