]> git.pond.sub.org Git - empserver/blobdiff - src/lib/subs/journal.c
New journal event output
[empserver] / src / lib / subs / journal.c
index 90c34a62a01f375b6d8541466dd2ae36b368bd7e..e0ec176261ef7d88af598021e4263b6e49c2a4c8 100644 (file)
@@ -46,6 +46,7 @@
  *     logout CNUM
  *     command NAME
  *     input INPUT
+ *     output THREAD ID OUTPUT
  *     update ETU
  */
 
@@ -99,7 +100,8 @@ journal_entry(char *fmt, ...)
                fprintf(journal, "\\%03o", *p);
        }
        fputs("\n", journal);
-       fflush(journal);
+       if (fmt[0] != 'o')      /* FIXME disgusting hack */
+           fflush(journal);
        if (ferror(journal)) {
            logerror("Error writing journal (%s)", strerror(errno));
            clearerr(journal);
@@ -168,6 +170,17 @@ journal_logout(void)
     journal_entry("logout %d", player->cnum);
 }
 
+void
+journal_output(struct player *pl, int id, char *output)
+{
+    if (keep_journal < 2)
+       return;
+    if (pl && pl->state == PS_PLAYING)
+       journal_entry("output %d %d %s", pl->cnum, id, output);
+    else
+       journal_entry("output %p %d %s", pl, id, output);
+}
+
 void
 journal_input(char *input)
 {