#ifndef JOURNAL_H
#define JOURNAL_H
-int journal_open(void);
-int journal_close(void);
-void journal_entry(char *fmt, ...);
-
int journal_startup(void);
void journal_shutdown(void);
+int journal_reopen(void);
void journal_login(void);
void journal_logout(void);
-void journal_input(char *input);
+void journal_input(char *);
void journal_update(int);
#endif
static char journal_fname[] = "journal.log";
static FILE *journal;
-int
+static FILE *
journal_open(void)
{
- journal = fopen(journal_fname, "a+");
- return journal ? 0 : -1;
-}
-
-int
-journal_close(void)
-{
- FILE *j = journal;
- journal = NULL;
- return j ? fclose(j) : 0;
+ return fopen(journal_fname, "a+");
}
-void
+static void
journal_entry(char *fmt, ...)
{
static char buf[1024];
{
if (!keep_journal)
return 0;
- if (journal_open() < 0) {
+ journal = journal_open();
+ if (!journal) {
logerror("Can't open %s (%s)", journal_fname, strerror(errno));
return -1;
}
journal_shutdown(void)
{
journal_entry("shutdown");
- journal_close();
+ if (journal) {
+ fclose(journal);
+ journal = NULL;
+ }
+}
+
+int
+journal_reopen(void)
+{
+ FILE *j;
+
+ if (!keep_journal)
+ return 0;
+ j = journal_open();
+ if (!j) {
+ logerror("Can't open %s (%s)", journal_fname, strerror(errno));
+ return -1;
+ }
+ if (journal)
+ fclose(journal);
+ journal = j;
+ return 0;
}
void