#include "exit.h"
#include "linebreak.h"
-#include <language/line-buffer.h>
+#include <libpspp/msg-locator.h>
+#include <libpspp/getl.h>
#include <data/settings.h>
#include <libpspp/message.h>
+#include <libpspp/str.h>
#include <errno.h>
+#include <stdio.h>
+
#include "gettext.h"
#define _(msgid) gettext (msgid)
static void handle_msg (const struct msg *);
-static FILE *msg_file;
+static FILE *msg_file ;
void
msg_ui_set_error_file (const char *filename)
}
void
-msg_ui_init (void)
+msg_ui_init (struct source_stream *ss)
{
msg_file = stdout;
msg_file = stdout;
}
}
- msg_init (handle_msg, get_msg_location);
+ msg_init (ss, handle_msg);
}
void
msg_ui_done (void)
{
msg_done ();
- fclose (msg_file);
+ msg_locator_done ();
+
+ if ( msg_file ) /* FIXME: do we really want to close stdout ?? */
+ fclose (msg_file);
}
-
/* Checks whether we've had so many errors that it's time to quit
processing this syntax file. */
void
-check_msg_count (void)
+check_msg_count (struct source_stream *ss)
{
- if (!getl_is_interactive ())
+ if (!getl_is_interactive (ss))
{
if (get_errorbreak () && error_count)
msg (MN, _("Terminating execution of syntax file due to error."));
else
return;
- getl_abort_noninteractive ();
+ getl_abort_noninteractive (ss);
}
}