chiark / gitweb /
New "show" command
authorIan Jackson <ian@chiark.greenend.org.uk>
Tue, 1 Jun 2010 16:33:23 +0000 (17:33 +0100)
committerIan Jackson <ian@chiark.greenend.org.uk>
Tue, 1 Jun 2010 16:33:23 +0000 (17:33 +0100)
cli.c
innduct.8

diff --git a/cli.c b/cli.c
index f34942f04cfb136286882874ed0cb2860a4f23de..e44a93949fbedf9f37fea5f169fb14051e7a762a 100644 (file)
--- a/cli.c
+++ b/cli.c
@@ -103,6 +103,7 @@ CCMD(stop) {
 CCMD(logstats) { showstats(); }
 
 CCMD(dump);
 CCMD(logstats) { showstats(); }
 
 CCMD(dump);
+CCMD(dumphere);
 
 /* messing with our head: */
 CCMD(period) { period(); }
 
 /* messing with our head: */
 CCMD(period) { period(); }
@@ -117,6 +118,7 @@ static const CliCommand cli_commands[]= {
   { "logstats",      ccmd_logstats  },
   { "dump q",        ccmd_dump, 0,0 },
   { "dump a",        ccmd_dump, 0,1 },
   { "logstats",      ccmd_logstats  },
   { "dump q",        ccmd_dump, 0,0 },
   { "dump a",        ccmd_dump, 0,1 },
+  { "show",          ccmd_dumphere  },
 
   { "p",             ccmd_period    },
 
 
   { "p",             ccmd_period    },
 
@@ -350,12 +352,8 @@ static void dump_input_file(FILE *f, const CliCommand *c,
   }
 }
 
   }
 }
 
-CCMD(dump) {
+static void dumpinfo(const CliCommand *c, FILE *f) {
   int i;
   int i;
-  fprintf(cc->out, "dumping state to %s\n", path_dump);
-  FILE *f= fopen(path_dump, "w");
-  if (!f) { fprintf(cc->out, "failed: open: %s\n", strerror(errno)); return; }
-
   fprintf(f,"general");
   DUMPV("%s", sms_names,[sms]);
   DUMPV("%d", ,until_flush);
   fprintf(f,"general");
   DUMPV("%s", sms_names,[sms]);
   DUMPV("%d", ,until_flush);
@@ -435,9 +433,20 @@ CCMD(dump) {
   DUMPV("%s", , path_dump);
   DUMPV("%s", , globpat_backlog);
   fprintf(f,"\n");
   DUMPV("%s", , path_dump);
   DUMPV("%s", , globpat_backlog);
   fprintf(f,"\n");
+}
 
 
+CCMD(dump) {
+  fprintf(cc->out, "dumping state to %s\n", path_dump);
+  FILE *f= fopen(path_dump, "w");
+  if (!f) { fprintf(cc->out, "failed: open: %s\n", strerror(errno)); return; }
+  dumpinfo(c,f);
   if (!!ferror(f) + !!fclose(f)) {
     fprintf(cc->out, "failed: write: %s\n", strerror(errno));
     return;
   }
 }
   if (!!ferror(f) + !!fclose(f)) {
     fprintf(cc->out, "failed: write: %s\n", strerror(errno));
     return;
   }
 }
+
+CCMD(dumphere) {
+  dumpinfo(c,cc->out);
+  fprintf(cc->out, ".");
+}
index e995464f245f8c74eae53b92544fcab4b6e49704..e77fe363fcb29827d7be97a59a6b8ca99d736013 100644 (file)
--- a/innduct.8
+++ b/innduct.8
@@ -186,8 +186,12 @@ Log statistics so far and zero the stats counters.  Stats are also
 logged periodically, when an input file is completed and just before
 tidy termination.
 .TP
 logged periodically, when an input file is completed and just before
 tidy termination.
 .TP
+.BR show
+Writes summary information about innduct's state to the current CLI
+connection.
+.TP
 .BR "dump q" | a
 .BR "dump q" | a
-Writes information about innduct's state to a plain text file
+Writes the same information about innduct's state to a plain text file
 .IR feedfile \fB_dump\fR.
 This overwrites any previous dump.  innduct does not ever delete these
 dump files.
 .IR feedfile \fB_dump\fR.
 This overwrites any previous dump.  innduct does not ever delete these
 dump files.