]> granicus.if.org Git - graphviz/commitdiff
Allow memtest to quit after a few iterations
authorEmden Gansner <erg@research.att.com>
Fri, 14 Oct 2011 21:10:40 +0000 (17:10 -0400)
committerEmden Gansner <erg@research.att.com>
Fri, 14 Oct 2011 21:10:40 +0000 (17:10 -0400)
cmd/dot/dot.c
lib/common/args.c
lib/common/globals.h
lib/common/input.c

index 464a9731cf40fd85b6bd0d102e76fba7e90c90ea..d65d0e363aaea0883df8bf2ca5f0103150b8317f 100644 (file)
@@ -197,7 +197,7 @@ int main(int argc, char **argv)
 #endif
 
     if (MemTest) {
-       while (1) {
+       while (MemTest--) {
            /* Create a test graph */
            G = create_test_graph();
 
index 3139047dd8cc21e14184dd6a222565a285124743..7efa985b880184aaf5315c56bcbe53e22e1a6495 100644 (file)
@@ -77,7 +77,16 @@ memtest_extra_args(GVC_t *gvc, int argc, char** argv)
     arg = argv[i];
     if (arg && *arg == '-') {
       switch (arg[1]) {
-      case 'm' : MemTest = TRUE; break;
+      case 'm' :
+        if (arg[2]) {
+          MemTest = atoi(arg+2);
+          if (MemTest <= 0) {
+            fprintf (stderr, "Invalid parameter \"%s\" for -m flag\n", arg+2);
+            dotneato_usage (1);
+          }
+        }
+        else MemTest = -1;
+       break;
       default :
         cnt++;
         if (*p != arg) *p = arg;
index e7b9414b3aa6acc3eec692069e65dbd2f7396123..d9cfcd08068547f6f1c63eda2fab74f99d285bbf 100644 (file)
@@ -71,7 +71,8 @@ extern "C" {
     EXTERN char *Gvimagepath; /* Per-graph path of files allowed in image attributes  (also ps libs) */
 
     EXTERN unsigned char Verbose;
-    EXTERN boolean Reduce, MemTest;
+    EXTERN boolean Reduce;
+    EXTERN int MemTest;
     EXTERN char *HTTPServerEnVar;
     EXTERN char *Output_file_name;
     EXTERN int graphviz_errors;
index 2c4584e095a0064ce67ada1835d1d8a2654631f3..3cda3f30515878ce520034f3871e61ee405bd121 100644 (file)
@@ -53,9 +53,10 @@ static char *fdpItems = "\n\
  -LC<v>      - Set overlap expansion factor to v\n\
  -LT[*]<v>   - Set temperature (temperature factor) to v\n";
 
-static char *memtestFlags = "(additional options for memtest)  [-m]\n";
+static char *memtestFlags = "(additional options for memtest)  [-m<v>]\n";
 static char *memtestItems = "\n\
- -m          - Memory test (Observe no growth with top. Kill when done.)\n";
+ -m          - Memory test (Observe no growth with top. Kill when done.)\n\
+ -m[v]       - Memory test - v iterations.\n";
 
 static char *configFlags = "(additional options for config)  [-cv]\n";
 static char *configItems = "\n\