Another corner case: If there are no down links on a switch and "-d" is selected then the header for that switch should not be printed.
Ira From: Ira Weiny <[email protected]> Date: Thu, 30 Apr 2009 13:41:38 -0700 Subject: [PATCH] Clean up printing of switch heading when printing "down links" only. Signed-off-by: Ira Weiny <[email protected]> --- infiniband-diags/src/iblinkinfo.c | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/infiniband-diags/src/iblinkinfo.c b/infiniband-diags/src/iblinkinfo.c index 2454bf2..cf38ecb 100644 --- a/infiniband-diags/src/iblinkinfo.c +++ b/infiniband-diags/src/iblinkinfo.c @@ -205,13 +205,8 @@ void print_switch(ibnd_node_t *node, void *user_data) { int i = 0; - - if (!line_mode) { - char *remap = remap_node_name(node_name_map, node->guid, - node->nodedesc); - printf("Switch 0x%016"PRIx64" %s:\n", node->guid, remap); - free(remap); - } + int head_print = 0; + char *remap = remap_node_name(node_name_map, node->guid, node->nodedesc); for (i = 1; i <= node->numports; i++) { ibnd_port_t *port = node->ports[i]; @@ -219,9 +214,14 @@ print_switch(ibnd_node_t *node, void *user_data) continue; if (!down_links_only || mad_get_field(port->info, 0, IB_PORT_STATE_F) == IB_LINK_DOWN) { + if (!head_print && !line_mode) { + printf("Switch 0x%016"PRIx64" %s:\n", node->guid, remap); + head_print = 1; + } print_port(node, port); } } + free(remap); } void -- 1.5.4.5 _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
