projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Allow undo/redo of pasted text as a single item
[pspp]
/
src
/
output
/
journal.c
diff --git
a/src/output/journal.c
b/src/output/journal.c
index 6b7332771c0f5e7727ffe631c04d11e1ab63a5ac..10da4d8485391651bb0a2b90b60afe2b67bba5f7 100644
(file)
--- a/
src/output/journal.c
+++ b/
src/output/journal.c
@@
-64,7
+64,8
@@
journal_close (void)
if (journal != NULL && journal->file != NULL)
{
if (fwriteerror (journal->file))
if (journal != NULL && journal->file != NULL)
{
if (fwriteerror (journal->file))
- error (0, errno, _("error writing \"%s\""), journal_file_name);
+ error (0, errno, _("error writing output file \"%s\""),
+ journal_file_name);
journal->file = NULL;
}
}
journal->file = NULL;
}
}
@@
-89,13
+90,19
@@
journal_output (struct journal_driver *j, const char *s)
j->file = fopen (journal_file_name, "a");
if (j->file == NULL)
{
j->file = fopen (journal_file_name, "a");
if (j->file == NULL)
{
- error (0, errno, _("%s: open failed"), journal_file_name);
+ error (0, errno, _("error opening output file \"%s\""),
+ journal_file_name);
output_driver_destroy (&j->driver);
return;
}
}
fprintf (j->file, "%s\n", s);
output_driver_destroy (&j->driver);
return;
}
}
fprintf (j->file, "%s\n", s);
+
+ /* Flush the journal in case the syntax we're about to write
+ causes a crash. Having the syntax already written to disk
+ makes postmortem analysis of the problem possible. */
+ fflush (j->file);
}
static void
}
static void