chiark / gitweb /
New "show" command
[innduct.git] / cli.c
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(dumphere);
 
 /* 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 },
+  { "show",          ccmd_dumphere  },
 
   { "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;
-  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);
@@ -435,9 +433,20 @@ CCMD(dump) {
   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;
   }
 }
+
+CCMD(dumphere) {
+  dumpinfo(c,cc->out);
+  fprintf(cc->out, ".");
+}