]> granicus.if.org Git - graphviz/commitdiff
Add a totally silent mode to sccmap, so that no statistics are printed.
authorerg <devnull@localhost>
Wed, 15 Oct 2008 22:59:43 +0000 (22:59 +0000)
committererg <devnull@localhost>
Wed, 15 Oct 2008 22:59:43 +0000 (22:59 +0000)
cmd/tools/sccmap.1
cmd/tools/sccmap.c

index b8e8024cb4ddb5a53a605568f58dc20b68d46050..b9da082643e63a7c6e89df9198e50c59c6759c97 100644 (file)
@@ -27,6 +27,9 @@ Preserve degenerate components of only one node.
 Do not print the resulting graphs. Only the statistics are
 important.
 .TP
+.B \-S
+Just print the resulting graphs. No statistics are printed.
+.TP
 .B \-v
 Generate additional statistics. In particular,
 .B sccmap
index 4cb0bc347dc3309dded73ffcb8f65120b19404da..55e9a7fbb4efcd7faf95db889efc8c9ac896066e 100644 (file)
@@ -140,6 +140,7 @@ typedef struct {
 
 int wantDegenerateComp;
 int Silent;
+int StatsOnly;
 int Verbose;
 char *CmdName;
 char **Files;
@@ -206,7 +207,7 @@ static int visit(Agnode_t * n, Agraph_t * map, Stack * sp, sccstate * st)
                st->N_nodes_in_nontriv_SCC++;
            } while (t != n);
            nodeInduce(subg, map);
-           if (!Silent)
+           if (!StatsOnly)
                agwrite(subg, stdout);
        }
     }
@@ -292,7 +293,7 @@ static void process(Agraph_t * G)
        if (getval(n) == 0)
            visit(n, map, &stack, &state);
     freeStack(&stack);
-    if (!Silent)
+    if (!StatsOnly)
        agwrite(map, stdout);
     agclose(map);
 
@@ -301,14 +302,15 @@ static void process(Agraph_t * G)
                agnnodes(G), agnedges(G), nc, state.Comp,
                state.N_nodes_in_nontriv_SCC / (double) agnnodes(G),
                Maxdegree, nontree_frac);
-    else
+    else if (!Silent)
        fprintf(stderr, "%d nodes, %d edges, %d strong components\n",
                agnnodes(G), agnedges(G), state.Comp);
 
 }
 
 static char *useString = "Usage: %s [-sdv?] <files>\n\
-  -s - silent\n\
+  -s - only produce statistics\n\
+  -S - silent\n\
   -d - allow degenerate components\n\
   -v - verbose\n\
   -? - print usage\n\
@@ -325,10 +327,10 @@ static void scanArgs(int argc, char **argv)
     int c;
 
     CmdName = argv[0];
-    while ((c = getopt(argc, argv, ":sdv?")) != EOF) {
+    while ((c = getopt(argc, argv, ":sdvS?")) != EOF) {
        switch (c) {
        case 's':
-           Silent = 1;
+           StatsOnly = 1;
            break;
        case 'd':
            wantDegenerateComp = 1;
@@ -336,6 +338,10 @@ static void scanArgs(int argc, char **argv)
        case 'v':
            Verbose = 1;
            break;
+       case 'S':
+           Verbose = 0;
+           Silent = 1;
+           break;
        case '?':
            if (optopt == '?')
                usage(0);