/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
return xstrdup (fmt_to_string (settings_get_format (), str));
}
+static char *
+show_journal (const struct dataset *ds UNUSED)
+{
+ return (journal_is_enabled ()
+ ? xasprintf ("\"%s\"", journal_get_file_name ())
+ : xstrdup ("disabled"));
+}
+
static char *
show_length (const struct dataset *ds UNUSED)
{
{"ENVIRONMENT", show_system},
{"ERRORS", show_errors},
{"FORMAT", show_format},
+ {"JOURNAL", show_journal},
{"LENGTH", show_length},
{"LOCALE", show_locale},
{"MESSAGES", show_messages},
/* PSPP - a program for statistical analysis.
- Copyright (C) 2007, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2010, 2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
{
if (j->file == NULL)
{
- j->file = fopen (journal_file_name, "a");
+ j->file = fopen (journal_get_file_name (), "a");
if (j->file == NULL)
{
error (0, errno, _("error opening output file `%s'"),
- journal_file_name);
+ journal_get_file_name ());
output_driver_destroy (&j->driver);
return;
}
{
if (journal == NULL)
{
- /* If no journal file name is configured, use the default. */
- if (journal_file_name == NULL)
- {
- const char *output_path = default_output_path ();
- journal_file_name = xasprintf ("%s%s", output_path, "pspp.jnl");
- }
-
/* Create journal driver. */
journal = xzalloc (sizeof *journal);
output_driver_init (&journal->driver, &journal_class, "journal",
output_driver_destroy (&journal->driver);
}
+/* Returns true if journaling is enabled, false otherwise. */
+bool
+journal_is_enabled (void)
+{
+ return journal != NULL;
+}
+
/* Sets the name of the journal file to FILE_NAME. */
void
journal_set_file_name (const char *file_name)
free (journal_file_name);
journal_file_name = xstrdup (file_name);
}
+
+/* Returns the name of the journal file. The caller must not modify or free
+ the returned string. */
+const char *
+journal_get_file_name (void)
+{
+ if (journal_file_name == NULL)
+ {
+ const char *output_path = default_output_path ();
+ journal_file_name = xasprintf ("%s%s", output_path, "pspp.jnl");
+ }
+ return journal_file_name;
+}
/* PSPP - a program for statistical analysis.
- Copyright (C) 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
void journal_enable (void);
void journal_disable (void);
+bool journal_is_enabled (void);
void journal_set_file_name (const char *);
+const char *journal_get_file_name (void);
#endif /* output/journal.h */