diff --git a/src/xspice/evt/evtprint.c b/src/xspice/evt/evtprint.c index c241ed9f5..7f899b1bd 100644 --- a/src/xspice/evt/evtprint.c +++ b/src/xspice/evt/evtprint.c @@ -17,6 +17,7 @@ AUTHORS MODIFICATIONS 7/11/2012 Holger Vogt Replace printf by out_printf to allow output redirection + 5/21/2017 Holger Vogt Update 'edisplay': add node type and number of events SUMMARY @@ -388,6 +389,8 @@ EVTdisplay(wordlist *wl) { Evt_Node_Info_t *node; CKTcircuit *ckt; + int node_index, udn_index; + Evt_Node_Info_t **node_table; NG_IGNORE(wl); ckt = g_mif_info.ckt; @@ -396,15 +399,32 @@ EVTdisplay(wordlist *wl) return; } node = ckt->evt->info.node_list; + node_table = ckt->evt->info.node_table; out_init(); if (!node) { out_printf("No event node available!\n"); return; } - out_printf("List of event nodes\n"); + out_printf("\nList of event nodes\n"); + out_printf(" %-20s: %-5s, %s\n\n", "node name", "type", "number of events"); + node_index = 0; while (node) { - out_printf("%s\n", node->name); + Evt_Node_t *node_data = NULL; + int count = 0; + char *type; + + udn_index = node_table[node_index]->udn_index; + if (ckt->evt->data.node) + node_data = ckt->evt->data.node->head[node_index]; + while (node_data) { + count++; + node_data = node_data->next; + } + type = g_evt_udn_info[udn_index]->name; + out_printf(" %-20s: %-5s, %5d\n", node->name, type, count); + node = node->next; + node_index++; } }