[Pdbg] [PATCH v5 18/30] main: Avoid printing top level "proc" if no child is enabled

Alistair Popple alistair at popple.id.au
Tue Oct 15 14:57:15 AEDT 2019


Reviewed-by: Alistair Popple <alistair at popple.id.au>

On Monday, 14 October 2019 4:17:36 PM AEDT Amitay Isaacs wrote:
> Signed-off-by: Amitay Isaacs <amitay at ozlabs.org>
> ---
>  src/main.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/src/main.c b/src/main.c
> index f7f891a..09c236e 100644
> --- a/src/main.c
> +++ b/src/main.c
> @@ -513,6 +513,21 @@ static bool parse_options(int argc, char *argv[])
>  	return true;
>  }
>  
> +static bool child_enabled(struct pdbg_target *target)
> +{
> +	struct pdbg_target *child;
> +
> +	pdbg_for_each_child_target(target, child) {
> +		if (child_enabled(child))
> +			return true;
> +
> +		if (pdbg_target_status(child) == PDBG_TARGET_ENABLED)
> +			return true;
> +	}
> +
> +	return false;
> +}
> +
>  static void print_target(struct pdbg_target *target, int level)
>  {
>  	int i;
> @@ -520,6 +535,9 @@ static void print_target(struct pdbg_target *target, int level)
>  	enum pdbg_target_status status;
>  	const char *classname;
>  
> +	if (level == 0 && !child_enabled(target))
> +		return;
> +
>  	/* Does this target actually exist? */
>  	status = pdbg_target_status(target);
>  	if (status != PDBG_TARGET_ENABLED)
> 






More information about the Pdbg mailing list