[Pdbg] [PATCH v5 18/30] main: Avoid printing top level "proc" if no child is enabled
Amitay Isaacs
amitay at ozlabs.org
Mon Oct 14 16:17:36 AEDT 2019
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)
--
2.21.0
More information about the Pdbg
mailing list